diff --git a/verification/CurveField.llbc b/verification/CurveField.llbc index a686dc8..6fa4448 100644 --- a/verification/CurveField.llbc +++ b/verification/CurveField.llbc @@ -1 +1 @@ -{"charon_version":"0.1.212","translated":{"crate_name":"curve25519","options":{"ullbc":false,"precise_drops":false,"skip_borrowck":false,"mir":null,"rustc_args":[],"targets":[],"monomorphize":false,"monomorphize_mut":null,"start_from":["crate::field","crate::backend::serial::u64::field","crate::backend::serial::curve_models","crate::edwards"],"start_from_if_exists":[],"start_from_attribute":null,"start_from_pub":false,"include":[],"opaque":["crate::field::_::internal_invert_batch","crate::backend::serial::scalar_mul","crate::backend::vector","crate::backend::get_selected_backend","crate::backend::scalar_fits_in_128_bits","crate::edwards::decompress","crate::edwards::_::sum","crate::edwards::_::from_slice"],"exclude":[],"extract_opaque_bodies":false,"translate_all_methods":false,"duplicate_defaulted_methods":true,"lift_associated_types":["*"],"hide_marker_traits":true,"remove_adt_clauses":true,"hide_allocator":true,"remove_unused_self_clauses":true,"desugar_drops":false,"ops_to_function_calls":true,"index_to_function_calls":true,"treat_box_as_builtin":true,"raw_consts":false,"unsized_strings":false,"reconstruct_fallible_operations":true,"reconstruct_asserts":true,"unbind_item_vars":true,"print_original_ullbc":false,"print_ullbc":false,"print_built_llbc":false,"print_llbc":false,"dest_dir":null,"dest_file":"/home/oho/GitClone/Claude/FormalVerification/anza-ed25519-verified/verification/CurveField.llbc","no_dedup_serialized_ast":false,"format":null,"no_serialize":false,"no_typecheck":false,"no_normalize":false,"abort_on_error":false,"error_on_warnings":false,"preset":"Aeneas"},"target_information":[{"key":"x86_64-unknown-linux-gnu","value":{"target_pointer_size":8,"is_little_endian":true}}],"files":[{"id":0,"name":{"Local":"curve25519/solana-ed25519/src/lib.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n#![no_std]\n#![cfg_attr(docsrs, feature(doc_cfg))]\n#![cfg_attr(docsrs, doc(auto_cfg(hide(docsrs))))]\n//------------------------------------------------------------------------\n// Documentation:\n//------------------------------------------------------------------------\n#![doc(\n html_logo_url = \"https://cdn.jsdelivr.net/gh/dalek-cryptography/curve25519/docs/assets/dalek-logo-clear.png\"\n)]\n#![doc = include_str!(\"../README.md\")]\n//------------------------------------------------------------------------\n// Linting:\n//------------------------------------------------------------------------\n#![cfg_attr(allow_unused_unsafe, allow(unused_unsafe))]\n#![warn(\n clippy::mod_module_files,\n clippy::unwrap_used,\n missing_docs,\n rust_2018_idioms,\n unused_lifetimes,\n unused_qualifications\n)]\n\n//------------------------------------------------------------------------\n// External dependencies:\n//------------------------------------------------------------------------\n\n#[cfg(feature = \"alloc\")]\n#[allow(unused_imports)]\n#[macro_use]\nextern crate alloc;\n\n// TODO: move std-dependent tests to `tests/`\n#[cfg(any(test, feature = \"std\"))]\n#[macro_use]\nextern crate std;\n\n#[cfg(feature = \"digest\")]\npub use digest;\n\n// Internal macros. Must come first!\n#[macro_use]\npub(crate) mod macros;\n\n//------------------------------------------------------------------------\n// curve25519 public modules\n//------------------------------------------------------------------------\n\n// Scalar arithmetic mod l = 2^252 + ..., the order of the Ristretto group\npub mod scalar;\n\n// Point operations on the Montgomery form of Curve25519\npub mod montgomery;\n\n// Point operations on the Edwards form of Curve25519\npub mod edwards;\n\n// Point operations on the short Weierstrass form of Curve25519\npub mod short_weierstrass;\n\n// Group operations on the Ristretto group\npub mod ristretto;\n\n// Useful constants, like the Ed25519 basepoint\npub mod constants;\n\n// External (and internal) traits.\npub mod traits;\n\n//------------------------------------------------------------------------\n// ed25519 public modules\n//------------------------------------------------------------------------\n\npub mod ed_sigs;\n\n//------------------------------------------------------------------------\n// curve25519 internal modules\n//------------------------------------------------------------------------\n\n// Finite field arithmetic mod p = 2^255 - 19\npub(crate) mod field;\n\n// Arithmetic backends (using u32, u64, etc) live here\n#[cfg(docsrs)]\npub mod backend;\n#[cfg(not(docsrs))]\npub(crate) mod backend;\n\n// Generic code for window lookups\npub(crate) mod window;\n\n#[cfg(feature = \"lizard\")]\nmod lizard;\n\npub use crate::{\n edwards::EdwardsPoint, montgomery::MontgomeryPoint, ristretto::RistrettoPoint, scalar::Scalar,\n};\n\n// Build time diagnostics for validation\n#[cfg(curve25519_diagnostics = \"build\")]\nmod diagnostics;\n"},{"id":1,"name":{"Local":"curve25519/solana-ed25519/src/field.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis agora lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - Isis Agora Lovecruft \n// - Henry de Valence \n\n//! Field arithmetic modulo \\\\(p = 2\\^{255} - 19\\\\).\n//!\n//! The `curve25519::field` module provides a type alias\n//! `curve25519::field::FieldElement` to a field element type\n//! defined in the `backend` module; either `FieldElement51` or\n//! `FieldElement2625`.\n//!\n//! Field operations defined in terms of machine\n//! operations, such as field multiplication or squaring, are defined in\n//! the backend implementation.\n//!\n//! Field operations defined in terms of other field operations, such as\n//! field inversion or square roots, are defined here.\n\n#![allow(unused_qualifications)]\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\n\nuse crate::backend;\nuse crate::constants;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\n#[cfg(feature = \"digest\")]\nuse digest::{\n Digest, FixedOutput, HashMarker,\n array::{Array, typenum::U64},\n block_api::BlockSizeUser,\n typenum::{IsGreater, True},\n};\n\n/// A `FieldElement` represents an element of the field\n/// \\\\( \\mathbb Z / (2\\^{255} - 19)\\\\).\n///\n/// The `FieldElement` type is pinned to the 64-bit serial implementation.\npub(crate) type FieldElement = backend::serial::u64::field::FieldElement51;\n\nimpl Eq for FieldElement {}\n\nimpl PartialEq for FieldElement {\n fn eq(&self, other: &FieldElement) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl ConstantTimeEq for FieldElement {\n /// Test equality between two `FieldElement`s. Since the\n /// internal representation is not canonical, the field elements\n /// are normalized to wire format before comparison.\n fn ct_eq(&self, other: &FieldElement) -> Choice {\n self.to_bytes().ct_eq(&other.to_bytes())\n }\n}\n\nimpl Default for FieldElement {\n fn default() -> Self {\n FieldElement::ZERO\n }\n}\n\nimpl FieldElement {\n /// Load a `FieldElement` from 64 bytes, by reducing modulo q.\n #[cfg(feature = \"digest\")]\n pub(crate) fn from_bytes_wide(bytes: &[u8; 64]) -> Self {\n let mut fl = [0u8; 32];\n let mut gl = [0u8; 32];\n fl.copy_from_slice(&bytes[..32]);\n gl.copy_from_slice(&bytes[32..]);\n // Mask off the top bits of both halves, since from_bytes masks them off anyway. We'll add\n // them back in later.\n let fl_top_bit = (fl[31] >> 7) as u16;\n let gl_top_bit = (gl[31] >> 7) as u16;\n fl[31] &= 0x7f;\n gl[31] &= 0x7f;\n\n // Interpret both sides as field elements\n let mut fe_f = Self::from_bytes(&fl);\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut fe_g = Self::from_bytes(&gl);\n\n // The full field elem is now fe_f + 2²⁵⁵ fl_top_bit + 2²⁵⁶ fe_g + 2⁵¹¹ gl_top_bit\n\n // Add the masked off bits back to fe_f. fl_top_bit, if set, is 2^255 ≡ 19 (mod q).\n // gl_top_bit, if set, is 2^511 ≡ 722 (mod q)\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut top_bits_sum = {\n // This only need to be a u16 because the max value is 741\n let addend: u16 = fl_top_bit * 19 + gl_top_bit * 722;\n let mut addend_bytes = [0u8; 32];\n addend_bytes[..2].copy_from_slice(&addend.to_le_bytes());\n let top_bits_sum = Self::from_bytes(&addend_bytes);\n\n #[cfg(feature = \"zeroize\")]\n addend_bytes.zeroize();\n\n top_bits_sum\n };\n fe_f += &top_bits_sum;\n\n // Now add the high half into fe_f. The RHS is multiplied by 2^256 ≡ 38 (mod q)\n const THIRTY_EIGHT: FieldElement = FieldElement::from_bytes(&[\n 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ]);\n fe_f += &(&THIRTY_EIGHT * &fe_g);\n\n #[cfg(feature = \"zeroize\")]\n {\n fl.zeroize();\n gl.zeroize();\n fe_g.zeroize();\n top_bits_sum.zeroize();\n }\n\n fe_f\n }\n\n /// Determine if this `FieldElement` is negative, in the sense\n /// used in the ed25519 paper: `x` is negative if the low bit is\n /// set.\n ///\n /// # Return\n ///\n /// If negative, return `Choice(1)`. Otherwise, return `Choice(0)`.\n pub(crate) fn is_negative(&self) -> Choice {\n let bytes = self.to_bytes();\n (bytes[0] & 1).into()\n }\n\n /// Determine if this `FieldElement` is zero.\n ///\n /// # Return\n ///\n /// If zero, return `Choice(1)`. Otherwise, return `Choice(0)`.\n pub(crate) fn is_zero(&self) -> Choice {\n let zero = [0u8; 32];\n let bytes = self.to_bytes();\n\n bytes.ct_eq(&zero)\n }\n\n /// Compute (self^(2^250-1), self^11), used as a helper function\n /// within invert() and pow22523().\n #[rustfmt::skip] // keep alignment of explanatory comments\n fn pow22501(&self) -> (FieldElement, FieldElement) {\n // Instead of managing which temporary variables are used\n // for what, we define as many as we need and leave stack\n // allocation to the compiler\n //\n // Each temporary variable t_i is of the form (self)^e_i.\n // Squaring t_i corresponds to multiplying e_i by 2,\n // so the pow2k function shifts e_i left by k places.\n // Multiplying t_i and t_j corresponds to adding e_i + e_j.\n //\n // Temporary t_i Nonzero bits of e_i\n //\n let t0 = self.square(); // 1 e_0 = 2^1\n let t1 = t0.square().square(); // 3 e_1 = 2^3\n let t2 = self * &t1; // 3,0 e_2 = 2^3 + 2^0\n let t3 = &t0 * &t2; // 3,1,0\n let t4 = t3.square(); // 4,2,1\n let t5 = &t2 * &t4; // 4,3,2,1,0\n let t6 = t5.pow2k(5); // 9,8,7,6,5\n let t7 = &t6 * &t5; // 9,8,7,6,5,4,3,2,1,0\n let t8 = t7.pow2k(10); // 19..10\n let t9 = &t8 * &t7; // 19..0\n let t10 = t9.pow2k(20); // 39..20\n let t11 = &t10 * &t9; // 39..0\n let t12 = t11.pow2k(10); // 49..10\n let t13 = &t12 * &t7; // 49..0\n let t14 = t13.pow2k(50); // 99..50\n let t15 = &t14 * &t13; // 99..0\n let t16 = t15.pow2k(100); // 199..100\n let t17 = &t16 * &t15; // 199..0\n let t18 = t17.pow2k(50); // 249..50\n let t19 = &t18 * &t13; // 249..0\n\n (t19, t3)\n }\n\n /// Given a slice of pub(crate)lic `FieldElements`, replace each with its inverse.\n ///\n /// When an input `FieldElement` is zero, its value is unchanged.\n #[cfg(feature = \"alloc\")]\n pub(crate) fn invert_batch_alloc(inputs: &mut [FieldElement]) {\n let n = inputs.len();\n let mut scratch = vec![FieldElement::ONE; n];\n\n Self::internal_invert_batch(inputs, &mut scratch);\n\n #[cfg(feature = \"zeroize\")]\n scratch.zeroize();\n }\n\n /// Given a slice of pub(crate)lic `FieldElements`, replace each with its inverse. `scratch` can\n /// contain anything, so long as its length is the same as `inputs`.\n ///\n /// When an input `FieldElement` is zero, its value is unchanged.\n ///\n /// # Panics\n /// Panics when `scratch.len() != inputs.len()`\n fn internal_invert_batch(inputs: &mut [FieldElement], scratch: &mut [FieldElement]) {\n // Montgomery’s Trick and Fast Implementation of Masked AES\n // Genelle, Prouff and Quisquater\n // Section 3.2\n\n debug_assert_eq!(inputs.len(), scratch.len());\n\n // Keep an accumulator of all of the previous products\n let mut acc = FieldElement::ONE;\n\n // Pass through the input vector, recording the previous\n // products in the scratch space\n for (input, scratch) in inputs.iter().zip(scratch.iter_mut()) {\n *scratch = acc;\n // acc <- acc * input, but skipping zeros (constant-time)\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut product = &acc * input;\n acc.conditional_assign(&product, !input.is_zero());\n\n #[cfg(feature = \"zeroize\")]\n product.zeroize();\n }\n\n // acc is nonzero because we skipped zeros in inputs\n assert!(bool::from(!acc.is_zero()));\n\n // Compute the inverse of all products\n acc = acc.invert();\n\n // Pass through the vector backwards to compute the inverses\n // in place\n for (input, scratch) in inputs.iter_mut().rev().zip(scratch.iter_mut().rev()) {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut tmp = &acc * input;\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut inverse = &acc * scratch;\n // input <- acc * scratch, then acc <- tmp\n // Again, we skip zeros in a constant-time way\n let nz = !input.is_zero();\n input.conditional_assign(&inverse, nz);\n acc.conditional_assign(&tmp, nz);\n\n #[cfg(feature = \"zeroize\")]\n {\n tmp.zeroize();\n inverse.zeroize();\n }\n }\n\n #[cfg(feature = \"zeroize\")]\n {\n acc.zeroize();\n scratch.zeroize();\n }\n }\n\n /// Given a nonzero field element, compute its inverse.\n ///\n /// The inverse is computed as self^(p-2), since\n /// x^(p-2)x = x^(p-1) = 1 (mod p).\n ///\n /// This function returns zero on input zero.\n #[rustfmt::skip] // keep alignment of explanatory comments\n #[allow(clippy::let_and_return)]\n pub(crate) fn invert(&self) -> FieldElement {\n // The bits of p-2 = 2^255 -19 -2 are 11010111111...11.\n //\n // nonzero bits of exponent\n let (t19, t3) = self.pow22501(); // t19: 249..0 ; t3: 3,1,0\n let t20 = t19.pow2k(5); // 254..5\n let t21 = &t20 * &t3; // 254..5,3,1,0\n\n t21\n }\n\n /// Raise this field element to the power (p-5)/8 = 2^252 -3.\n #[rustfmt::skip] // keep alignment of explanatory comments\n #[allow(clippy::let_and_return)]\n pub(crate) fn pow_p58(&self) -> FieldElement {\n // The bits of (p-5)/8 are 101111.....11.\n //\n // nonzero bits of exponent\n let (t19, _) = self.pow22501(); // 249..0\n let t20 = t19.pow2k(2); // 251..2\n let t21 = self * &t20; // 251..2,0\n\n t21\n }\n\n /// Given `FieldElements` `u` and `v`, compute either `sqrt(u/v)`\n /// or `sqrt(i*u/v)` in constant time.\n ///\n /// This function always returns the nonnegative square root.\n ///\n /// # Return\n ///\n /// - `(Choice(1), +sqrt(u/v)) ` if `v` is nonzero and `u/v` is square;\n /// - `(Choice(1), zero) ` if `u` is zero;\n /// - `(Choice(0), zero) ` if `v` is zero and `u` is nonzero;\n /// - `(Choice(0), +sqrt(i*u/v))` if `u/v` is nonsquare (so `i*u/v` is square).\n ///\n pub(crate) fn sqrt_ratio_i(u: &FieldElement, v: &FieldElement) -> (Choice, FieldElement) {\n // Using the same trick as in ed25519 decoding, we merge the\n // inversion, the square root, and the square test as follows.\n //\n // To compute sqrt(α), we can compute β = α^((p+3)/8).\n // Then β^2 = ±α, so multiplying β by sqrt(-1) if necessary\n // gives sqrt(α).\n //\n // To compute 1/sqrt(α), we observe that\n // 1/β = α^(p-1 - (p+3)/8) = α^((7p-11)/8)\n // = α^3 * (α^7)^((p-5)/8).\n //\n // We can therefore compute sqrt(u/v) = sqrt(u)/sqrt(v)\n // by first computing\n // r = u^((p+3)/8) v^(p-1-(p+3)/8)\n // = u u^((p-5)/8) v^3 (v^7)^((p-5)/8)\n // = (uv^3) (uv^7)^((p-5)/8).\n //\n // If v is nonzero and u/v is square, then r^2 = ±u/v,\n // so vr^2 = ±u.\n // If vr^2 = u, then sqrt(u/v) = r.\n // If vr^2 = -u, then sqrt(u/v) = r*sqrt(-1).\n //\n // If v is zero, r is also zero.\n\n let v3 = &v.square() * v;\n let v7 = &v3.square() * v;\n let mut r = &(u * &v3) * &(u * &v7).pow_p58();\n let check = v * &r.square();\n\n let i = &constants::SQRT_M1;\n\n let correct_sign_sqrt = check.ct_eq(u);\n let flipped_sign_sqrt = check.ct_eq(&(-u));\n let flipped_sign_sqrt_i = check.ct_eq(&(&(-u) * i));\n\n let r_prime = &constants::SQRT_M1 * &r;\n r.conditional_assign(&r_prime, flipped_sign_sqrt | flipped_sign_sqrt_i);\n\n // Choose the nonnegative square root.\n //\n // NOTE: written as negate-then-conditional-assign rather than\n // `r.conditional_negate(r_is_negative)`: semantically identical and\n // still constant-time, but it avoids subtle's `ConditionallyNegatable`\n // blanket impl (whose `for<'a> &'a T: Neg` bound breaks the Aeneas\n // verification toolchain; see verification/field/README.md).\n let r_is_negative = r.is_negative();\n let r_neg = -&r;\n r.conditional_assign(&r_neg, r_is_negative);\n\n let was_nonzero_square = correct_sign_sqrt | flipped_sign_sqrt;\n\n (was_nonzero_square, r)\n }\n\n /// Attempt to compute `sqrt(1/self)` in constant time.\n ///\n /// Convenience wrapper around `sqrt_ratio_i`.\n ///\n /// This function always returns the nonnegative square root.\n ///\n /// # Return\n ///\n /// - `(Choice(1), +sqrt(1/self)) ` if `self` is a nonzero square;\n /// - `(Choice(0), zero) ` if `self` is zero;\n /// - `(Choice(0), +sqrt(i/self)) ` if `self` is a nonzero nonsquare;\n ///\n pub(crate) fn invsqrt(&self) -> (Choice, FieldElement) {\n FieldElement::sqrt_ratio_i(&FieldElement::ONE, self)\n }\n\n #[cfg(feature = \"digest\")]\n /// Hashes the given message and domain separator to produce `COUNT` [`FieldElement`]s, per RFC\n /// 9380. The hash's input is the concatenation of the elements of `msg`. Likewise for the\n /// domain separator with `domain_sep`. At least one element of `domain_sep`, MUST be nonempty,\n /// its concatenation MUST NOT exceed 255 bytes, and `COUNT` MUST be 1 or 2.\n ///\n /// The specification names SHA-512 as an example of a secure hash to use with this function,\n /// but you may use any 512-bit hash within reason (see the\n /// [`spec`](https://www.rfc-editor.org/rfc/rfc9380.html#section-5.2) for details).\n ///\n /// # Panics\n /// Panics if `domain_sep.collect().len() == 0` or `> 255`. Also panics if `COUNT > 2` or\n /// `COUNT == 0`.\n pub fn hash_to_field(\n msg: &[&[u8]],\n domain_sep: &[&[u8]],\n ) -> [Self; COUNT]\n where\n D: BlockSizeUser + Default + FixedOutput + HashMarker,\n D::BlockSize: IsGreater,\n {\n // We only use `hash_to_field` for Elligator2, which uses 0 < COUNT <= 2\n assert!(COUNT == 1 || COUNT == 2);\n\n // §5.2, we generate count * m * L = COUNT * 1 * (256 + 128)/8 bytes\n let len_in_bytes = COUNT * 48;\n // Buffer should hold however many digests we need to produce len_in_bytes bytes.\n // len_in_bytes is at most 2*48=96, and the digest is 64B. So that's 2 digests, or 128B\n let mut buf = [0u8; 128];\n // We can call this without worrying about panics: len_in_bytes is at most 96, and buf is\n // bigger than it. Further, if `domain_sep` is too large, that's also a panic condition of\n // this function so it's fine\n let uniform_bytes = expand_msg_xmd::(msg, domain_sep, &mut buf, len_in_bytes);\n\n let mut result = [FieldElement::ONE; COUNT];\n for i in 0..COUNT {\n let mut bytes_wide = [0u8; 64];\n bytes_wide[..48].copy_from_slice(&uniform_bytes[48 * i..48 * (i + 1)]);\n bytes_wide[..48].reverse();\n\n result[i] = FieldElement::from_bytes_wide(&bytes_wide);\n }\n\n result\n }\n}\n\n/// Hashes the concatenation of the elements of `msg` with domain separator equal to the\n/// concatenation of `domain_sep`. The output is an `outlen`-length slice into `buf`. Follows\n/// https://www.rfc-editor.org/rfc/rfc9380.html#section-5.3.1\n///\n/// # Panics\n/// Panics if the domain separator is empty, if the total length of the domain separator is more\n/// than 255 bytes, if `outlen` is more than `255 * D::output_size()`, if `outlen is more than\n/// 65535, or if `dst.len() < outlen`.\n#[cfg(feature = \"digest\")]\nfn expand_msg_xmd<'a, D>(\n msg: &[&[u8]],\n domain_sep: &[&[u8]],\n buf: &'a mut [u8],\n outlen: usize,\n) -> &'a [u8]\nwhere\n D: BlockSizeUser + Default + FixedOutput + HashMarker,\n{\n use core::iter::once;\n\n // The notation we use in this function is the same as in the spec\n let len_in_bytes = u16::try_from(outlen).expect(\"outlen must not exceed 65535\");\n\n assert!(buf.len() >= outlen);\n let ell = u8::try_from((len_in_bytes as usize).div_ceil(D::output_size()))\n .expect(\"output length cannot exceed 255 times digest size\");\n let domain_sep_len = u8::try_from(domain_sep.iter().map(|c| c.len()).sum::())\n .expect(\"unexpected overflow from domain separator's size.\");\n assert_ne!(\n domain_sep_len, 0,\n \"domain separator MUST have nonzero length.\"\n );\n\n let domain_sep_len_slice = &[domain_sep_len][..];\n let dst_prime = domain_sep.iter().copied().chain(once(domain_sep_len_slice));\n let z_pad = Array::::default();\n let l_i_b_str = len_in_bytes.to_be_bytes();\n\n // Collect the components of msg_prime\n let msg_prime = once(z_pad.as_slice())\n .chain(msg.iter().copied())\n .chain(once(l_i_b_str.as_slice()))\n .chain(once(&[0u8][..]))\n .chain(dst_prime.clone());\n // Hash all of msg_prime\n let b_0 = msg_prime\n .fold(D::new(), |h, slice| h.chain_update(slice))\n .finalize();\n\n // Collect the input components for the b_1 hash\n let b_1_input = once(b_0.as_slice())\n .chain(once(&[1u8][..]))\n .chain(dst_prime.clone());\n let b_1 = b_1_input\n .fold(D::new(), |h, slice| h.chain_update(slice))\n .finalize();\n // Write b_1 to the output buffer\n buf[..D::output_size()].copy_from_slice(&b_1);\n\n for i in 2..=ell {\n // Get the last digest we produced\n let i_ = i as usize;\n let last_b = &buf[(i_ - 2) * D::output_size()..(i_ - 1) * D::output_size()];\n // XOR it with b_0\n let mut xor_bs = b_0.clone();\n xor_bs\n .as_mut_slice()\n .iter_mut()\n .zip(last_b)\n .for_each(|(l, r)| *l ^= *r);\n\n // Hash (b_0 ^ b_{i-1}) || i || dst_prime\n let i_slice = &[i][..];\n let b_i_input = once(xor_bs.as_slice())\n .chain(once(i_slice))\n .chain(dst_prime.clone());\n let b_i = b_i_input\n .fold(D::new(), |h, slice| h.chain_update(slice))\n .finalize();\n\n // Write b_i to the output buffer\n buf[(i_ - 1) * D::output_size()..i_ * D::output_size()].copy_from_slice(&b_i);\n }\n\n &buf[..outlen]\n}\n\n#[cfg(test)]\nmod test {\n use crate::field::*;\n use subtle::ConditionallyNegatable;\n\n /// Random element a of GF(2^255-19), from Sage\n /// a = 1070314506888354081329385823235218444233221\\\n /// 2228051251926706380353716438957572\n static A_BYTES: [u8; 32] = [\n 0x04, 0xfe, 0xdf, 0x98, 0xa7, 0xfa, 0x0a, 0x68, 0x84, 0x92, 0xbd, 0x59, 0x08, 0x07, 0xa7,\n 0x03, 0x9e, 0xd1, 0xf6, 0xf2, 0xe1, 0xd9, 0xe2, 0xa4, 0xa4, 0x51, 0x47, 0x36, 0xf3, 0xc3,\n 0xa9, 0x17,\n ];\n\n /// Byte representation of a**2\n static ASQ_BYTES: [u8; 32] = [\n 0x75, 0x97, 0x24, 0x9e, 0xe6, 0x06, 0xfe, 0xab, 0x24, 0x04, 0x56, 0x68, 0x07, 0x91, 0x2d,\n 0x5d, 0x0b, 0x0f, 0x3f, 0x1c, 0xb2, 0x6e, 0xf2, 0xe2, 0x63, 0x9c, 0x12, 0xba, 0x73, 0x0b,\n 0xe3, 0x62,\n ];\n\n /// Byte representation of 1/a\n static AINV_BYTES: [u8; 32] = [\n 0x96, 0x1b, 0xcd, 0x8d, 0x4d, 0x5e, 0xa2, 0x3a, 0xe9, 0x36, 0x37, 0x93, 0xdb, 0x7b, 0x4d,\n 0x70, 0xb8, 0x0d, 0xc0, 0x55, 0xd0, 0x4c, 0x1d, 0x7b, 0x90, 0x71, 0xd8, 0xe9, 0xb6, 0x18,\n 0xe6, 0x30,\n ];\n\n /// Byte representation of a^((p-5)/8)\n static AP58_BYTES: [u8; 32] = [\n 0x6a, 0x4f, 0x24, 0x89, 0x1f, 0x57, 0x60, 0x36, 0xd0, 0xbe, 0x12, 0x3c, 0x8f, 0xf5, 0xb1,\n 0x59, 0xe0, 0xf0, 0xb8, 0x1b, 0x20, 0xd2, 0xb5, 0x1f, 0x15, 0x21, 0xf9, 0xe3, 0xe1, 0x61,\n 0x21, 0x55,\n ];\n\n #[test]\n fn a_mul_a_vs_a_squared_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let asq = FieldElement::from_bytes(&ASQ_BYTES);\n assert_eq!(asq, &a * &a);\n }\n\n #[test]\n fn a_square_vs_a_squared_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let asq = FieldElement::from_bytes(&ASQ_BYTES);\n assert_eq!(asq, a.square());\n }\n\n #[test]\n fn a_square2_vs_a_squared_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let asq = FieldElement::from_bytes(&ASQ_BYTES);\n assert_eq!(a.square2(), &asq + &asq);\n }\n\n #[test]\n fn a_invert_vs_inverse_of_a_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let ainv = FieldElement::from_bytes(&AINV_BYTES);\n let should_be_inverse = a.invert();\n assert_eq!(ainv, should_be_inverse);\n assert_eq!(FieldElement::ONE, &a * &should_be_inverse);\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn invert_batch_a_matches_nonbatched() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let ap58 = FieldElement::from_bytes(&AP58_BYTES);\n let asq = FieldElement::from_bytes(&ASQ_BYTES);\n let ainv = FieldElement::from_bytes(&AINV_BYTES);\n let a0 = &a - &a;\n let a2 = &a + &a;\n let a_list = vec![a, ap58, asq, ainv, a0, a2];\n let mut ainv_list = a_list.clone();\n FieldElement::invert_batch_alloc(&mut ainv_list[..]);\n for i in 0..6 {\n assert_eq!(a_list[i].invert(), ainv_list[i]);\n }\n }\n\n #[test]\n fn sqrt_ratio_behavior() {\n let zero = FieldElement::ZERO;\n let one = FieldElement::ONE;\n let i = constants::SQRT_M1;\n let two = &one + &one; // 2 is nonsquare mod p.\n let four = &two + &two; // 4 is square mod p.\n\n // 0/0 should return (1, 0) since u is 0\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&zero, &zero);\n assert!(bool::from(choice));\n assert_eq!(sqrt, zero);\n assert!(bool::from(!sqrt.is_negative()));\n\n // 1/0 should return (0, 0) since v is 0, u is nonzero\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&one, &zero);\n assert!(bool::from(!choice));\n assert_eq!(sqrt, zero);\n assert!(bool::from(!sqrt.is_negative()));\n\n // 2/1 is nonsquare, so we expect (0, sqrt(i*2))\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&two, &one);\n assert!(bool::from(!choice));\n assert_eq!(sqrt.square(), &two * &i);\n assert!(bool::from(!sqrt.is_negative()));\n\n // 4/1 is square, so we expect (1, sqrt(4))\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&four, &one);\n assert!(bool::from(choice));\n assert_eq!(sqrt.square(), four);\n assert!(bool::from(!sqrt.is_negative()));\n\n // 1/4 is square, so we expect (1, 1/sqrt(4))\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&one, &four);\n assert!(bool::from(choice));\n assert_eq!(&sqrt.square() * &four, one);\n assert!(bool::from(!sqrt.is_negative()));\n }\n\n #[test]\n fn a_p58_vs_ap58_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let ap58 = FieldElement::from_bytes(&AP58_BYTES);\n assert_eq!(ap58, a.pow_p58());\n }\n\n #[test]\n fn equality() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let ainv = FieldElement::from_bytes(&AINV_BYTES);\n assert!(a == a);\n assert!(a != ainv);\n }\n\n /// Notice that the last element has the high bit set, which\n /// should be ignored\n static B_BYTES: [u8; 32] = [\n 113, 191, 169, 143, 91, 234, 121, 15, 241, 131, 217, 36, 230, 101, 92, 234, 8, 208, 170,\n 251, 97, 127, 70, 210, 58, 23, 166, 87, 240, 169, 184, 178,\n ];\n\n #[test]\n fn from_bytes_highbit_is_ignored() {\n let mut cleared_bytes = B_BYTES;\n cleared_bytes[31] &= 127u8;\n let with_highbit_set = FieldElement::from_bytes(&B_BYTES);\n let without_highbit_set = FieldElement::from_bytes(&cleared_bytes);\n assert_eq!(without_highbit_set, with_highbit_set);\n }\n\n #[test]\n fn conditional_negate() {\n let one = FieldElement::ONE;\n let minus_one = FieldElement::MINUS_ONE;\n let mut x = one;\n x.conditional_negate(Choice::from(1));\n assert_eq!(x, minus_one);\n x.conditional_negate(Choice::from(0));\n assert_eq!(x, minus_one);\n x.conditional_negate(Choice::from(1));\n assert_eq!(x, one);\n }\n\n #[test]\n fn encoding_is_canonical() {\n // Encode 1 wrongly as 1 + (2^255 - 19) = 2^255 - 18\n let one_encoded_wrongly_bytes: [u8; 32] = [\n 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0x7f,\n ];\n // Decode to a field element\n let one = FieldElement::from_bytes(&one_encoded_wrongly_bytes);\n // .. then check that the encoding is correct\n let one_bytes = one.to_bytes();\n assert_eq!(one_bytes[0], 1);\n for byte in &one_bytes[1..] {\n assert_eq!(*byte, 0);\n }\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn invert_batch_empty() {\n FieldElement::invert_batch_alloc(&mut []);\n }\n\n // The following two consts were generated with the following sage script:\n //\n // import random\n //\n // F = GF(2**255 - 19)\n // # Use a seed to make sure we produce the same test vectors every time\n // random.seed(\"Ozamataz Buckshank\")\n //\n // # Generates test vectors, each of the form (input_bytes, reduced_field_elem_bytes),\n // # where input_bytes is length input_bytes_len\n // def gen_example(input_bytes_len):\n // # Generate random bytes\n // input_bytes = [random.randint(0, 255) for _ in range(input_bytes_len)]\n //\n // # Now convert to a field element and get the reduced byte representation\n // elem = F(int.from_bytes(input_bytes, byteorder='little'))\n // reduced_bytes = list(int(elem).to_bytes(32, byteorder='little'))\n //\n // # Format input and output as hex strings\n // input_bytes_hex = ''.join(f'{byte:02x}' for byte in input_bytes)\n // reduced_bytes_hex = ''.join(f'{byte:02x}' for byte in reduced_bytes)\n // return f\"(\\\"{input_bytes_hex}\\\", \\\"{reduced_bytes_hex}\\\")\"\n //\n // print(\"SET 1: Input bytes are length 64\")\n // for _ in range(5):\n // print(gen_example(64))\n //\n // print(\"SET 2: Input bytes are length 48\")\n // for _ in range(5):\n // print(gen_example(48))\n\n /// Test vectors for FieldElement::from_bytes_wide. Elements are of the form (len-64 bytestring,\n /// reduced field element)\n #[cfg(feature = \"digest\")]\n const FROM_BYTES_WIDE_KAT_BIG: &[(&str, &str)] = &[\n (\n \"77b663085cac0e916f40dbeea5116f201816406e68ccf01b32a97162ae1d5bf95d0d01c2c72fbeeb27a63\\\n 5b85b715d5ce6f74118a60a7aec53c798ad648a482f\",\n \"62b38bd402c4498f5cead14643e54dd649e20a0810610e36a73f1f27a0a81f7e\",\n ),\n (\n \"d437c75ec79886650243a79c62933bb307eb12ff16d05db4a6a8a877f4a91abb6eeb64d2e20519c021799\\\n 3a1dc5639283a06639985a2c892208171503335afb5\",\n \"3d2ec29972783de9043e8b982278beaba9d7c5c3ebef257e7cd38168928f1c33\",\n ),\n (\n \"6daa9e1abe6c604fb6e841c04bf90a6ef88aef6b1eab17dd44f7207ef472cd2d54bac849f703e64f36e56\\\n 77e7e86b82be7d26aa220daf1f208bb36dcc1a12338\",\n \"28546a0e7303852bc6eead8312f06eeb48d9ca87f60bfeec98ba402ebb751703\",\n ),\n (\n \"c3920e326dbf806a50105be78263c1dc9390fb4741587b250cd758c2bfa3ed70faedbbc5f9b1d024e00fe\\\n 7d7daf796866853f42e72d638e6533c5eb5b7caf3c6\",\n \"40eaf38b802a7be1956ba7f3fe2d2ad717f23f40342deb5180cb55ae04bb1d79\",\n ),\n (\n \"23f143c72ead6c0f336b4e746a06921f0eb180002e8ce916d196de16216788617c6aeb90a074a85196f03\\\n 81375011248927c1215e9ec65b382a6ec556fb3f504\",\n \"b1bf354a04fd6d2e8321c24ecb3d3ed2c42e3f21c7b60ab8374effd7a709011e\",\n ),\n ];\n\n /// Test vectors for FieldElement::from_bytes_wide. Elements are of the form (len-48 bytestring,\n /// reduced field element)\n #[cfg(feature = \"digest\")]\n const FROM_BYTES_WIDE_KAT_MEDIUM: &[(&str, &str)] = &[\n (\n \"82e9cbe4928e3d0bbf1f91824a91acfb30d929f7a2fa5cbcc967c63ea0f3357c29c19f1bc9dcad69d85c1\\\n c6265970685\",\n \"989582fe6c540cbbdee7c612570aa7ba44d929f7a2fa5cbcc967c63ea0f3357c\",\n ),\n (\n \"5480494df4fb3a3b19da17e1c8b9192ccb09ec76720321977079300c42c17b9e95b01eb37ffe7048fcd1c\\\n 9e6094da6c4\",\n \"85b6d7e3e8c200fc8b050d234129c95ce809ec76720321977079300c42c17b1e\",\n ),\n (\n \"93ec8a480dde098f74bcd341ef4f248f6440cc6e631d7000784f66975a4fd628438bb1350ba4c1421fec3\\\n 670decced06\",\n \"8598e540b737c87718c9fae9f3b870966540cc6e631d7000784f66975a4fd628\",\n ),\n (\n \"fd0154ff9a5c4c9ee4e8183c23db97018e0e6201a812f6d4faedda50652d51f65c110b9a1a100a3fc3ff1\\\n c4ea3cf22e4\",\n \"b895f8dc8dc0caf9dfdf66d460adc2deaf0e6201a812f6d4faedda50652d5176\",\n ),\n (\n \"0e829dc955e0a1e0dbda9849cb2022b295275782348bd6308b3d0c5836f3ca0130911a17fd54054c3a0f8\\\n b2486f8ce85\",\n \"2e0f8f37e77d6c29831d3db6b404db8ea9275782348bd6308b3d0c5836f3ca01\",\n ),\n ];\n\n #[cfg(feature = \"digest\")]\n #[test]\n fn from_bytes_wide() {\n // Do the 64-byte input ones first\n for (input_bytes, expected_reduced) in FROM_BYTES_WIDE_KAT_BIG {\n let decoded_input =\n hex::decode(input_bytes).expect(\"64-byte reduction test vector hex must decode\");\n let decoded_input: [u8; 64] = decoded_input\n .as_slice()\n .try_into()\n .expect(\"64-byte reduction test vector must decode to 64 bytes\");\n let reduce_fe = FieldElement::from_bytes_wide(&decoded_input);\n assert_eq!(\n &reduce_fe.to_bytes(),\n hex::decode(expected_reduced)\n .expect(\"reduction result test vector hex must decode\")\n .as_slice()\n );\n }\n\n // Now do the 48-byte inputs\n for (input_bytes, expected_reduced) in FROM_BYTES_WIDE_KAT_MEDIUM {\n let mut padded_input_bytes = [0u8; 64];\n padded_input_bytes[..48].copy_from_slice(\n &hex::decode(input_bytes).expect(\"48-byte reduction test vector hex must decode\"),\n );\n let reduce_fe = FieldElement::from_bytes_wide(&padded_input_bytes);\n assert_eq!(\n &reduce_fe.to_bytes(),\n hex::decode(expected_reduced)\n .expect(\"reduction result test vector hex must decode\")\n .as_slice()\n );\n }\n }\n\n #[cfg(feature = \"digest\")]\n fn fe_from_test_vector(expected_hex: &str) -> FieldElement {\n let mut expected_hash =\n hex::decode(expected_hex).expect(\"hash-to-field test vector hex must decode\");\n expected_hash.reverse();\n let expected_hash: [u8; 32] = expected_hash\n .try_into()\n .expect(\"hash-to-field test vector must decode to 32 bytes\");\n FieldElement::from_bytes(&expected_hash)\n }\n\n /// Hash to field test vectors from\n /// https://www.rfc-editor.org/rfc/rfc9380.html#appendix-J.5.2\n /// These are of the form (input_msg, output_field_elem)\n #[cfg(feature = \"digest\")]\n const RFC_HASH_TO_FIELD_KAT: &[(&[u8], &str)] = &[\n (\n b\"\",\n \"7f3e7fb9428103ad7f52db32f9df32505d7b427d894c5093f7a0f0374a30641d\"\n ),\n (\n b\"abc\",\n \"09cfa30ad79bd59456594a0f5d3a76f6b71c6787b04de98be5cd201a556e253b\"\n ),\n (\n b\"abcdef0123456789\",\n \"475ccff99225ef90d78cc9338e9f6a6bb7b17607c0c4428937de75d33edba941\",\n ),\n (\n b\"q128_qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\\\n qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",\n \"049a1c8bd51bcb2aec339f387d1ff51428b88d0763a91bcdf6929814ac95d03d\"\n ),\n (\n b\"a512_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"3cb0178a8137cefa5b79a3a57c858d7eeeaa787b2781be4a362a2f0750d24fa0\"\n )\n ];\n\n #[test]\n #[cfg(feature = \"digest\")]\n fn hash_to_field() {\n use sha2::Sha512;\n let dst = \"QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_NU_\";\n\n for (msg, expected_hash_hex) in RFC_HASH_TO_FIELD_KAT {\n let fe = FieldElement::hash_to_field::(&[msg], &[dst.as_bytes()])[0];\n let expected_fe = fe_from_test_vector(expected_hash_hex);\n\n assert_eq!(fe, expected_fe);\n }\n }\n\n /// Hash to field test vectors from\n /// https://www.rfc-editor.org/rfc/rfc9380.html#appendix-J.5.1\n /// These are of the form (input_msg, output_field_elem, output_field_elem)\n #[cfg(feature = \"digest\")]\n const RFC_HASH_TO_FIELD_KAT_2: &[(&[u8], &str, &str)] = &[\n (\n b\"\",\n \"03fef4813c8cb5f98c6eef88fae174e6e7d5380de2b007799ac7ee712d203f3a\",\n \"780bdddd137290c8f589dc687795aafae35f6b674668d92bf92ae793e6a60c75\"\n ),\n (\n b\"abc\",\n \"5081955c4141e4e7d02ec0e36becffaa1934df4d7a270f70679c78f9bd57c227\",\n \"005bdc17a9b378b6272573a31b04361f21c371b256252ae5463119aa0b925b76\"\n ),\n (\n b\"abcdef0123456789\",\n \"285ebaa3be701b79871bcb6e225ecc9b0b32dff2d60424b4c50642636a78d5b3\",\n \"2e253e6a0ef658fedb8e4bd6a62d1544fd6547922acb3598ec6b369760b81b31\"\n ),\n (\n b\"q128_qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\\\n qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",\n \"4fedd25431c41f2a606952e2945ef5e3ac905a42cf64b8b4d4a83c533bf321af\",\n \"02f20716a5801b843987097a8276b6d869295b2e11253751ca72c109d37485a9\"\n ),\n (\n b\"a512_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"6e34e04a5106e9bd59f64aba49601bf09d23b27f7b594e56d5de06df4a4ea33b\",\n \"1c1c2cb59fc053f44b86c5d5eb8c1954b64976d0302d3729ff66e84068f5fd96\"\n )\n ];\n\n #[test]\n #[cfg(feature = \"digest\")]\n fn hash_to_field_2() {\n use sha2::Sha512;\n let dst = \"QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_RO_\";\n\n for (msg, expected_hash_hex_1, expected_hash_hex_2) in\n crate::field::test::RFC_HASH_TO_FIELD_KAT_2\n {\n let fe = FieldElement::hash_to_field::(&[msg], &[dst.as_bytes()]);\n\n let expected_fe_1 = fe_from_test_vector(expected_hash_hex_1);\n assert_eq!(fe[0], expected_fe_1);\n\n let expected_fe_2 = fe_from_test_vector(expected_hash_hex_2);\n assert_eq!(fe[1], expected_fe_2);\n }\n }\n}\n"},{"id":2,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/u64.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2018 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! The `u64` backend uses `u64`s and a `(u64, u64) -> u128` multiplier.\n//!\n//! On x86_64, the idiom `(x as u128) * (y as u128)` lowers to `MUL`\n//! instructions taking 64-bit inputs and producing 128-bit outputs. On\n//! other platforms, this implementation is not recommended.\n//!\n//! On Haswell and newer, the BMI2 extension provides `MULX`, and on\n//! Broadwell and newer, the ADX extension provides `ADCX` and `ADOX`\n//! (allowing the CPU to compute two carry chains in parallel). These\n//! will be used if available.\n\npub mod field;\n\npub mod scalar;\n\npub mod constants;\n"},{"id":3,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Serial implementations of field, scalar, point arithmetic.\n//!\n//! When the vector backend is disabled, the crate uses the mixed-model strategy\n//! for implementing point operations and scalar multiplication; see the\n//! [`curve_models`] and [`scalar_mul`] documentation for more information.\n//!\n//! When the vector backend is enabled, the field and scalar\n//! implementations are still used for non-vectorized operations.\n\n#[doc(hidden)]\npub mod u64;\n\npub mod curve_models;\n\npub mod scalar_mul;\n"},{"id":4,"name":{"Local":"curve25519/solana-ed25519/src/backend.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! **INTERNALS:** Pluggable implementations for different architectures.\n//!\n//! The backend code is split into two parts: a serial backend,\n//! and a vector backend.\n//!\n//! The [`serial`] backend contains 32- and 64-bit implementations of\n//! field arithmetic and scalar arithmetic, as well as implementations\n//! of point operations using the mixed-model strategy (passing\n//! between different curve models depending on the operation).\n//!\n//! The [`vector`] backend contains implementations of vectorized\n//! field arithmetic, used to implement point operations using a novel\n//! implementation strategy derived from parallel formulas of Hisil,\n//! Wong, Carter, and Dawson.\n//!\n//! Because the two strategies give rise to different curve models,\n//! it's not possible to reuse exactly the same scalar multiplication\n//! code (or to write it generically), so both serial and vector\n//! backends contain matching implementations of scalar multiplication\n//! algorithms. These are intended to be selected by a `#[cfg]`-based\n//! type alias.\n//!\n//! The [`vector`] backend is selected by the `simd_backend` cargo\n//! feature; it uses the [`serial`] backend for non-vectorized operations.\n\nuse crate::EdwardsPoint;\nuse crate::Scalar;\n\npub mod serial;\n\n#[cfg(target_arch = \"x86_64\")]\npub mod vector;\n\n#[derive(Copy, Clone)]\nenum BackendKind {\n #[cfg(target_arch = \"x86_64\")]\n Avx2,\n Serial,\n}\n\n#[inline]\nfn get_selected_backend() -> BackendKind {\n #[cfg(target_arch = \"x86_64\")]\n {\n cpufeatures::new!(cpuid_avx2, \"avx2\");\n let token_avx2: cpuid_avx2::InitToken = cpuid_avx2::init();\n if token_avx2.get() {\n return BackendKind::Avx2;\n }\n }\n\n BackendKind::Serial\n}\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub fn pippenger_optional_multiscalar_mul(scalars: I, points: J) -> Option\nwhere\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n J: IntoIterator>,\n{\n use crate::traits::VartimeMultiscalarMul;\n\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::pippenger::spec_avx2::Pippenger::optional_multiscalar_mul::(\n scalars, points,\n )\n }\n BackendKind::Serial => {\n serial::scalar_mul::pippenger::Pippenger::optional_multiscalar_mul::(\n scalars, points,\n )\n }\n }\n}\n\n#[cfg(feature = \"alloc\")]\npub(crate) enum VartimePrecomputedStraus {\n #[cfg(target_arch = \"x86_64\")]\n Avx2(vector::scalar_mul::precomputed_straus::spec_avx2::VartimePrecomputedStraus),\n Scalar(serial::scalar_mul::precomputed_straus::VartimePrecomputedStraus),\n}\n\n#[cfg(feature = \"alloc\")]\nimpl VartimePrecomputedStraus {\n pub fn new(static_points: I) -> Self\n where\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n {\n use crate::traits::VartimePrecomputedMultiscalarMul;\n\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => VartimePrecomputedStraus::Avx2(\n vector::scalar_mul::precomputed_straus::spec_avx2::VartimePrecomputedStraus::new(\n static_points,\n ),\n ),\n BackendKind::Serial => VartimePrecomputedStraus::Scalar(\n serial::scalar_mul::precomputed_straus::VartimePrecomputedStraus::new(\n static_points,\n ),\n ),\n }\n }\n\n /// Return the number of static points in the precomputation.\n pub fn len(&self) -> usize {\n use crate::traits::VartimePrecomputedMultiscalarMul;\n\n match self {\n #[cfg(target_arch = \"x86_64\")]\n VartimePrecomputedStraus::Avx2(inner) => inner.len(),\n VartimePrecomputedStraus::Scalar(inner) => inner.len(),\n }\n }\n\n /// Determine if the precomputation is empty.\n pub fn is_empty(&self) -> bool {\n use crate::traits::VartimePrecomputedMultiscalarMul;\n\n match self {\n #[cfg(target_arch = \"x86_64\")]\n VartimePrecomputedStraus::Avx2(inner) => inner.is_empty(),\n VartimePrecomputedStraus::Scalar(inner) => inner.is_empty(),\n }\n }\n\n pub fn optional_mixed_multiscalar_mul(\n &self,\n static_scalars: I,\n dynamic_scalars: J,\n dynamic_points: K,\n ) -> Option\n where\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n J: IntoIterator,\n J::Item: core::borrow::Borrow,\n K: IntoIterator>,\n {\n use crate::traits::VartimePrecomputedMultiscalarMul;\n\n match self {\n #[cfg(target_arch = \"x86_64\")]\n VartimePrecomputedStraus::Avx2(inner) => inner.optional_mixed_multiscalar_mul(\n static_scalars,\n dynamic_scalars,\n dynamic_points,\n ),\n VartimePrecomputedStraus::Scalar(inner) => inner.optional_mixed_multiscalar_mul(\n static_scalars,\n dynamic_scalars,\n dynamic_points,\n ),\n }\n }\n}\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub fn straus_multiscalar_mul(scalars: I, points: J) -> EdwardsPoint\nwhere\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n J: IntoIterator,\n J::Item: core::borrow::Borrow,\n{\n use crate::traits::MultiscalarMul;\n\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::straus::spec_avx2::Straus::multiscalar_mul::(scalars, points)\n }\n BackendKind::Serial => {\n serial::scalar_mul::straus::Straus::multiscalar_mul::(scalars, points)\n }\n }\n}\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub fn straus_optional_multiscalar_mul(scalars: I, points: J) -> Option\nwhere\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n J: IntoIterator>,\n{\n use crate::traits::VartimeMultiscalarMul;\n\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::straus::spec_avx2::Straus::optional_multiscalar_mul::(\n scalars, points,\n )\n }\n BackendKind::Serial => {\n serial::scalar_mul::straus::Straus::optional_multiscalar_mul::(scalars, points)\n }\n }\n}\n\n/// Perform constant-time, variable-base scalar multiplication.\npub fn variable_base_mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => vector::scalar_mul::variable_base::spec_avx2::mul(point, scalar),\n BackendKind::Serial => serial::scalar_mul::variable_base::mul(point, scalar),\n }\n}\n\n/// Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n#[allow(non_snake_case)]\npub fn vartime_double_base_mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => vector::scalar_mul::vartime_double_base::spec_avx2::mul(a, A, b),\n BackendKind::Serial => serial::scalar_mul::vartime_double_base::mul(a, A, b),\n }\n}\n\n/// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n///\n/// This function uses an optimized path when \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\),\n/// and falls back to general scalar multiplication otherwise.\n#[allow(non_snake_case)]\npub fn vartime_triple_base_mul_128_128_256(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n if !scalar_fits_in_128_bits(a1) || !scalar_fits_in_128_bits(a2) {\n return (a1 * A1) + (a2 * A2) + EdwardsPoint::mul_base(b);\n }\n\n vartime_triple_base_mul_128_128_256_prechecked(a1, A1, a2, A2, b)\n}\n\n/// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) using the optimized 128/128/256-bit path.\n///\n/// Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\).\n#[allow(non_snake_case)]\npub(crate) fn vartime_triple_base_mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::vartime_triple_base::spec_avx2::mul_128_128_256_prechecked(\n a1, A1, a2, A2, b,\n )\n }\n BackendKind::Serial => {\n serial::scalar_mul::vartime_triple_base::mul_128_128_256_prechecked(a1, A1, a2, A2, b)\n }\n }\n}\n\n#[inline]\nfn scalar_fits_in_128_bits(scalar: &Scalar) -> bool {\n scalar.as_bytes()[16..32].iter().all(|&byte| byte == 0)\n}\n"},{"id":5,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/u64/field.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Field arithmetic modulo \\\\(p = 2\\^{255} - 19\\\\), using \\\\(64\\\\)-bit\n//! limbs with \\\\(128\\\\)-bit products.\n\nuse core::fmt::Debug;\nuse core::ops::Neg;\nuse core::ops::{Add, AddAssign};\nuse core::ops::{Mul, MulAssign};\nuse core::ops::{Sub, SubAssign};\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::DefaultIsZeroes;\n\n/// A `FieldElement51` represents an element of the field\n/// \\\\( \\mathbb Z / (2\\^{255} - 19)\\\\).\n///\n/// In the 64-bit implementation, a `FieldElement` is represented in\n/// radix \\\\(2\\^{51}\\\\) as five `u64`s; the coefficients are allowed to\n/// grow up to \\\\(2\\^{54}\\\\) between reductions modulo \\\\(p\\\\).\n///\n/// # Note\n///\n/// The `curve25519::field` module provides a type alias\n/// `curve25519::field::FieldElement` to either `FieldElement51`\n/// or `FieldElement2625`.\n///\n/// The backend-specific type `FieldElement51` should not be used\n/// outside of the `curve25519::field` module.\n#[derive(Copy, Clone)]\npub struct FieldElement51(pub(crate) [u64; 5]);\n\nimpl Debug for FieldElement51 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl DefaultIsZeroes for FieldElement51 {}\n\nimpl<'a> AddAssign<&'a FieldElement51> for FieldElement51 {\n fn add_assign(&mut self, _rhs: &'a FieldElement51) {\n for i in 0..5 {\n self.0[i] += _rhs.0[i];\n }\n }\n}\n\nimpl<'a> Add<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n fn add(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n let mut output = *self;\n output += _rhs;\n output\n }\n}\n\nimpl<'a> SubAssign<&'a FieldElement51> for FieldElement51 {\n fn sub_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) - _rhs;\n self.0 = result.0;\n }\n}\n\nimpl<'a> Sub<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n fn sub(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n // To avoid underflow, first add a multiple of p.\n // Choose 16*p = p << 4 to be larger than 54-bit _rhs.\n //\n // If we could statically track the bitlengths of the limbs\n // of every FieldElement51, we could choose a multiple of p\n // just bigger than _rhs and avoid having to do a reduction.\n //\n // Since we don't yet have type-level integers to do this, we\n // have to add an explicit reduction call here.\n FieldElement51::reduce([\n (self.0[0] + 36028797018963664u64) - _rhs.0[0],\n (self.0[1] + 36028797018963952u64) - _rhs.0[1],\n (self.0[2] + 36028797018963952u64) - _rhs.0[2],\n (self.0[3] + 36028797018963952u64) - _rhs.0[3],\n (self.0[4] + 36028797018963952u64) - _rhs.0[4],\n ])\n }\n}\n\nimpl<'a> MulAssign<&'a FieldElement51> for FieldElement51 {\n fn mul_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) * _rhs;\n self.0 = result.0;\n }\n}\n\nimpl<'a> Mul<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n\n #[rustfmt::skip] // keep alignment of c* calculations\n fn mul(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n /// Helper function to multiply two 64-bit integers with 128\n /// bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 { (x as u128) * (y as u128) }\n\n // Alias self, _rhs for more readable formulas\n let a: &[u64; 5] = &self.0;\n let b: &[u64; 5] = &_rhs.0;\n\n // Precondition: assume input limbs a[i], b[i] are bounded as\n //\n // a[i], b[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // 64-bit precomputations to avoid 128-bit multiplications.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let b1_19 = b[1] * 19;\n let b2_19 = b[2] * 19;\n let b3_19 = b[3] * 19;\n let b4_19 = b[4] * 19;\n\n // Multiply to get 128-bit coefficients of output\n let c0: u128 = m(a[0], b[0]) + m(a[4], b1_19) + m(a[3], b2_19) + m(a[2], b3_19) + m(a[1], b4_19);\n let mut c1: u128 = m(a[1], b[0]) + m(a[0], b[1]) + m(a[4], b2_19) + m(a[3], b3_19) + m(a[2], b4_19);\n let mut c2: u128 = m(a[2], b[0]) + m(a[1], b[1]) + m(a[0], b[2]) + m(a[4], b3_19) + m(a[3], b4_19);\n let mut c3: u128 = m(a[3], b[0]) + m(a[2], b[1]) + m(a[1], b[2]) + m(a[0], b[3]) + m(a[4], b4_19);\n let mut c4: u128 = m(a[4], b[0]) + m(a[3], b[1]) + m(a[2], b[2]) + m(a[1], b[3]) + m(a[0] , b[4]);\n\n // How big are the c[i]? We have\n //\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54)); debug_assert!(b[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54)); debug_assert!(b[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54)); debug_assert!(b[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54)); debug_assert!(b[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54)); debug_assert!(b[4] < (1 << 54));\n\n // Casting to u64 and back tells the compiler that the carry is\n // bounded by 2^64, so that the addition is a u128 + u64 rather\n // than u128 + u128.\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n let mut out = [0u64; 5];\n\n c1 += ((c0 >> 51) as u64) as u128;\n out[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n out[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n out[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n out[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n out[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need out[0] + carry * 19 < 2^64.\n //\n // c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)\n // < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n out[0] += carry * 19;\n\n // Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n out[1] += out[0] >> 51;\n out[0] &= LOW_51_BIT_MASK;\n\n // Now out[i] < 2^(51 + epsilon) for all i.\n FieldElement51(out)\n }\n}\n\nimpl Neg for &FieldElement51 {\n type Output = FieldElement51;\n fn neg(self) -> FieldElement51 {\n let mut output = *self;\n output.negate();\n output\n }\n}\n\nimpl ConditionallySelectable for FieldElement51 {\n fn conditional_select(\n a: &FieldElement51,\n b: &FieldElement51,\n choice: Choice,\n ) -> FieldElement51 {\n FieldElement51([\n u64::conditional_select(&a.0[0], &b.0[0], choice),\n u64::conditional_select(&a.0[1], &b.0[1], choice),\n u64::conditional_select(&a.0[2], &b.0[2], choice),\n u64::conditional_select(&a.0[3], &b.0[3], choice),\n u64::conditional_select(&a.0[4], &b.0[4], choice),\n ])\n }\n\n fn conditional_swap(a: &mut FieldElement51, b: &mut FieldElement51, choice: Choice) {\n u64::conditional_swap(&mut a.0[0], &mut b.0[0], choice);\n u64::conditional_swap(&mut a.0[1], &mut b.0[1], choice);\n u64::conditional_swap(&mut a.0[2], &mut b.0[2], choice);\n u64::conditional_swap(&mut a.0[3], &mut b.0[3], choice);\n u64::conditional_swap(&mut a.0[4], &mut b.0[4], choice);\n }\n\n fn conditional_assign(&mut self, other: &FieldElement51, choice: Choice) {\n self.0[0].conditional_assign(&other.0[0], choice);\n self.0[1].conditional_assign(&other.0[1], choice);\n self.0[2].conditional_assign(&other.0[2], choice);\n self.0[3].conditional_assign(&other.0[3], choice);\n self.0[4].conditional_assign(&other.0[4], choice);\n }\n}\n\nimpl FieldElement51 {\n pub(crate) const fn from_limbs(limbs: [u64; 5]) -> FieldElement51 {\n FieldElement51(limbs)\n }\n\n /// The scalar \\\\( 0 \\\\).\n pub const ZERO: FieldElement51 = FieldElement51::from_limbs([0, 0, 0, 0, 0]);\n /// The scalar \\\\( 1 \\\\).\n pub const ONE: FieldElement51 = FieldElement51::from_limbs([1, 0, 0, 0, 0]);\n /// The scalar \\\\( -1 \\\\).\n pub const MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n ]);\n\n /// Invert the sign of this field element\n pub fn negate(&mut self) {\n // See commentary in the Sub impl\n let neg = FieldElement51::reduce([\n 36028797018963664u64 - self.0[0],\n 36028797018963952u64 - self.0[1],\n 36028797018963952u64 - self.0[2],\n 36028797018963952u64 - self.0[3],\n 36028797018963952u64 - self.0[4],\n ]);\n self.0 = neg.0;\n }\n\n /// Given 64-bit input limbs, reduce to enforce the bound 2^(51 + epsilon).\n #[inline(always)]\n fn reduce(mut limbs: [u64; 5]) -> FieldElement51 {\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n\n // Since the input limbs are bounded by 2^64, the biggest\n // carry-out is bounded by 2^13.\n //\n // The biggest carry-in is c4 * 19, resulting in\n //\n // 2^51 + 19*2^13 < 2^51.0000000001\n //\n // Because we don't need to canonicalize, only to reduce the\n // limb sizes, it's OK to do a \"weak reduction\", where we\n // compute the carry-outs in parallel.\n\n let c0 = limbs[0] >> 51;\n let c1 = limbs[1] >> 51;\n let c2 = limbs[2] >> 51;\n let c3 = limbs[3] >> 51;\n let c4 = limbs[4] >> 51;\n\n limbs[0] &= LOW_51_BIT_MASK;\n limbs[1] &= LOW_51_BIT_MASK;\n limbs[2] &= LOW_51_BIT_MASK;\n limbs[3] &= LOW_51_BIT_MASK;\n limbs[4] &= LOW_51_BIT_MASK;\n\n limbs[0] += c4 * 19;\n limbs[1] += c0;\n limbs[2] += c1;\n limbs[3] += c2;\n limbs[4] += c3;\n\n FieldElement51(limbs)\n }\n\n /// Load a `FieldElement51` from the low 255 bits of a 256-bit\n /// input.\n ///\n /// # Warning\n ///\n /// This function does not check that the input used the canonical\n /// representative. It masks the high bit, but it will happily\n /// decode 2^255 - 18 to 1. Applications that require a canonical\n /// encoding of every field element should decode, re-encode to\n /// the canonical encoding, and check that the input was\n /// canonical.\n ///\n #[rustfmt::skip] // keep alignment of bit shifts\n pub const fn from_bytes(bytes: &[u8; 32]) -> FieldElement51 {\n const fn load8_at(input: &[u8], i: usize) -> u64 {\n (input[i] as u64)\n | ((input[i + 1] as u64) << 8)\n | ((input[i + 2] as u64) << 16)\n | ((input[i + 3] as u64) << 24)\n | ((input[i + 4] as u64) << 32)\n | ((input[i + 5] as u64) << 40)\n | ((input[i + 6] as u64) << 48)\n | ((input[i + 7] as u64) << 56)\n }\n\n let low_51_bit_mask = (1u64 << 51) - 1;\n FieldElement51(\n // load bits [ 0, 64), no shift\n [ load8_at(bytes, 0) & low_51_bit_mask\n // load bits [ 48,112), shift to [ 51,112)\n , (load8_at(bytes, 6) >> 3) & low_51_bit_mask\n // load bits [ 96,160), shift to [102,160)\n , (load8_at(bytes, 12) >> 6) & low_51_bit_mask\n // load bits [152,216), shift to [153,216)\n , (load8_at(bytes, 19) >> 1) & low_51_bit_mask\n // load bits [192,256), shift to [204,112)\n , (load8_at(bytes, 24) >> 12) & low_51_bit_mask\n ])\n }\n\n /// Serialize this `FieldElement51` to a 32-byte array. The\n /// encoding is canonical.\n #[rustfmt::skip] // keep alignment of s[*] calculations\n pub fn to_bytes(self) -> [u8; 32] {\n // Let h = limbs[0] + limbs[1]*2^51 + ... + limbs[4]*2^204.\n //\n // Write h = pq + r with 0 <= r < p.\n //\n // We want to compute r = h mod p.\n //\n // If h < 2*p = 2^256 - 38,\n // then q = 0 or 1,\n //\n // with q = 0 when h < p\n // and q = 1 when h >= p.\n //\n // Notice that h >= p <==> h + 19 >= p + 19 <==> h + 19 >= 2^255.\n // Therefore q can be computed as the carry bit of h + 19.\n\n // First, reduce the limbs to ensure h < 2*p.\n let mut limbs = FieldElement51::reduce(self.0).0;\n\n let mut q = (limbs[0] + 19) >> 51;\n q = (limbs[1] + q) >> 51;\n q = (limbs[2] + q) >> 51;\n q = (limbs[3] + q) >> 51;\n q = (limbs[4] + q) >> 51;\n\n // Now we can compute r as r = h - pq = r - (2^255-19)q = r + 19q - 2^255q\n\n limbs[0] += 19 * q;\n\n // Now carry the result to compute r + 19q ...\n let low_51_bit_mask = (1u64 << 51) - 1;\n limbs[1] += limbs[0] >> 51;\n limbs[0] &= low_51_bit_mask;\n limbs[2] += limbs[1] >> 51;\n limbs[1] &= low_51_bit_mask;\n limbs[3] += limbs[2] >> 51;\n limbs[2] &= low_51_bit_mask;\n limbs[4] += limbs[3] >> 51;\n limbs[3] &= low_51_bit_mask;\n // ... but instead of carrying (limbs[4] >> 51) = 2^255q\n // into another limb, discard it, subtracting the value\n limbs[4] &= low_51_bit_mask;\n\n // Now arrange the bits of the limbs.\n let mut s = [0u8;32];\n s[ 0] = limbs[0] as u8;\n s[ 1] = (limbs[0] >> 8) as u8;\n s[ 2] = (limbs[0] >> 16) as u8;\n s[ 3] = (limbs[0] >> 24) as u8;\n s[ 4] = (limbs[0] >> 32) as u8;\n s[ 5] = (limbs[0] >> 40) as u8;\n s[ 6] = ((limbs[0] >> 48) | (limbs[1] << 3)) as u8;\n s[ 7] = (limbs[1] >> 5) as u8;\n s[ 8] = (limbs[1] >> 13) as u8;\n s[ 9] = (limbs[1] >> 21) as u8;\n s[10] = (limbs[1] >> 29) as u8;\n s[11] = (limbs[1] >> 37) as u8;\n s[12] = ((limbs[1] >> 45) | (limbs[2] << 6)) as u8;\n s[13] = (limbs[2] >> 2) as u8;\n s[14] = (limbs[2] >> 10) as u8;\n s[15] = (limbs[2] >> 18) as u8;\n s[16] = (limbs[2] >> 26) as u8;\n s[17] = (limbs[2] >> 34) as u8;\n s[18] = (limbs[2] >> 42) as u8;\n s[19] = ((limbs[2] >> 50) | (limbs[3] << 1)) as u8;\n s[20] = (limbs[3] >> 7) as u8;\n s[21] = (limbs[3] >> 15) as u8;\n s[22] = (limbs[3] >> 23) as u8;\n s[23] = (limbs[3] >> 31) as u8;\n s[24] = (limbs[3] >> 39) as u8;\n s[25] = ((limbs[3] >> 47) | (limbs[4] << 4)) as u8;\n s[26] = (limbs[4] >> 4) as u8;\n s[27] = (limbs[4] >> 12) as u8;\n s[28] = (limbs[4] >> 20) as u8;\n s[29] = (limbs[4] >> 28) as u8;\n s[30] = (limbs[4] >> 36) as u8;\n s[31] = (limbs[4] >> 44) as u8;\n\n // High bit should be zero.\n debug_assert!((s[31] & 0b1000_0000u8) == 0u8);\n\n s\n }\n\n /// Given `k > 0`, return `self^(2^k)`.\n #[rustfmt::skip] // keep alignment of c* calculations\n pub fn pow2k(&self, mut k: u32) -> FieldElement51 {\n\n debug_assert!( k > 0 );\n\n /// Multiply two 64-bit integers with 128 bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 {\n (x as u128) * (y as u128)\n }\n\n let mut a: [u64; 5] = self.0;\n\n loop {\n // Precondition: assume input limbs a[i] are bounded as\n //\n // a[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // Precomputation: 64-bit multiply by 19.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let a3_19 = 19 * a[3];\n let a4_19 = 19 * a[4];\n\n // Multiply to get 128-bit coefficients of output.\n //\n // The 128-bit multiplications by 2 turn into 1 slr + 1 slrd each,\n // which doesn't seem any better or worse than doing them as precomputations\n // on the 64-bit inputs.\n let c0: u128 = m(a[0], a[0]) + 2*( m(a[1], a4_19) + m(a[2], a3_19) );\n let mut c1: u128 = m(a[3], a3_19) + 2*( m(a[0], a[1]) + m(a[2], a4_19) );\n let mut c2: u128 = m(a[1], a[1]) + 2*( m(a[0], a[2]) + m(a[4], a3_19) );\n let mut c3: u128 = m(a[4], a4_19) + 2*( m(a[0], a[3]) + m(a[1], a[2]) );\n let mut c4: u128 = m(a[2], a[2]) + 2*( m(a[0], a[4]) + m(a[1], a[3]) );\n\n // Same bound as in multiply:\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54));\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n\n // Casting to u64 and back tells the compiler that the carry is bounded by 2^64, so\n // that the addition is a u128 + u64 rather than u128 + u128.\n c1 += ((c0 >> 51) as u64) as u128;\n a[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n a[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n a[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n a[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n a[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need a[0] + carry * 19 < 2^64.\n //\n // c4 < a2^2 + 2*a0*a4 + 2*a1*a3 + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // a[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n a[0] += carry * 19;\n\n // Now a[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n a[1] += a[0] >> 51;\n a[0] &= LOW_51_BIT_MASK;\n\n // Now all a[i] < 2^(51 + epsilon) and a = self^(2^k).\n\n k -= 1;\n if k == 0 {\n break;\n }\n }\n\n FieldElement51(a)\n }\n\n /// Returns the square of this field element.\n pub fn square(&self) -> FieldElement51 {\n self.pow2k(1)\n }\n\n /// Returns 2 times the square of this field element.\n pub fn square2(&self) -> FieldElement51 {\n let mut square = self.pow2k(1);\n for i in 0..5 {\n square.0[i] *= 2;\n }\n\n square\n }\n}\n"},{"id":6,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/curve_models.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Internal curve representations which are not part of the public API.\n//!\n//! # Curve representations\n//!\n//! Internally, we use several different models for the curve. Here\n//! is a sketch of the relationship between the models, following [a\n//! post][smith-moderncrypto]\n//! by Ben Smith on the `moderncrypto` mailing list. This is also briefly\n//! discussed in section 2.5 of [_Montgomery curves and their\n//! arithmetic_][costello-smith-2017] by Costello and Smith.\n//!\n//! Begin with the affine equation for the curve,\n//! $$\n//! -x\\^2 + y\\^2 = 1 + dx\\^2y\\^2.\n//! $$\n//! Next, pass to the projective closure \\\\(\\mathbb P\\^1 \\times \\mathbb\n//! P\\^1 \\\\) by setting \\\\(x=X/Z\\\\), \\\\(y=Y/T.\\\\) Clearing denominators\n//! gives the model\n//! $$\n//! -X\\^2T\\^2 + Y\\^2Z\\^2 = Z\\^2T\\^2 + dX\\^2Y\\^2.\n//! $$\n//! In `curve25519-dalek`, this is represented as the `CompletedPoint`\n//! struct.\n//! To map from \\\\(\\mathbb P\\^1 \\times \\mathbb P\\^1 \\\\), a product of\n//! two lines, to \\\\(\\mathbb P\\^3\\\\), we use the [Segre\n//! embedding](https://en.wikipedia.org/wiki/Segre_embedding)\n//! $$\n//! \\sigma : ((X:Z),(Y:T)) \\mapsto (XY:XT:ZY:ZT).\n//! $$\n//! Using coordinates \\\\( (W_0:W_1:W_2:W_3) \\\\) for \\\\(\\mathbb P\\^3\\\\),\n//! the image \\\\(\\sigma (\\mathbb P\\^1 \\times \\mathbb P\\^1) \\\\) is the\n//! surface defined by \\\\( W_0 W_3 = W_1 W_2 \\\\), and under \\\\(\n//! \\sigma\\\\), the equation above becomes\n//! $$\n//! -W\\_1\\^2 + W\\_2\\^2 = W\\_3\\^2 + dW\\_0\\^2,\n//! $$\n//! so that the curve is given by the pair of equations\n//! $$\n//! \\begin{aligned}\n//! -W\\_1\\^2 + W\\_2\\^2 &= W\\_3\\^2 + dW\\_0\\^2, \\\\\\\\ W_0 W_3 &= W_1 W_2.\n//! \\end{aligned}\n//! $$\n//! Up to variable naming, this is exactly the \"extended\" curve model\n//! introduced in [_Twisted Edwards Curves\n//! Revisited_][hisil-wong-carter-dawson-2008] by Hisil, Wong, Carter,\n//! and Dawson. In `curve25519-dalek`, it is represented as the\n//! `EdwardsPoint` struct. We can map from \\\\(\\mathbb P\\^3 \\\\) to\n//! \\\\(\\mathbb P\\^2 \\\\) by sending \\\\( (W\\_0:W\\_1:W\\_2:W\\_3) \\\\) to \\\\(\n//! (W\\_1:W\\_2:W\\_3) \\\\). Notice that\n//! $$\n//! \\frac {W\\_1} {W\\_3} = \\frac {XT} {ZT} = \\frac X Z = x,\n//! $$\n//! and\n//! $$\n//! \\frac {W\\_2} {W\\_3} = \\frac {YZ} {ZT} = \\frac Y T = y,\n//! $$\n//! so this is the same as if we had started with the affine model\n//! and passed to \\\\( \\mathbb P\\^2 \\\\) by setting \\\\( x = W\\_1 / W\\_3\n//! \\\\), \\\\(y = W\\_2 / W\\_3 \\\\).\n//! Up to variable naming, this is the projective representation\n//! introduced in [_Twisted Edwards\n//! Curves_][bernstein-birkner-joye-lange-peters-2008] by Bernstein,\n//! Birkner, Joye, Lange, and Peters. In `curve25519-dalek`, it is\n//! represented by the `ProjectivePoint` struct.\n//!\n//! # Passing between curve models\n//!\n//! Although the \\\\( \\mathbb P\\^3 \\\\) model provides faster addition\n//! formulas, the \\\\( \\mathbb P\\^2 \\\\) model provides faster doubling\n//! formulas. Hisil, Wong, Carter, and Dawson therefore suggest mixing\n//! coordinate systems for scalar multiplication, attributing the idea\n//! to [a 1998 paper][cohen-miyaji-ono-1998] of Cohen, Miyagi, and Ono.\n//!\n//! Their suggestion is to vary the formulas used by context, using a\n//! \\\\( \\mathbb P\\^2 \\rightarrow \\mathbb P\\^2 \\\\) doubling formula when\n//! a doubling is followed\n//! by another doubling, a \\\\( \\mathbb P\\^2 \\rightarrow \\mathbb P\\^3 \\\\)\n//! doubling formula when a doubling is followed by an addition, and\n//! computing point additions using a \\\\( \\mathbb P\\^3 \\times \\mathbb P\\^3\n//! \\rightarrow \\mathbb P\\^2 \\\\) formula.\n//!\n//! The `ref10` reference implementation of [Ed25519][ed25519], by\n//! Bernstein, Duif, Lange, Schwabe, and Yang, tweaks\n//! this strategy, factoring the addition formulas through the\n//! completion \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1 \\\\), so that the\n//! output of an addition or doubling always lies in \\\\( \\mathbb P\\^1 \\times\n//! \\mathbb P\\^1\\\\), and the choice of which formula to use is replaced\n//! by a choice of whether to convert the result to \\\\( \\mathbb P\\^2 \\\\)\n//! or \\\\(\\mathbb P\\^3 \\\\). However, this tweak is not described in\n//! their paper, only in their software.\n//!\n//! Our naming for the `CompletedPoint` (\\\\(\\mathbb P\\^1 \\times \\mathbb\n//! P\\^1 \\\\)), `ProjectivePoint` (\\\\(\\mathbb P\\^2 \\\\)), and\n//! `EdwardsPoint` (\\\\(\\mathbb P\\^3 \\\\)) structs follows the naming in\n//! Adam Langley's [Golang ed25519][agl-ed25519] implementation, which\n//! `curve25519-dalek` was originally derived from.\n//!\n//! Finally, to accelerate readditions, we use two cached point formats\n//! in \"Niels coordinates\", named for Niels Duif,\n//! one for the affine model and one for the \\\\( \\mathbb P\\^3 \\\\) model:\n//!\n//! * `AffineNielsPoint`: \\\\( (y+x, y-x, 2dxy) \\\\)\n//! * `ProjectiveNielsPoint`: \\\\( (Y+X, Y-X, Z, 2dXY) \\\\)\n//!\n//! [smith-moderncrypto]: https://moderncrypto.org/mail-archive/curves/2016/000807.html\n//! [costello-smith-2017]: https://eprint.iacr.org/2017/212\n//! [hisil-wong-carter-dawson-2008]: https://www.iacr.org/archive/asiacrypt2008/53500329/53500329.pdf\n//! [bernstein-birkner-joye-lange-peters-2008]: https://eprint.iacr.org/2008/013\n//! [cohen-miyaji-ono-1998]: https://link.springer.com/content/pdf/10.1007%2F3-540-49649-1_6.pdf\n//! [ed25519]: https://eprint.iacr.org/2011/368\n//! [agl-ed25519]: https://github.com/agl/ed25519\n\n#![allow(non_snake_case)]\n\nuse core::fmt::Debug;\nuse core::ops::{Add, Neg, Sub};\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\nuse crate::constants;\n\nuse crate::edwards::EdwardsPoint;\nuse crate::field::FieldElement;\nuse crate::traits::ValidityCheck;\n\n// ------------------------------------------------------------------------\n// Internal point representations\n// ------------------------------------------------------------------------\n\n/// A `ProjectivePoint` is a point \\\\((X:Y:Z)\\\\) on the \\\\(\\mathbb\n/// P\\^2\\\\) model of the curve.\n/// A point \\\\((x,y)\\\\) in the affine model corresponds to\n/// \\\\((x:y:1)\\\\).\n///\n/// More details on the relationships between the different curve models\n/// can be found in the module-level documentation.\n#[allow(missing_docs)]\n#[derive(Copy, Clone)]\npub struct ProjectivePoint {\n pub X: FieldElement,\n pub Y: FieldElement,\n pub Z: FieldElement,\n}\n\n/// A `CompletedPoint` is a point \\\\(((X:Z), (Y:T))\\\\) on the \\\\(\\mathbb\n/// P\\^1 \\times \\mathbb P\\^1 \\\\) model of the curve.\n/// A point (x,y) in the affine model corresponds to \\\\( ((x:1),(y:1))\n/// \\\\).\n///\n/// More details on the relationships between the different curve models\n/// can be found in the module-level documentation.\n#[derive(Copy, Clone)]\n#[allow(missing_docs)]\npub struct CompletedPoint {\n pub X: FieldElement,\n pub Y: FieldElement,\n pub Z: FieldElement,\n pub T: FieldElement,\n}\n\n/// A pre-computed point in the affine model for the curve, represented as\n/// \\\\((y+x, y-x, 2dxy)\\\\) in \"Niels coordinates\".\n///\n/// More details on the relationships between the different curve models\n/// can be found in the module-level documentation.\n// Safe to derive Eq because affine coordinates.\n#[derive(Copy, Clone, Eq, PartialEq)]\n#[allow(missing_docs)]\npub struct AffineNielsPoint {\n pub y_plus_x: FieldElement,\n pub y_minus_x: FieldElement,\n pub xy2d: FieldElement,\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for AffineNielsPoint {\n fn zeroize(&mut self) {\n self.y_plus_x.zeroize();\n self.y_minus_x.zeroize();\n self.xy2d.zeroize();\n }\n}\n\n/// A pre-computed point on the \\\\( \\mathbb P\\^3 \\\\) model for the\n/// curve, represented as \\\\((Y+X, Y-X, Z, 2dXY)\\\\) in \"Niels coordinates\".\n///\n/// More details on the relationships between the different curve models\n/// can be found in the module-level documentation.\n#[derive(Copy, Clone)]\n#[allow(missing_docs)]\npub struct ProjectiveNielsPoint {\n pub Y_plus_X: FieldElement,\n pub Y_minus_X: FieldElement,\n pub Z: FieldElement,\n pub T2d: FieldElement,\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for ProjectiveNielsPoint {\n fn zeroize(&mut self) {\n self.Y_plus_X.zeroize();\n self.Y_minus_X.zeroize();\n self.Z.zeroize();\n self.T2d.zeroize();\n }\n}\n\n// ------------------------------------------------------------------------\n// Constructors\n// ------------------------------------------------------------------------\n\nuse crate::traits::Identity;\n\nimpl Identity for ProjectivePoint {\n fn identity() -> ProjectivePoint {\n ProjectivePoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n }\n }\n}\n\nimpl Identity for ProjectiveNielsPoint {\n fn identity() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::ONE,\n Y_minus_X: FieldElement::ONE,\n Z: FieldElement::ONE,\n T2d: FieldElement::ZERO,\n }\n }\n}\n\nimpl Default for ProjectiveNielsPoint {\n fn default() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint::identity()\n }\n}\n\nimpl Identity for AffineNielsPoint {\n fn identity() -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: FieldElement::ONE,\n y_minus_x: FieldElement::ONE,\n xy2d: FieldElement::ZERO,\n }\n }\n}\n\nimpl Default for AffineNielsPoint {\n fn default() -> AffineNielsPoint {\n AffineNielsPoint::identity()\n }\n}\n\n// ------------------------------------------------------------------------\n// Validity checks (for debugging, not CT)\n// ------------------------------------------------------------------------\n\nimpl ValidityCheck for ProjectivePoint {\n fn is_valid(&self) -> bool {\n // Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,\n // homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ = self.Z.square();\n let ZZZZ = ZZ.square();\n let lhs = &(&YY - &XX) * &ZZ;\n let rhs = &ZZZZ + &(&constants::EDWARDS_D * &(&XX * &YY));\n\n lhs == rhs\n }\n}\n\n// ------------------------------------------------------------------------\n// Constant-time assignment\n// ------------------------------------------------------------------------\n\nimpl ConditionallySelectable for ProjectiveNielsPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::conditional_select(&a.Y_plus_X, &b.Y_plus_X, choice),\n Y_minus_X: FieldElement::conditional_select(&a.Y_minus_X, &b.Y_minus_X, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T2d: FieldElement::conditional_select(&a.T2d, &b.T2d, choice),\n }\n }\n\n fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.Y_plus_X.conditional_assign(&other.Y_plus_X, choice);\n self.Y_minus_X.conditional_assign(&other.Y_minus_X, choice);\n self.Z.conditional_assign(&other.Z, choice);\n self.T2d.conditional_assign(&other.T2d, choice);\n }\n}\n\nimpl ConditionallySelectable for AffineNielsPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n AffineNielsPoint {\n y_plus_x: FieldElement::conditional_select(&a.y_plus_x, &b.y_plus_x, choice),\n y_minus_x: FieldElement::conditional_select(&a.y_minus_x, &b.y_minus_x, choice),\n xy2d: FieldElement::conditional_select(&a.xy2d, &b.xy2d, choice),\n }\n }\n\n fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.y_plus_x.conditional_assign(&other.y_plus_x, choice);\n self.y_minus_x.conditional_assign(&other.y_minus_x, choice);\n self.xy2d.conditional_assign(&other.xy2d, choice);\n }\n}\n\n// ------------------------------------------------------------------------\n// Point conversions\n// ------------------------------------------------------------------------\n\nimpl ProjectivePoint {\n /// Convert this point from the \\\\( \\mathbb P\\^2 \\\\) model to the\n /// \\\\( \\mathbb P\\^3 \\\\) model.\n ///\n /// This costs \\\\(3 \\mathrm M + 1 \\mathrm S\\\\).\n pub fn as_extended(&self) -> EdwardsPoint {\n EdwardsPoint {\n X: &self.X * &self.Z,\n Y: &self.Y * &self.Z,\n Z: self.Z.square(),\n T: &self.X * &self.Y,\n }\n }\n}\n\nimpl CompletedPoint {\n /// Convert this point from the \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1\n /// \\\\) model to the \\\\( \\mathbb P\\^2 \\\\) model.\n ///\n /// This costs \\\\(3 \\mathrm M \\\\).\n pub fn as_projective(&self) -> ProjectivePoint {\n ProjectivePoint {\n X: &self.X * &self.T,\n Y: &self.Y * &self.Z,\n Z: &self.Z * &self.T,\n }\n }\n\n /// Convert this point from the \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1\n /// \\\\) model to the \\\\( \\mathbb P\\^3 \\\\) model.\n ///\n /// This costs \\\\(4 \\mathrm M \\\\).\n pub fn as_extended(&self) -> EdwardsPoint {\n EdwardsPoint {\n X: &self.X * &self.T,\n Y: &self.Y * &self.Z,\n Z: &self.Z * &self.T,\n T: &self.X * &self.Y,\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Doubling\n// ------------------------------------------------------------------------\n\nimpl ProjectivePoint {\n /// Double this point: return self + self\n pub fn double(&self) -> CompletedPoint {\n // Double()\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ2 = self.Z.square2();\n let X_plus_Y = &self.X + &self.Y;\n let X_plus_Y_sq = X_plus_Y.square();\n let YY_plus_XX = &YY + &XX;\n let YY_minus_XX = &YY - &XX;\n\n CompletedPoint {\n X: &X_plus_Y_sq - &YY_plus_XX,\n Y: YY_plus_XX,\n Z: YY_minus_XX,\n T: &ZZ2 - &YY_minus_XX,\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Addition and Subtraction\n// ------------------------------------------------------------------------\n\n// XXX(hdevalence) These were doc(hidden) so they don't appear in the\n// public API docs.\n// However, that prevents them being used with --document-private-items,\n// so comment out the doc(hidden) for now until this is resolved\n//\n// upstream rust issue: https://github.com/rust-lang/rust/issues/46380\n//#[doc(hidden)]\nimpl<'a> Add<&'a ProjectiveNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn add(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.Y_plus_X;\n let MM = &Y_minus_X * &other.Y_minus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &ZZ2 + &TT2d,\n T: &ZZ2 - &TT2d,\n }\n }\n}\n\n//#[doc(hidden)]\nimpl<'a> Sub<&'a ProjectiveNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn sub(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.Y_minus_X;\n let MP = &Y_minus_X * &other.Y_plus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &ZZ2 - &TT2d,\n T: &ZZ2 + &TT2d,\n }\n }\n}\n\n//#[doc(hidden)]\nimpl<'a> Add<&'a AffineNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn add(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.y_plus_x;\n let MM = &Y_minus_X * &other.y_minus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &Z2 + &Txy2d,\n T: &Z2 - &Txy2d,\n }\n }\n}\n\n//#[doc(hidden)]\nimpl<'a> Sub<&'a AffineNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn sub(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.y_minus_x;\n let MP = &Y_minus_X * &other.y_plus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &Z2 - &Txy2d,\n T: &Z2 + &Txy2d,\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Negation\n// ------------------------------------------------------------------------\n\nimpl Neg for &ProjectiveNielsPoint {\n type Output = ProjectiveNielsPoint;\n\n fn neg(self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: self.Y_minus_X,\n Y_minus_X: self.Y_plus_X,\n Z: self.Z,\n T2d: -(&self.T2d),\n }\n }\n}\n\nimpl Neg for &AffineNielsPoint {\n type Output = AffineNielsPoint;\n\n fn neg(self) -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: self.y_minus_x,\n y_minus_x: self.y_plus_x,\n xy2d: -(&self.xy2d),\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Debug traits\n// ------------------------------------------------------------------------\n\nimpl Debug for ProjectivePoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectivePoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z\n )\n }\n}\n\nimpl Debug for CompletedPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"CompletedPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }\n}\n\nimpl Debug for AffineNielsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"AffineNielsPoint{{\\n\\ty_plus_x: {:?},\\n\\ty_minus_x: {:?},\\n\\txy2d: {:?}\\n}}\",\n &self.y_plus_x, &self.y_minus_x, &self.xy2d\n )\n }\n}\n\nimpl Debug for ProjectiveNielsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectiveNielsPoint{{\\n\\tY_plus_X: {:?},\\n\\tY_minus_X: {:?},\\n\\tZ: {:?},\\n\\tT2d: {:?}\\n}}\",\n &self.Y_plus_X, &self.Y_minus_X, &self.Z, &self.T2d\n )\n }\n}\n"},{"id":7,"name":{"Local":"curve25519/solana-ed25519/src/edwards.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2020 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Group operations for Curve25519, in Edwards form.\n//!\n//! ## Encoding and Decoding\n//!\n//! Encoding is done by converting to and from a `CompressedEdwardsY`\n//! struct, which is a typed wrapper around `[u8; 32]`.\n//!\n//! ## Equality Testing\n//!\n//! The `EdwardsPoint` struct implements the [`subtle::ConstantTimeEq`]\n//! trait for constant-time equality checking, and also uses this to\n//! ensure `Eq` equality checking runs in constant time.\n//!\n//! ## Cofactor-related functions\n//!\n//! The order of the group of points on the curve \\\\(\\mathcal E\\\\)\n//! is \\\\(|\\mathcal E| = 8\\ell \\\\), so its structure is \\\\( \\mathcal\n//! E = \\mathcal E\\[8\\] \\times \\mathcal E[\\ell]\\\\). The torsion\n//! subgroup \\\\( \\mathcal E\\[8\\] \\\\) consists of eight points of small\n//! order. Technically, all of \\\\(\\mathcal E\\\\) is torsion, but we\n//! use the word only to refer to the small \\\\(\\mathcal E\\[8\\]\\\\) part, not\n//! the large prime-order \\\\(\\mathcal E[\\ell]\\\\) part.\n//!\n//! To test if a point is in \\\\( \\mathcal E\\[8\\] \\\\), use\n//! [`EdwardsPoint::is_small_order`].\n//!\n//! To test if a point is in \\\\( \\mathcal E[\\ell] \\\\), use\n//! [`EdwardsPoint::is_torsion_free`].\n//!\n//! To multiply by the cofactor, use [`EdwardsPoint::mul_by_cofactor`].\n//!\n//! To avoid dealing with cofactors entirely, consider using Ristretto.\n//!\n//! ## Scalars\n//!\n//! Scalars are represented by the [`Scalar`] struct. To construct a scalar, see\n//! [`Scalar::from_canonical_bytes`] or [`Scalar::from_bytes_mod_order_wide`].\n//!\n//! ## Scalar Multiplication\n//!\n//! Scalar multiplication on Edwards points is provided by:\n//!\n//! * the `*` operator between a `Scalar` and a `EdwardsPoint`, which\n//! performs constant-time variable-base scalar multiplication;\n//!\n//! * the `*` operator between a `Scalar` and a\n//! `EdwardsBasepointTable`, which performs constant-time fixed-base\n//! scalar multiplication;\n//!\n//! * an implementation of the\n//! [`MultiscalarMul`](../traits/trait.MultiscalarMul.html) trait for\n//! constant-time variable-base multiscalar multiplication;\n//!\n//! * an implementation of the\n//! [`VartimeMultiscalarMul`](../traits/trait.VartimeMultiscalarMul.html)\n//! trait for variable-time variable-base multiscalar multiplication;\n//!\n//! ## Implementation\n//!\n//! The Edwards arithmetic is implemented using the “extended twisted\n//! coordinates” of Hisil, Wong, Carter, and Dawson, and the\n//! corresponding complete formulas. For more details,\n//! see the [`curve_models` submodule][curve_models]\n//! of the internal documentation.\n//!\n//! ## Validity Checking\n//!\n//! There is no function for checking whether a point is valid.\n//! Instead, the `EdwardsPoint` struct is guaranteed to hold a valid\n//! point on the curve.\n//!\n//! We use the Rust type system to make invalid points\n//! unrepresentable: `EdwardsPoint` objects can only be created via\n//! successful decompression of a compressed point, or else by\n//! operations on other (valid) `EdwardsPoint`s.\n//!\n//! [curve_models]: https://docs.rs/curve25519-dalek/latest/curve25519-dalek/backend/serial/curve_models/index.html\n\n// We allow non snake_case names because coordinates in projective space are\n// traditionally denoted by the capitalisation of their respective\n// counterparts in affine space. Yeah, you heard me, rustc, I'm gonna have my\n// affine and projective cakes and eat both of them too.\n#![allow(non_snake_case)]\n\nmod affine;\n\nuse cfg_if::cfg_if;\nuse core::array::TryFromSliceError;\nuse core::borrow::Borrow;\nuse core::fmt::Debug;\nuse core::iter::Sum;\nuse core::ops::{Add, Neg, Sub};\nuse core::ops::{AddAssign, SubAssign};\nuse core::ops::{Mul, MulAssign};\n\n#[cfg(feature = \"digest\")]\nuse digest::{\n FixedOutput, HashMarker, array::typenum::U64, block_api::BlockSizeUser, consts::True,\n typenum::IsGreater,\n};\n\n#[cfg(feature = \"group\")]\nuse {\n group::{GroupEncoding, cofactor::CofactorGroup, prime::PrimeGroup},\n rand_core::RngCore as GroupRngCore,\n subtle::CtOption,\n};\n\n#[cfg(feature = \"rand_core\")]\nuse rand_core::{CryptoRng, RngCore};\n\nuse subtle::Choice;\nuse subtle::ConditionallyNegatable;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\nuse crate::constants;\n\nuse crate::field::FieldElement;\nuse crate::scalar::{Scalar, clamp_integer};\n\nuse crate::montgomery::MontgomeryPoint;\n\nuse crate::backend::serial::curve_models::AffineNielsPoint;\nuse crate::backend::serial::curve_models::CompletedPoint;\nuse crate::backend::serial::curve_models::ProjectiveNielsPoint;\nuse crate::backend::serial::curve_models::ProjectivePoint;\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::window::{\n LookupTableRadix16, LookupTableRadix32, LookupTableRadix64, LookupTableRadix128,\n LookupTableRadix256,\n};\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::traits::BasepointTable;\n\nuse crate::traits::ValidityCheck;\nuse crate::traits::{Identity, IsIdentity};\n\nuse affine::AffinePoint;\n\n#[cfg(feature = \"alloc\")]\nuse crate::traits::MultiscalarMul;\n#[cfg(feature = \"alloc\")]\nuse crate::traits::{VartimeMultiscalarMul, VartimePrecomputedMultiscalarMul};\n#[cfg(feature = \"alloc\")]\nuse alloc::vec::Vec;\n\n// ------------------------------------------------------------------------\n// Compressed points\n// ------------------------------------------------------------------------\n\n/// In \"Edwards y\" / \"Ed25519\" format, the curve point \\\\((x,y)\\\\) is\n/// determined by the \\\\(y\\\\)-coordinate and the sign of \\\\(x\\\\).\n///\n/// The first 255 bits of a `CompressedEdwardsY` represent the\n/// \\\\(y\\\\)-coordinate. The high bit of the 32nd byte gives the sign of \\\\(x\\\\).\n#[allow(clippy::derived_hash_with_manual_eq)]\n#[derive(Copy, Clone, Hash)]\npub struct CompressedEdwardsY(pub [u8; 32]);\n\nimpl ConstantTimeEq for CompressedEdwardsY {\n fn ct_eq(&self, other: &CompressedEdwardsY) -> Choice {\n self.as_bytes().ct_eq(other.as_bytes())\n }\n}\n\nimpl Eq for CompressedEdwardsY {}\nimpl PartialEq for CompressedEdwardsY {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl Debug for CompressedEdwardsY {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"CompressedEdwardsY: {:?}\", self.as_bytes())\n }\n}\n\nimpl CompressedEdwardsY {\n /// View this `CompressedEdwardsY` as an array of bytes.\n pub const fn as_bytes(&self) -> &[u8; 32] {\n &self.0\n }\n\n /// Copy this `CompressedEdwardsY` to an array of bytes.\n pub const fn to_bytes(&self) -> [u8; 32] {\n self.0\n }\n\n /// Attempt to decompress to an `EdwardsPoint`.\n ///\n /// Returns `None` if the input is not the \\\\(y\\\\)-coordinate of a\n /// curve point.\n pub fn decompress(&self) -> Option {\n let (is_valid_y_coord, X, Y, Z) = decompress::step_1(self);\n\n if is_valid_y_coord.into() {\n Some(decompress::step_2(self, X, Y, Z))\n } else {\n None\n }\n }\n}\n\nmod decompress {\n use super::*;\n\n #[rustfmt::skip] // keep alignment of explanatory comments\n pub(super) fn step_1(\n repr: &CompressedEdwardsY,\n ) -> (Choice, FieldElement, FieldElement, FieldElement) {\n let Y = FieldElement::from_bytes(repr.as_bytes());\n let Z = FieldElement::ONE;\n let YY = Y.square();\n let u = &YY - &Z; // u = y²-1\n let v = &(&YY * &constants::EDWARDS_D) + &Z; // v = dy²+1\n let (is_valid_y_coord, X) = FieldElement::sqrt_ratio_i(&u, &v);\n\n (is_valid_y_coord, X, Y, Z)\n }\n\n #[rustfmt::skip]\n pub(super) fn step_2(\n repr: &CompressedEdwardsY,\n mut X: FieldElement,\n Y: FieldElement,\n Z: FieldElement,\n ) -> EdwardsPoint {\n // FieldElement::sqrt_ratio_i always returns the nonnegative square root,\n // so we negate according to the supplied sign bit.\n let compressed_sign_bit = Choice::from(repr.as_bytes()[31] >> 7);\n X.conditional_negate(compressed_sign_bit);\n\n EdwardsPoint {\n X,\n Y,\n Z,\n T: &X * &Y,\n }\n }\n}\n\nimpl TryFrom<&[u8]> for CompressedEdwardsY {\n type Error = TryFromSliceError;\n\n fn try_from(slice: &[u8]) -> Result {\n Self::from_slice(slice)\n }\n}\n\n// ------------------------------------------------------------------------\n// Serde support\n// ------------------------------------------------------------------------\n// Serializes to and from `EdwardsPoint` directly, doing compression\n// and decompression internally. This means that users can create\n// structs containing `EdwardsPoint`s and use Serde's derived\n// serializers to serialize those structures.\n\n#[cfg(feature = \"digest\")]\nuse constants::ED25519_SQRTAM2;\n#[cfg(feature = \"serde\")]\nuse serde::de::Visitor;\n#[cfg(feature = \"serde\")]\nuse serde::{Deserialize, Deserializer, Serialize, Serializer};\n\n#[cfg(feature = \"serde\")]\nimpl Serialize for EdwardsPoint {\n fn serialize(&self, serializer: S) -> Result\n where\n S: Serializer,\n {\n use serde::ser::SerializeTuple;\n let mut tup = serializer.serialize_tuple(32)?;\n for byte in self.compress().as_bytes().iter() {\n tup.serialize_element(byte)?;\n }\n tup.end()\n }\n}\n\n#[cfg(feature = \"serde\")]\nimpl Serialize for CompressedEdwardsY {\n fn serialize(&self, serializer: S) -> Result\n where\n S: Serializer,\n {\n use serde::ser::SerializeTuple;\n let mut tup = serializer.serialize_tuple(32)?;\n for byte in self.as_bytes().iter() {\n tup.serialize_element(byte)?;\n }\n tup.end()\n }\n}\n\n#[cfg(feature = \"serde\")]\nimpl<'de> Deserialize<'de> for EdwardsPoint {\n fn deserialize(deserializer: D) -> Result\n where\n D: Deserializer<'de>,\n {\n struct EdwardsPointVisitor;\n\n impl<'de> Visitor<'de> for EdwardsPointVisitor {\n type Value = EdwardsPoint;\n\n fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n formatter.write_str(\"a valid point in Edwards y + sign format\")\n }\n\n fn visit_seq(self, mut seq: A) -> Result\n where\n A: serde::de::SeqAccess<'de>,\n {\n let mut bytes = [0u8; 32];\n #[allow(clippy::needless_range_loop)]\n for i in 0..32 {\n bytes[i] = seq\n .next_element()?\n .ok_or_else(|| serde::de::Error::invalid_length(i, &\"expected 32 bytes\"))?;\n }\n CompressedEdwardsY(bytes)\n .decompress()\n .ok_or_else(|| serde::de::Error::custom(\"decompression failed\"))\n }\n }\n\n deserializer.deserialize_tuple(32, EdwardsPointVisitor)\n }\n}\n\n#[cfg(feature = \"serde\")]\nimpl<'de> Deserialize<'de> for CompressedEdwardsY {\n fn deserialize(deserializer: D) -> Result\n where\n D: Deserializer<'de>,\n {\n struct CompressedEdwardsYVisitor;\n\n impl<'de> Visitor<'de> for CompressedEdwardsYVisitor {\n type Value = CompressedEdwardsY;\n\n fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n formatter.write_str(\"32 bytes of data\")\n }\n\n fn visit_seq(self, mut seq: A) -> Result\n where\n A: serde::de::SeqAccess<'de>,\n {\n let mut bytes = [0u8; 32];\n #[allow(clippy::needless_range_loop)]\n for i in 0..32 {\n bytes[i] = seq\n .next_element()?\n .ok_or_else(|| serde::de::Error::invalid_length(i, &\"expected 32 bytes\"))?;\n }\n Ok(CompressedEdwardsY(bytes))\n }\n }\n\n deserializer.deserialize_tuple(32, CompressedEdwardsYVisitor)\n }\n}\n\n// ------------------------------------------------------------------------\n// Internal point representations\n// ------------------------------------------------------------------------\n\n/// An `EdwardsPoint` represents a point on the Edwards form of Curve25519.\n#[derive(Copy, Clone)]\n#[allow(missing_docs)]\npub struct EdwardsPoint {\n pub(crate) X: FieldElement,\n pub(crate) Y: FieldElement,\n pub(crate) Z: FieldElement,\n pub(crate) T: FieldElement,\n}\n\n// ------------------------------------------------------------------------\n// Constructors\n// ------------------------------------------------------------------------\n\nimpl Identity for CompressedEdwardsY {\n fn identity() -> CompressedEdwardsY {\n CompressedEdwardsY([\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ])\n }\n}\n\nimpl Default for CompressedEdwardsY {\n fn default() -> CompressedEdwardsY {\n CompressedEdwardsY::identity()\n }\n}\n\nimpl CompressedEdwardsY {\n /// Construct a `CompressedEdwardsY` from a slice of bytes.\n ///\n /// # Errors\n ///\n /// Returns [`TryFromSliceError`] if the input `bytes` slice does not have\n /// a length of 32.\n pub fn from_slice(bytes: &[u8]) -> Result {\n bytes.try_into().map(CompressedEdwardsY)\n }\n}\n\nimpl Identity for EdwardsPoint {\n fn identity() -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n T: FieldElement::ZERO,\n }\n }\n}\n\nimpl Default for EdwardsPoint {\n fn default() -> EdwardsPoint {\n EdwardsPoint::identity()\n }\n}\n\n// ------------------------------------------------------------------------\n// Zeroize implementations for wiping points from memory\n// ------------------------------------------------------------------------\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for CompressedEdwardsY {\n /// Reset this `CompressedEdwardsY` to the compressed form of the identity element.\n fn zeroize(&mut self) {\n self.0.zeroize();\n self.0[0] = 1;\n }\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for EdwardsPoint {\n /// Reset this `EdwardsPoint` to the identity element.\n fn zeroize(&mut self) {\n self.X.zeroize();\n self.Y = FieldElement::ONE;\n self.Z = FieldElement::ONE;\n self.T.zeroize();\n }\n}\n\n// ------------------------------------------------------------------------\n// Validity checks (for debugging, not CT)\n// ------------------------------------------------------------------------\n\nimpl ValidityCheck for EdwardsPoint {\n fn is_valid(&self) -> bool {\n let point_on_curve = self.as_projective().is_valid();\n let on_segre_image = (&self.X * &self.Y) == (&self.Z * &self.T);\n\n point_on_curve && on_segre_image\n }\n}\n\n// ------------------------------------------------------------------------\n// Constant-time assignment\n// ------------------------------------------------------------------------\n\nimpl ConditionallySelectable for EdwardsPoint {\n fn conditional_select(a: &EdwardsPoint, b: &EdwardsPoint, choice: Choice) -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::conditional_select(&a.X, &b.X, choice),\n Y: FieldElement::conditional_select(&a.Y, &b.Y, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T: FieldElement::conditional_select(&a.T, &b.T, choice),\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Equality\n// ------------------------------------------------------------------------\n\nimpl ConstantTimeEq for EdwardsPoint {\n fn ct_eq(&self, other: &EdwardsPoint) -> Choice {\n // We would like to check that the point (X/Z, Y/Z) is equal to\n // the point (X'/Z', Y'/Z') without converting into affine\n // coordinates (x, y) and (x', y'), which requires two inversions.\n // We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to\n // (xZ)Z' = (x'Z')Z, and similarly for the y-coordinate.\n\n (&self.X * &other.Z).ct_eq(&(&other.X * &self.Z))\n & (&self.Y * &other.Z).ct_eq(&(&other.Y * &self.Z))\n }\n}\n\nimpl PartialEq for EdwardsPoint {\n fn eq(&self, other: &EdwardsPoint) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl Eq for EdwardsPoint {}\n\n// ------------------------------------------------------------------------\n// Point conversions\n// ------------------------------------------------------------------------\n\nimpl EdwardsPoint {\n /// Convert to a ProjectiveNielsPoint\n pub(crate) fn as_projective_niels(&self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: &self.Y + &self.X,\n Y_minus_X: &self.Y - &self.X,\n Z: self.Z,\n T2d: &self.T * &constants::EDWARDS_D2,\n }\n }\n\n /// Convert the representation of this point from extended\n /// coordinates to projective coordinates.\n ///\n /// Free.\n pub(crate) const fn as_projective(&self) -> ProjectivePoint {\n ProjectivePoint {\n X: self.X,\n Y: self.Y,\n Z: self.Z,\n }\n }\n\n /// Dehomogenize to a `AffineNielsPoint`.\n /// Mainly for testing.\n pub(crate) fn as_affine_niels(&self) -> AffineNielsPoint {\n let recip = self.Z.invert();\n let x = &self.X * &recip;\n let y = &self.Y * &recip;\n let xy2d = &(&x * &y) * &constants::EDWARDS_D2;\n AffineNielsPoint {\n y_plus_x: &y + &x,\n y_minus_x: &y - &x,\n xy2d,\n }\n }\n\n /// Dehomogenize to `AffinePoint`.\n pub(crate) fn to_affine(self) -> AffinePoint {\n let recip = self.Z.invert();\n let x = &self.X * &recip;\n let y = &self.Y * &recip;\n AffinePoint { x, y }\n }\n\n /// Convert this `EdwardsPoint` on the Edwards model to the\n /// corresponding `MontgomeryPoint` on the Montgomery model.\n ///\n /// This function has one exceptional case; the identity point of\n /// the Edwards curve is sent to the 2-torsion point \\\\((0,0)\\\\)\n /// on the Montgomery curve.\n ///\n /// Note that this is a one-way conversion, since the Montgomery\n /// model does not retain sign information.\n pub fn to_montgomery(&self) -> MontgomeryPoint {\n // We have u = (1+y)/(1-y) = (Z+Y)/(Z-Y).\n //\n // The denominator is zero only when y=1, the identity point of\n // the Edwards curve. Since 0.invert() = 0, in this case we\n // compute the 2-torsion point (0,0).\n let U = &self.Z + &self.Y;\n let W = &self.Z - &self.Y;\n let u = &U * &W.invert();\n MontgomeryPoint(u.to_bytes())\n }\n\n /// Converts a large batch of points to Edwards at once. This has the same\n /// behavior on identity elements as [`Self::to_montgomery`].\n #[cfg(feature = \"alloc\")]\n pub fn to_montgomery_batch(eds: &[Self]) -> Vec {\n // Do the same thing as the above function. u = (1+y)/(1-y) = (Z+Y)/(Z-Y).\n // We will do this in a batch, ie compute (Z-Y) for all the input\n // points, then invert them all at once\n\n // Compute the denominators in a batch\n let mut denominators = eds.iter().map(|p| &p.Z - &p.Y).collect::>();\n FieldElement::invert_batch_alloc(&mut denominators);\n\n // Now compute the Montgomery u coordinate for every point\n let mut ret = Vec::with_capacity(eds.len());\n for (ed, d) in eds.iter().zip(denominators.iter()) {\n let u = &(&ed.Z + &ed.Y) * d;\n ret.push(MontgomeryPoint(u.to_bytes()));\n }\n\n ret\n }\n\n /// Compress this point to `CompressedEdwardsY` format.\n pub fn compress(&self) -> CompressedEdwardsY {\n self.to_affine().compress()\n }\n\n /// Compress several `EdwardsPoint`s into `CompressedEdwardsY` format, using a batch inversion\n /// for a significant speedup.\n #[cfg(feature = \"alloc\")]\n pub fn compress_batch(inputs: &[EdwardsPoint]) -> Vec {\n let mut zs = inputs.iter().map(|input| input.Z).collect::>();\n FieldElement::invert_batch_alloc(&mut zs);\n\n inputs\n .iter()\n .zip(&zs)\n .map(|(input, recip)| {\n let x = &input.X * recip;\n let y = &input.Y * recip;\n AffinePoint { x, y }.compress()\n })\n .collect()\n }\n\n #[cfg(feature = \"digest\")]\n // The function `map_to_curve` calculates an [EdwardsPoint] from a [FieldElement].\n fn map_to_curve(fe: FieldElement) -> EdwardsPoint {\n let c1 = ED25519_SQRTAM2;\n\n // 1. (xMn, xMd, yMn, yMd) = map_to_curve_elligator2_curve25519(u)\n let (xMn, xMd, yMn, yMd) = crate::montgomery::elligator_encode(&fe);\n // 2. xn = xMn * yMd\n let xn = &xMn * &yMd;\n // 3. xn = xn * c1\n let xn = &xn * &c1;\n // 4. xd = xMd * yMn\n let xd = &xMd * &yMn;\n // 5. yn = xMn - xMd\n let yn = &xMn - &xMd;\n // 6. yd = xMn + xMd\n let yd = &xMn + &xMd;\n // 7. tv1 = xd * yd\n let tv1 = &xd * &yd;\n // 8. e = tv1 == 0\n let e = tv1.ct_eq(&FieldElement::ZERO);\n // 9. xn = CMOV(xn, 0, e)\n let xn = FieldElement::conditional_select(&xn, &FieldElement::ZERO, e);\n // 10. xd = CMOV(xd, 1, e)\n let xd = FieldElement::conditional_select(&xd, &FieldElement::ONE, e);\n // 11. yn = CMOV(yn, 1, e)\n let yn = FieldElement::conditional_select(&yn, &FieldElement::ONE, e);\n // 12. yd = CMOV(yd, 1, e)\n let yd = FieldElement::conditional_select(&yd, &FieldElement::ONE, e);\n // 13. return (xn, xd, yn, yd)\n\n EdwardsPoint {\n X: &xn * &yd,\n Y: &xd * &yn,\n Z: &xd * &yd,\n T: &xn * &yn,\n }\n }\n\n #[cfg(feature = \"digest\")]\n /// Perform encode to curve per RFC 9380, with explicit hash function and domain separator\n /// `domain_sep`, using the Twisted Edwards Elligator 2 method. The input is the concatenation\n /// of the elements of `bytes`. Likewise for the domain separator with `domain_sep`. At least\n /// one element of `domain_sep`, MUST be nonempty, and the concatenation MUST NOT exceed 255\n /// bytes.\n ///\n /// The specification names SHA-512 as an example of a secure hash to use with this function,\n /// but you may use any 512-bit hash within reason (see the\n /// [`spec`](https://www.rfc-editor.org/rfc/rfc9380.html#section-5.2) for details).\n ///\n /// # Warning\n /// `encode_to_curve` is a nonuniform encoding from byte strings to points in `G`. That is,\n /// the distribution of its output is not uniformly random in `G`: the set of possible outputs\n /// of encode_to_curve is only a fraction of the points in `G`, and some points in this set\n /// are more likely to be output than others.\n ///\n /// If your application needs the distribution of the output to be statistically close to\n /// uniform in `G`, use [Self::hash_to_curve] instead.\n ///\n /// # Panics\n /// Panics if `domain_sep.collect().len() == 0` or `> 255`\n pub fn encode_to_curve(bytes: &[&[u8]], domain_sep: &[&[u8]]) -> EdwardsPoint\n where\n D: BlockSizeUser + Default + FixedOutput + HashMarker,\n D::BlockSize: IsGreater,\n {\n // For reference see\n // https://www.rfc-editor.org/rfc/rfc9380.html#name-elligator-2-method-2\n\n let fe = FieldElement::hash_to_field::(bytes, domain_sep);\n let Q = Self::map_to_curve(fe[0]);\n Q.mul_by_cofactor()\n }\n\n #[cfg(feature = \"digest\")]\n /// Perform a hash to curve per RFC 9380, with explicit hash function and domain separator\n /// `domain_sep`, using the Twisted Edwards Elligator 2 method. The input is the concatenation\n /// of the elements of `bytes`. Likewise for the domain separator with `domain_sep`. At least\n /// one element of `domain_sep`, MUST be nonempty, and the concatenation MUST NOT exceed\n /// 255 bytes.\n ///\n /// The specification names SHA-512 as an example of a secure hash to use with this function,\n /// but you may use any 512-bit hash within reason (see the\n /// [`spec`](https://www.rfc-editor.org/rfc/rfc9380.html#section-5.2) for details).\n ///\n /// # Panics\n /// Panics if `domain_sep.collect().len() == 0` or `> 255`\n pub fn hash_to_curve(bytes: &[&[u8]], domain_sep: &[&[u8]]) -> EdwardsPoint\n where\n D: BlockSizeUser + Default + FixedOutput + HashMarker,\n D::BlockSize: IsGreater,\n {\n // For reference see\n // https://www.rfc-editor.org/rfc/rfc9380.html#name-elligator-2-method-2\n\n let fe = FieldElement::hash_to_field::(bytes, domain_sep);\n let Q0 = Self::map_to_curve(fe[0]);\n let Q1 = Self::map_to_curve(fe[1]);\n\n let R = Q0 + Q1;\n R.mul_by_cofactor()\n }\n\n /// Return an `EdwardsPoint` chosen uniformly at random using a user-provided RNG.\n ///\n /// # Inputs\n ///\n /// * `rng`: any RNG which implements `CryptoRng` and `RngCore`\n ///\n /// # Returns\n ///\n /// A random `EdwardsPoint`.\n ///\n /// # Implementation\n ///\n /// Uses rejection sampling, generating a random `CompressedEdwardsY` and then attempting point\n /// decompression, rejecting invalid points.\n #[cfg(feature = \"rand_core\")]\n pub fn random(rng: &mut R) -> Self {\n let mut repr = CompressedEdwardsY([0u8; 32]);\n loop {\n rng.fill_bytes(&mut repr.0);\n if let Some(p) = repr.decompress() {\n if !IsIdentity::is_identity(&p) {\n break p;\n }\n }\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Doubling\n// ------------------------------------------------------------------------\n\nimpl EdwardsPoint {\n /// Add this point to itself.\n pub(crate) fn double(&self) -> EdwardsPoint {\n self.as_projective().double().as_extended()\n }\n}\n\n// ------------------------------------------------------------------------\n// Addition and Subtraction\n// ------------------------------------------------------------------------\n\nimpl<'a> Add<&'a EdwardsPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn add(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self + &other.as_projective_niels()).as_extended()\n }\n}\n\ndefine_add_variants!(\n LHS = EdwardsPoint,\n RHS = EdwardsPoint,\n Output = EdwardsPoint\n);\n\nimpl<'a> AddAssign<&'a EdwardsPoint> for EdwardsPoint {\n fn add_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) + _rhs;\n }\n}\n\ndefine_add_assign_variants!(LHS = EdwardsPoint, RHS = EdwardsPoint);\n\nimpl<'a> Sub<&'a EdwardsPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn sub(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self - &other.as_projective_niels()).as_extended()\n }\n}\n\ndefine_sub_variants!(\n LHS = EdwardsPoint,\n RHS = EdwardsPoint,\n Output = EdwardsPoint\n);\n\nimpl<'a> SubAssign<&'a EdwardsPoint> for EdwardsPoint {\n fn sub_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) - _rhs;\n }\n}\n\ndefine_sub_assign_variants!(LHS = EdwardsPoint, RHS = EdwardsPoint);\n\nimpl Sum for EdwardsPoint\nwhere\n T: Borrow,\n{\n fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(EdwardsPoint::identity(), |acc, item| acc + item.borrow())\n }\n}\n\n// ------------------------------------------------------------------------\n// Negation\n// ------------------------------------------------------------------------\n\nimpl Neg for &EdwardsPoint {\n type Output = EdwardsPoint;\n\n fn neg(self) -> EdwardsPoint {\n EdwardsPoint {\n X: -(&self.X),\n Y: self.Y,\n Z: self.Z,\n T: -(&self.T),\n }\n }\n}\n\nimpl Neg for EdwardsPoint {\n type Output = EdwardsPoint;\n\n fn neg(self) -> EdwardsPoint {\n -&self\n }\n}\n\n// ------------------------------------------------------------------------\n// Scalar multiplication\n// ------------------------------------------------------------------------\n\nimpl<'a> MulAssign<&'a Scalar> for EdwardsPoint {\n fn mul_assign(&mut self, scalar: &'a Scalar) {\n let result = (self as &EdwardsPoint) * scalar;\n *self = result;\n }\n}\n\ndefine_mul_assign_variants!(LHS = EdwardsPoint, RHS = Scalar);\n\ndefine_mul_variants!(LHS = EdwardsPoint, RHS = Scalar, Output = EdwardsPoint);\ndefine_mul_variants!(LHS = Scalar, RHS = EdwardsPoint, Output = EdwardsPoint);\n\nimpl<'a> Mul<&'a Scalar> for &EdwardsPoint {\n type Output = EdwardsPoint;\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, scalar: &'a Scalar) -> EdwardsPoint {\n crate::backend::variable_base_mul(self, scalar)\n }\n}\n\nimpl<'a> Mul<&'a EdwardsPoint> for &Scalar {\n type Output = EdwardsPoint;\n\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, point: &'a EdwardsPoint) -> EdwardsPoint {\n point * self\n }\n}\n\nimpl EdwardsPoint {\n /// Fixed-base scalar multiplication by the Ed25519 base point.\n ///\n /// Uses precomputed basepoint tables when the `precomputed-tables` feature\n /// is enabled, trading off increased code size for ~4x better performance.\n pub fn mul_base(scalar: &Scalar) -> Self {\n #[cfg(not(feature = \"precomputed-tables\"))]\n {\n scalar * constants::ED25519_BASEPOINT_POINT\n }\n\n #[cfg(feature = \"precomputed-tables\")]\n {\n scalar * constants::ED25519_BASEPOINT_TABLE\n }\n }\n\n /// Multiply this point by `clamp_integer(bytes)`. For a description of clamping, see\n /// [`clamp_integer`].\n pub fn mul_clamped(self, bytes: [u8; 32]) -> Self {\n // We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant\n // #2. But #2 is not necessary for correctness of variable-base multiplication. All that\n // needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed\n // by clamping.\n // Further, we don't do any reduction or arithmetic with this clamped value, so there's no\n // issues arising from the fact that the curve point is not necessarily in the prime-order\n // subgroup.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n s * self\n }\n\n /// Multiply the basepoint by `clamp_integer(bytes)`. For a description of clamping, see\n /// [`clamp_integer`].\n pub fn mul_base_clamped(bytes: [u8; 32]) -> Self {\n // See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We\n // note that fixed-base multiplication is also defined for all values of `bytes` less than\n // 2^255.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n Self::mul_base(&s)\n }\n}\n\n// ------------------------------------------------------------------------\n// Multiscalar Multiplication impls\n// ------------------------------------------------------------------------\n\n// These use the iterator's size hint and the target settings to\n// forward to a specific backend implementation.\n\n#[cfg(feature = \"alloc\")]\nimpl MultiscalarMul for EdwardsPoint {\n type Point = EdwardsPoint;\n\n fn multiscalar_mul(scalars: I, points: J) -> EdwardsPoint\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n {\n // Sanity-check lengths of input iterators\n let mut scalars = scalars.into_iter();\n let mut points = points.into_iter();\n\n // Lower and upper bounds on iterators\n let (s_lo, s_hi) = scalars.by_ref().size_hint();\n let (p_lo, p_hi) = points.by_ref().size_hint();\n\n // They should all be equal\n assert_eq!(s_lo, p_lo);\n assert_eq!(s_hi, Some(s_lo));\n assert_eq!(p_hi, Some(p_lo));\n\n // Now we know there's a single size. When we do\n // size-dependent algorithm dispatch, use this as the hint.\n let _size = s_lo;\n\n crate::backend::straus_multiscalar_mul(scalars, points)\n }\n}\n\n#[cfg(feature = \"alloc\")]\nimpl VartimeMultiscalarMul for EdwardsPoint {\n type Point = EdwardsPoint;\n\n fn optional_multiscalar_mul(scalars: I, points: J) -> Option\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator>,\n {\n // Sanity-check lengths of input iterators\n let mut scalars = scalars.into_iter();\n let mut points = points.into_iter();\n\n // Lower and upper bounds on iterators\n let (s_lo, s_hi) = scalars.by_ref().size_hint();\n let (p_lo, p_hi) = points.by_ref().size_hint();\n\n // They should all be equal\n assert_eq!(s_lo, p_lo);\n assert_eq!(s_hi, Some(s_lo));\n assert_eq!(p_hi, Some(p_lo));\n\n // Now we know there's a single size.\n // Use this as the hint to decide which algorithm to use.\n let size = s_lo;\n\n if size < 190 {\n crate::backend::straus_optional_multiscalar_mul(scalars, points)\n } else {\n crate::backend::pippenger_optional_multiscalar_mul(scalars, points)\n }\n }\n}\n\n/// Precomputation for variable-time multiscalar multiplication with `EdwardsPoint`s.\n// This wraps the inner implementation in a facade type so that we can\n// decouple stability of the inner type from the stability of the\n// outer type.\n#[cfg(feature = \"alloc\")]\npub struct VartimeEdwardsPrecomputation(crate::backend::VartimePrecomputedStraus);\n\n#[cfg(feature = \"alloc\")]\nimpl VartimePrecomputedMultiscalarMul for VartimeEdwardsPrecomputation {\n type Point = EdwardsPoint;\n\n fn new(static_points: I) -> Self\n where\n I: IntoIterator,\n I::Item: Borrow,\n {\n Self(crate::backend::VartimePrecomputedStraus::new(static_points))\n }\n\n fn len(&self) -> usize {\n self.0.len()\n }\n\n fn is_empty(&self) -> bool {\n self.0.is_empty()\n }\n\n fn optional_mixed_multiscalar_mul(\n &self,\n static_scalars: I,\n dynamic_scalars: J,\n dynamic_points: K,\n ) -> Option\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n K: IntoIterator>,\n {\n self.0\n .optional_mixed_multiscalar_mul(static_scalars, dynamic_scalars, dynamic_points)\n }\n}\n\nimpl EdwardsPoint {\n /// Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n pub fn vartime_double_scalar_mul_basepoint(\n a: &Scalar,\n A: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n crate::backend::vartime_double_base_mul(a, A, b)\n }\n\n /// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n ///\n /// This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\),\n /// and falls back to general scalar multiplication for full-width scalars.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n /// use curve25519::constants::ED25519_BASEPOINT_POINT;\n /// use curve25519::edwards::EdwardsPoint;\n ///\n /// let a1 = Scalar::from(123u64);\n /// let a2 = Scalar::from(456u64);\n /// let b = Scalar::from(789u64);\n ///\n /// let A1 = &ED25519_BASEPOINT_POINT * &Scalar::from(2u64);\n /// let A2 = &ED25519_BASEPOINT_POINT * &Scalar::from(3u64);\n ///\n /// // Compute a1*A1 + a2*A2 + b*B efficiently\n /// let result = EdwardsPoint::vartime_triple_scalar_mul_basepoint(&a1, &A1, &a2, &A2, &b);\n /// ```\n #[allow(non_snake_case)]\n pub fn vartime_triple_scalar_mul_basepoint(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n crate::backend::vartime_triple_base_mul_128_128_256(a1, A1, a2, A2, b)\n }\n}\n\n#[cfg(feature = \"precomputed-tables\")]\nmacro_rules! impl_basepoint_table {\n (Name = $name:ident, LookupTable = $table:ident, Point = $point:ty, Radix = $radix:expr, Additions = $adds:expr) => {\n /// A precomputed table of multiples of a basepoint, for accelerating\n /// fixed-base scalar multiplication. One table, for the Ed25519\n /// basepoint, is provided in the [`constants`] module.\n ///\n /// The basepoint tables are reasonably large, so they should probably be boxed.\n ///\n /// The sizes for the tables and the number of additions required for one scalar\n /// multiplication are as follows:\n ///\n /// * [`EdwardsBasepointTableRadix16`]: 30KB, 64A\n /// (this is the default size, and is used for\n /// [`constants::ED25519_BASEPOINT_TABLE`])\n /// * [`EdwardsBasepointTableRadix64`]: 120KB, 43A\n /// * [`EdwardsBasepointTableRadix128`]: 240KB, 37A\n /// * [`EdwardsBasepointTableRadix256`]: 480KB, 33A\n ///\n /// # Why 33 additions for radix-256?\n ///\n /// Normally, the radix-256 tables would allow for only 32 additions per scalar\n /// multiplication. However, due to the fact that standardised definitions of\n /// legacy protocols—such as x25519—require allowing unreduced 255-bit scalars\n /// invariants, when converting such an unreduced scalar's representation to\n /// radix-\\\\(2^{8}\\\\), we cannot guarantee the carry bit will fit in the last\n /// coefficient (the coefficients are `i8`s). When, \\\\(w\\\\), the power-of-2 of\n /// the radix, is \\\\(w < 8\\\\), we can fold the final carry onto the last\n /// coefficient, \\\\(d\\\\), because \\\\(d < 2^{w/2}\\\\), so\n /// $$\n /// d + carry \\cdot 2^{w} = d + 1 \\cdot 2^{w} < 2^{w+1} < 2^{8}\n /// $$\n /// When \\\\(w = 8\\\\), we can't fit \\\\(carry \\cdot 2^{w}\\\\) into an `i8`, so we\n /// add the carry bit onto an additional coefficient.\n #[derive(Clone)]\n #[repr(transparent)]\n pub struct $name(pub(crate) [$table; 32]);\n\n impl BasepointTable for $name {\n type Point = $point;\n\n /// Create a table of precomputed multiples of `basepoint`.\n fn create(basepoint: &$point) -> $name {\n // XXX use init_with\n let mut table = $name([$table::default(); 32]);\n let mut P = *basepoint;\n for i in 0..32 {\n // P = (2w)^i * B\n table.0[i] = $table::from(&P);\n P = P.mul_by_pow_2($radix + $radix);\n }\n table\n }\n\n /// Get the basepoint for this table as an `EdwardsPoint`.\n fn basepoint(&self) -> $point {\n // self.0[0].select(1) = 1*(16^2)^0*B\n // but as an `AffineNielsPoint`, so add identity to convert to extended.\n (&<$point>::identity() + &self.0[0].select(1)).as_extended()\n }\n\n /// The computation uses Pippeneger's algorithm, as described for the\n /// specific case of radix-16 on page 13 of the Ed25519 paper.\n ///\n /// # Piggenger's Algorithm Generalised\n ///\n /// Write the scalar \\\\(a\\\\) in radix-\\\\(w\\\\), where \\\\(w\\\\) is a power of\n /// 2, with coefficients in \\\\([\\frac{-w}{2},\\frac{w}{2})\\\\), i.e.,\n /// $$\n /// a = a\\_0 + a\\_1 w\\^1 + \\cdots + a\\_{x} w\\^{x},\n /// $$\n /// with\n /// $$\n /// \\begin{aligned}\n /// \\frac{-w}{2} \\leq a_i < \\frac{w}{2}\n /// &&\\cdots&&\n /// \\frac{-w}{2} \\leq a\\_{x} \\leq \\frac{w}{2}\n /// \\end{aligned}\n /// $$\n /// and the number of additions, \\\\(x\\\\), is given by\n /// \\\\(x = \\lceil \\frac{256}{w} \\rceil\\\\). Then\n /// $$\n /// a B = a\\_0 B + a\\_1 w\\^1 B + \\cdots + a\\_{x-1} w\\^{x-1} B.\n /// $$\n /// Grouping even and odd coefficients gives\n /// $$\n /// \\begin{aligned}\n /// a B = \\quad a\\_0 w\\^0 B +& a\\_2 w\\^2 B + \\cdots + a\\_{x-2} w\\^{x-2} B \\\\\\\\\n /// + a\\_1 w\\^1 B +& a\\_3 w\\^3 B + \\cdots + a\\_{x-1} w\\^{x-1} B \\\\\\\\\n /// = \\quad(a\\_0 w\\^0 B +& a\\_2 w\\^2 B + \\cdots + a\\_{x-2} w\\^{x-2} B) \\\\\\\\\n /// + w(a\\_1 w\\^0 B +& a\\_3 w\\^2 B + \\cdots + a\\_{x-1} w\\^{x-2} B). \\\\\\\\\n /// \\end{aligned}\n /// $$\n /// For each \\\\(i = 0 \\ldots 31\\\\), we create a lookup table of\n /// $$\n /// [w\\^{2i} B, \\ldots, \\frac{w}{2}\\cdot w\\^{2i} B],\n /// $$\n /// and use it to select \\\\( y \\cdot w\\^{2i} \\cdot B \\\\) in constant time.\n ///\n /// The radix-\\\\(w\\\\) representation requires that the scalar is bounded\n /// by \\\\(2\\^{255}\\\\), which is always the case.\n ///\n /// The above algorithm is trivially generalised to other powers-of-2 radices.\n fn mul_base(&self, scalar: &Scalar) -> $point {\n let a = scalar.as_radix_2w($radix);\n\n let tables = &self.0;\n let mut P = <$point>::identity();\n\n for i in (0..$adds).filter(|x| x % 2 == 1) {\n P = (&P + &tables[i / 2].select(a[i])).as_extended();\n }\n\n P = P.mul_by_pow_2($radix);\n\n for i in (0..$adds).filter(|x| x % 2 == 0) {\n P = (&P + &tables[i / 2].select(a[i])).as_extended();\n }\n\n P\n }\n }\n\n impl<'a, 'b> Mul<&'b Scalar> for &'a $name {\n type Output = $point;\n\n /// Construct an `EdwardsPoint` from a `Scalar` \\\\(a\\\\) by\n /// computing the multiple \\\\(aB\\\\) of this basepoint \\\\(B\\\\).\n fn mul(self, scalar: &'b Scalar) -> $point {\n // delegate to a private function so that its documentation appears in internal docs\n self.mul_base(scalar)\n }\n }\n\n impl<'a, 'b> Mul<&'a $name> for &'b Scalar {\n type Output = $point;\n\n /// Construct an `EdwardsPoint` from a `Scalar` \\\\(a\\\\) by\n /// computing the multiple \\\\(aB\\\\) of this basepoint \\\\(B\\\\).\n fn mul(self, basepoint_table: &'a $name) -> $point {\n basepoint_table * self\n }\n }\n\n impl Debug for $name {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"{:?}([\\n\", stringify!($name))?;\n for i in 0..32 {\n write!(f, \"\\t{:?},\\n\", &self.0[i])?;\n }\n write!(f, \"])\")\n }\n }\n };\n} // End macro_rules! impl_basepoint_table\n\n// The number of additions required is ceil(256/w) where w is the radix representation.\ncfg_if! {\n if #[cfg(feature = \"precomputed-tables\")] {\n impl_basepoint_table! {\n Name = EdwardsBasepointTable,\n LookupTable = LookupTableRadix16,\n Point = EdwardsPoint,\n Radix = 4,\n Additions = 64\n }\n impl_basepoint_table! {\n Name = EdwardsBasepointTableRadix32,\n LookupTable = LookupTableRadix32,\n Point = EdwardsPoint,\n Radix = 5,\n Additions = 52\n }\n impl_basepoint_table! {\n Name = EdwardsBasepointTableRadix64,\n LookupTable = LookupTableRadix64,\n Point = EdwardsPoint,\n Radix = 6,\n Additions = 43\n }\n impl_basepoint_table! {\n Name = EdwardsBasepointTableRadix128,\n LookupTable = LookupTableRadix128,\n Point = EdwardsPoint,\n Radix = 7,\n Additions = 37\n }\n impl_basepoint_table! {\n Name = EdwardsBasepointTableRadix256,\n LookupTable = LookupTableRadix256,\n Point = EdwardsPoint,\n Radix = 8,\n Additions = 33\n }\n\n /// A type-alias for [`EdwardsBasepointTable`] because the latter is\n /// used as a constructor in the [`constants`] module.\n //\n // Same as for `LookupTableRadix16`, we have to define `EdwardsBasepointTable`\n // first, because it's used as a constructor, and then provide a type alias for\n // it.\n pub type EdwardsBasepointTableRadix16 = EdwardsBasepointTable;\n }\n}\n\n#[cfg(feature = \"precomputed-tables\")]\nmacro_rules! impl_basepoint_table_conversions {\n (LHS = $lhs:ty, RHS = $rhs:ty) => {\n impl<'a> From<&'a $lhs> for $rhs {\n fn from(table: &'a $lhs) -> $rhs {\n <$rhs>::create(&table.basepoint())\n }\n }\n\n impl<'a> From<&'a $rhs> for $lhs {\n fn from(table: &'a $rhs) -> $lhs {\n <$lhs>::create(&table.basepoint())\n }\n }\n };\n}\n\ncfg_if! {\n if #[cfg(feature = \"precomputed-tables\")] {\n // Conversions from radix 16\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix16,\n RHS = EdwardsBasepointTableRadix32\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix16,\n RHS = EdwardsBasepointTableRadix64\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix16,\n RHS = EdwardsBasepointTableRadix128\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix16,\n RHS = EdwardsBasepointTableRadix256\n }\n\n // Conversions from radix 32\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix32,\n RHS = EdwardsBasepointTableRadix64\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix32,\n RHS = EdwardsBasepointTableRadix128\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix32,\n RHS = EdwardsBasepointTableRadix256\n }\n\n // Conversions from radix 64\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix64,\n RHS = EdwardsBasepointTableRadix128\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix64,\n RHS = EdwardsBasepointTableRadix256\n }\n\n // Conversions from radix 128\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix128,\n RHS = EdwardsBasepointTableRadix256\n }\n }\n}\n\nimpl EdwardsPoint {\n /// Multiply by the cofactor: return \\\\(\\[8\\]P\\\\).\n pub fn mul_by_cofactor(&self) -> EdwardsPoint {\n self.mul_by_pow_2(3)\n }\n\n /// Compute \\\\([2\\^k] P \\\\) by successive doublings. Requires \\\\( k > 0 \\\\).\n pub(crate) fn mul_by_pow_2(&self, k: u32) -> EdwardsPoint {\n debug_assert!(k > 0);\n let mut r: CompletedPoint;\n let mut s = self.as_projective();\n for _ in 0..(k - 1) {\n r = s.double();\n s = r.as_projective();\n }\n // Unroll last iteration so we can go directly as_extended()\n s.double().as_extended()\n }\n\n /// Determine if this point is of small order.\n ///\n /// # Return\n ///\n /// * `true` if `self` is in the torsion subgroup \\\\( \\mathcal E\\[8\\] \\\\);\n /// * `false` if `self` is not in the torsion subgroup \\\\( \\mathcal E\\[8\\] \\\\).\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::constants;\n ///\n /// // Generator of the prime-order subgroup\n /// let P = constants::ED25519_BASEPOINT_POINT;\n /// // Generator of the torsion subgroup\n /// let Q = constants::EIGHT_TORSION[1];\n ///\n /// // P has large order\n /// assert_eq!(P.is_small_order(), false);\n ///\n /// // Q has small order\n /// assert_eq!(Q.is_small_order(), true);\n /// ```\n pub fn is_small_order(&self) -> bool {\n self.mul_by_cofactor().is_identity()\n }\n\n /// Determine if this point is “torsion-free”, i.e., is contained in\n /// the prime-order subgroup.\n ///\n /// # Return\n ///\n /// * `true` if `self` has zero torsion component and is in the\n /// prime-order subgroup;\n /// * `false` if `self` has a nonzero torsion component and is not\n /// in the prime-order subgroup.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::constants;\n ///\n /// // Generator of the prime-order subgroup\n /// let P = constants::ED25519_BASEPOINT_POINT;\n /// // Generator of the torsion subgroup\n /// let Q = constants::EIGHT_TORSION[1];\n ///\n /// // P is torsion-free\n /// assert_eq!(P.is_torsion_free(), true);\n ///\n /// // P + Q is not torsion-free\n /// assert_eq!((P+Q).is_torsion_free(), false);\n /// ```\n pub fn is_torsion_free(&self) -> bool {\n (self * constants::BASEPOINT_ORDER).is_identity()\n }\n}\n\n// ------------------------------------------------------------------------\n// Debug traits\n// ------------------------------------------------------------------------\n\nimpl Debug for EdwardsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"EdwardsPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }\n}\n\n// ------------------------------------------------------------------------\n// group traits\n// ------------------------------------------------------------------------\n\n// Use the full trait path to avoid Group::identity overlapping Identity::identity in the\n// rest of the module (e.g. tests).\n#[cfg(feature = \"group\")]\nimpl group::Group for EdwardsPoint {\n type Scalar = Scalar;\n\n fn random(mut rng: impl GroupRngCore) -> Self {\n let mut repr = CompressedEdwardsY([0u8; 32]);\n loop {\n rng.fill_bytes(&mut repr.0);\n if let Some(p) = repr.decompress() {\n if !IsIdentity::is_identity(&p) {\n break p;\n }\n }\n }\n }\n\n fn identity() -> Self {\n Identity::identity()\n }\n\n fn generator() -> Self {\n constants::ED25519_BASEPOINT_POINT\n }\n\n fn is_identity(&self) -> Choice {\n self.ct_eq(&Identity::identity())\n }\n\n fn double(&self) -> Self {\n self.double()\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl GroupEncoding for EdwardsPoint {\n type Repr = [u8; 32];\n\n fn from_bytes(bytes: &Self::Repr) -> CtOption {\n let repr = CompressedEdwardsY(*bytes);\n let (is_valid_y_coord, X, Y, Z) = decompress::step_1(&repr);\n CtOption::new(decompress::step_2(&repr, X, Y, Z), is_valid_y_coord)\n }\n\n fn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption {\n // Just use the checked API; there are no checks we can skip.\n Self::from_bytes(bytes)\n }\n\n fn to_bytes(&self) -> Self::Repr {\n self.compress().to_bytes()\n }\n}\n\n/// A `SubgroupPoint` represents a point on the Edwards form of Curve25519, that is\n/// guaranteed to be in the prime-order subgroup.\n#[cfg(feature = \"group\")]\n#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]\npub struct SubgroupPoint(EdwardsPoint);\n\n#[cfg(feature = \"group\")]\nimpl From for EdwardsPoint {\n fn from(p: SubgroupPoint) -> Self {\n p.0\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl Neg for SubgroupPoint {\n type Output = Self;\n\n fn neg(self) -> Self::Output {\n SubgroupPoint(-self.0)\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl Add<&SubgroupPoint> for &SubgroupPoint {\n type Output = SubgroupPoint;\n fn add(self, other: &SubgroupPoint) -> SubgroupPoint {\n SubgroupPoint(self.0 + other.0)\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_add_variants!(\n LHS = SubgroupPoint,\n RHS = SubgroupPoint,\n Output = SubgroupPoint\n);\n\n#[cfg(feature = \"group\")]\nimpl Add<&SubgroupPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn add(self, other: &SubgroupPoint) -> EdwardsPoint {\n self + other.0\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_add_variants!(\n LHS = EdwardsPoint,\n RHS = SubgroupPoint,\n Output = EdwardsPoint\n);\n\n#[cfg(feature = \"group\")]\nimpl AddAssign<&SubgroupPoint> for SubgroupPoint {\n fn add_assign(&mut self, rhs: &SubgroupPoint) {\n self.0 += rhs.0\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_add_assign_variants!(LHS = SubgroupPoint, RHS = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl AddAssign<&SubgroupPoint> for EdwardsPoint {\n fn add_assign(&mut self, rhs: &SubgroupPoint) {\n *self += rhs.0\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_add_assign_variants!(LHS = EdwardsPoint, RHS = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl Sub<&SubgroupPoint> for &SubgroupPoint {\n type Output = SubgroupPoint;\n fn sub(self, other: &SubgroupPoint) -> SubgroupPoint {\n SubgroupPoint(self.0 - other.0)\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_sub_variants!(\n LHS = SubgroupPoint,\n RHS = SubgroupPoint,\n Output = SubgroupPoint\n);\n\n#[cfg(feature = \"group\")]\nimpl Sub<&SubgroupPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn sub(self, other: &SubgroupPoint) -> EdwardsPoint {\n self - other.0\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_sub_variants!(\n LHS = EdwardsPoint,\n RHS = SubgroupPoint,\n Output = EdwardsPoint\n);\n\n#[cfg(feature = \"group\")]\nimpl SubAssign<&SubgroupPoint> for SubgroupPoint {\n fn sub_assign(&mut self, rhs: &SubgroupPoint) {\n self.0 -= rhs.0;\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_sub_assign_variants!(LHS = SubgroupPoint, RHS = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl SubAssign<&SubgroupPoint> for EdwardsPoint {\n fn sub_assign(&mut self, rhs: &SubgroupPoint) {\n *self -= rhs.0;\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_sub_assign_variants!(LHS = EdwardsPoint, RHS = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl Sum for SubgroupPoint\nwhere\n T: Borrow,\n{\n fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n use group::Group;\n iter.fold(SubgroupPoint::identity(), |acc, item| acc + item.borrow())\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl Mul<&Scalar> for &SubgroupPoint {\n type Output = SubgroupPoint;\n\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, scalar: &Scalar) -> SubgroupPoint {\n SubgroupPoint(self.0 * scalar)\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_mul_variants!(LHS = Scalar, RHS = SubgroupPoint, Output = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl Mul<&SubgroupPoint> for &Scalar {\n type Output = SubgroupPoint;\n\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, point: &SubgroupPoint) -> SubgroupPoint {\n point * self\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_mul_variants!(LHS = SubgroupPoint, RHS = Scalar, Output = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl MulAssign<&Scalar> for SubgroupPoint {\n fn mul_assign(&mut self, scalar: &Scalar) {\n self.0 *= scalar;\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_mul_assign_variants!(LHS = SubgroupPoint, RHS = Scalar);\n\n#[cfg(feature = \"group\")]\nimpl ConstantTimeEq for SubgroupPoint {\n fn ct_eq(&self, other: &SubgroupPoint) -> Choice {\n self.0.ct_eq(&other.0)\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl ConditionallySelectable for SubgroupPoint {\n fn conditional_select(a: &SubgroupPoint, b: &SubgroupPoint, choice: Choice) -> SubgroupPoint {\n SubgroupPoint(EdwardsPoint::conditional_select(&a.0, &b.0, choice))\n }\n}\n\n#[cfg(all(feature = \"group\", feature = \"zeroize\"))]\nimpl Zeroize for SubgroupPoint {\n fn zeroize(&mut self) {\n self.0.zeroize();\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl group::Group for SubgroupPoint {\n type Scalar = Scalar;\n\n fn random(mut rng: impl GroupRngCore) -> Self {\n use group::ff::Field;\n\n // This will almost never loop, but `Group::random` is documented as returning a\n // non-identity element.\n let s = loop {\n let s: Scalar = Field::random(&mut rng);\n if !s.is_zero_vartime() {\n break s;\n }\n };\n\n // This gives an element of the prime-order subgroup.\n Self::generator() * s\n }\n\n fn identity() -> Self {\n SubgroupPoint(Identity::identity())\n }\n\n fn generator() -> Self {\n SubgroupPoint(EdwardsPoint::generator())\n }\n\n fn is_identity(&self) -> Choice {\n self.0.ct_eq(&Identity::identity())\n }\n\n fn double(&self) -> Self {\n SubgroupPoint(self.0.double())\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl GroupEncoding for SubgroupPoint {\n type Repr = ::Repr;\n\n fn from_bytes(bytes: &Self::Repr) -> CtOption {\n EdwardsPoint::from_bytes(bytes).and_then(|p| p.into_subgroup())\n }\n\n fn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption {\n EdwardsPoint::from_bytes_unchecked(bytes).and_then(|p| p.into_subgroup())\n }\n\n fn to_bytes(&self) -> Self::Repr {\n self.0.compress().to_bytes()\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl PrimeGroup for SubgroupPoint {}\n\n#[cfg(feature = \"group\")]\nimpl CofactorGroup for EdwardsPoint {\n type Subgroup = SubgroupPoint;\n\n fn clear_cofactor(&self) -> Self::Subgroup {\n SubgroupPoint(self.mul_by_cofactor())\n }\n\n fn into_subgroup(self) -> CtOption {\n CtOption::new(SubgroupPoint(self), CofactorGroup::is_torsion_free(&self))\n }\n\n fn is_torsion_free(&self) -> Choice {\n (self * constants::BASEPOINT_ORDER).ct_eq(&Self::identity())\n }\n}\n\n// ------------------------------------------------------------------------\n// Tests\n// ------------------------------------------------------------------------\n\n#[cfg(test)]\nmod test {\n use super::*;\n use rand::Rng;\n\n #[cfg(feature = \"precomputed-tables\")]\n use crate::constants::ED25519_BASEPOINT_TABLE;\n\n /// X coordinate of the basepoint.\n /// = 15112221349535400772501151409588531511454012693041857206046113283949847762202\n static BASE_X_COORD_BYTES: [u8; 32] = [\n 0x1a, 0xd5, 0x25, 0x8f, 0x60, 0x2d, 0x56, 0xc9, 0xb2, 0xa7, 0x25, 0x95, 0x60, 0xc7, 0x2c,\n 0x69, 0x5c, 0xdc, 0xd6, 0xfd, 0x31, 0xe2, 0xa4, 0xc0, 0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36,\n 0x69, 0x21,\n ];\n\n /// Compressed Edwards Y form of 2*basepoint.\n static BASE2_CMPRSSD: CompressedEdwardsY = CompressedEdwardsY([\n 0xc9, 0xa3, 0xf8, 0x6a, 0xae, 0x46, 0x5f, 0xe, 0x56, 0x51, 0x38, 0x64, 0x51, 0x0f, 0x39,\n 0x97, 0x56, 0x1f, 0xa2, 0xc9, 0xe8, 0x5e, 0xa2, 0x1d, 0xc2, 0x29, 0x23, 0x09, 0xf3, 0xcd,\n 0x60, 0x22,\n ]);\n\n /// Compressed Edwards Y form of 16*basepoint.\n static BASE16_CMPRSSD: CompressedEdwardsY = CompressedEdwardsY([\n 0xeb, 0x27, 0x67, 0xc1, 0x37, 0xab, 0x7a, 0xd8, 0x27, 0x9c, 0x07, 0x8e, 0xff, 0x11, 0x6a,\n 0xb0, 0x78, 0x6e, 0xad, 0x3a, 0x2e, 0x0f, 0x98, 0x9f, 0x72, 0xc3, 0x7f, 0x82, 0xf2, 0x96,\n 0x96, 0x70,\n ]);\n\n /// 4493907448824000747700850167940867464579944529806937181821189941592931634714\n pub static A_SCALAR: Scalar = Scalar {\n bytes: [\n 0x1a, 0x0e, 0x97, 0x8a, 0x90, 0xf6, 0x62, 0x2d, 0x37, 0x47, 0x02, 0x3f, 0x8a, 0xd8,\n 0x26, 0x4d, 0xa7, 0x58, 0xaa, 0x1b, 0x88, 0xe0, 0x40, 0xd1, 0x58, 0x9e, 0x7b, 0x7f,\n 0x23, 0x76, 0xef, 0x09,\n ],\n };\n\n /// 2506056684125797857694181776241676200180934651973138769173342316833279714961\n pub static B_SCALAR: Scalar = Scalar {\n bytes: [\n 0x91, 0x26, 0x7a, 0xcf, 0x25, 0xc2, 0x09, 0x1b, 0xa2, 0x17, 0x74, 0x7b, 0x66, 0xf0,\n 0xb3, 0x2e, 0x9d, 0xf2, 0xa5, 0x67, 0x41, 0xcf, 0xda, 0xc4, 0x56, 0xa7, 0xd4, 0xaa,\n 0xb8, 0x60, 0x8a, 0x05,\n ],\n };\n\n /// A_SCALAR * basepoint, computed with ed25519.py\n pub static A_TIMES_BASEPOINT: CompressedEdwardsY = CompressedEdwardsY([\n 0xea, 0x27, 0xe2, 0x60, 0x53, 0xdf, 0x1b, 0x59, 0x56, 0xf1, 0x4d, 0x5d, 0xec, 0x3c, 0x34,\n 0xc3, 0x84, 0xa2, 0x69, 0xb7, 0x4c, 0xc3, 0x80, 0x3e, 0xa8, 0xe2, 0xe7, 0xc9, 0x42, 0x5e,\n 0x40, 0xa5,\n ]);\n\n /// A_SCALAR * (A_TIMES_BASEPOINT) + B_SCALAR * BASEPOINT\n /// computed with ed25519.py\n static DOUBLE_SCALAR_MULT_RESULT: CompressedEdwardsY = CompressedEdwardsY([\n 0x7d, 0xfd, 0x6c, 0x45, 0xaf, 0x6d, 0x6e, 0x0e, 0xba, 0x20, 0x37, 0x1a, 0x23, 0x64, 0x59,\n 0xc4, 0xc0, 0x46, 0x83, 0x43, 0xde, 0x70, 0x4b, 0x85, 0x09, 0x6f, 0xfe, 0x35, 0x4f, 0x13,\n 0x2b, 0x42,\n ]);\n\n /// Test round-trip decompression for the basepoint.\n #[test]\n fn basepoint_decompression_compression() {\n let base_X = FieldElement::from_bytes(&BASE_X_COORD_BYTES);\n let bp = constants::ED25519_BASEPOINT_COMPRESSED\n .decompress()\n .expect(\"basepoint should decompress\");\n assert!(bp.is_valid());\n // Check that decompression actually gives the correct X coordinate\n assert_eq!(base_X, bp.X);\n assert_eq!(bp.compress(), constants::ED25519_BASEPOINT_COMPRESSED);\n }\n\n /// Test sign handling in decompression\n #[test]\n fn decompression_sign_handling() {\n // Manually set the high bit of the last byte to flip the sign\n let mut minus_basepoint_bytes = *constants::ED25519_BASEPOINT_COMPRESSED.as_bytes();\n minus_basepoint_bytes[31] |= 1 << 7;\n let minus_basepoint = CompressedEdwardsY(minus_basepoint_bytes)\n .decompress()\n .expect(\"minus basepoint should decompress\");\n // Test projective coordinates exactly since we know they should\n // only differ by a flipped sign.\n assert_eq!(minus_basepoint.X, -(&constants::ED25519_BASEPOINT_POINT.X));\n assert_eq!(minus_basepoint.Y, constants::ED25519_BASEPOINT_POINT.Y);\n assert_eq!(minus_basepoint.Z, constants::ED25519_BASEPOINT_POINT.Z);\n assert_eq!(minus_basepoint.T, -(&constants::ED25519_BASEPOINT_POINT.T));\n }\n\n /// Test that computing 1*basepoint gives the correct basepoint.\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn basepoint_mult_one_vs_basepoint() {\n let bp = ED25519_BASEPOINT_TABLE * &Scalar::ONE;\n let compressed = bp.compress();\n assert_eq!(compressed, constants::ED25519_BASEPOINT_COMPRESSED);\n }\n\n /// Test that `EdwardsBasepointTable::basepoint()` gives the correct basepoint.\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn basepoint_table_basepoint_function_correct() {\n let bp = ED25519_BASEPOINT_TABLE.basepoint();\n assert_eq!(bp.compress(), constants::ED25519_BASEPOINT_COMPRESSED);\n }\n\n /// Test `impl Add for EdwardsPoint`\n /// using basepoint + basepoint versus the 2*basepoint constant.\n #[test]\n fn basepoint_plus_basepoint_vs_basepoint2() {\n let bp = constants::ED25519_BASEPOINT_POINT;\n let bp_added = bp + bp;\n assert_eq!(bp_added.compress(), BASE2_CMPRSSD);\n }\n\n /// Test `impl Add for EdwardsPoint`\n /// using the basepoint, basepoint2 constants\n #[test]\n fn basepoint_plus_basepoint_projective_niels_vs_basepoint2() {\n let bp = constants::ED25519_BASEPOINT_POINT;\n let bp_added = (&bp + &bp.as_projective_niels()).as_extended();\n assert_eq!(bp_added.compress(), BASE2_CMPRSSD);\n }\n\n /// Test `impl Add for EdwardsPoint`\n /// using the basepoint, basepoint2 constants\n #[test]\n fn basepoint_plus_basepoint_affine_niels_vs_basepoint2() {\n let bp = constants::ED25519_BASEPOINT_POINT;\n let bp_affine_niels = bp.as_affine_niels();\n let bp_added = (&bp + &bp_affine_niels).as_extended();\n assert_eq!(bp_added.compress(), BASE2_CMPRSSD);\n }\n\n /// Check that equality of `EdwardsPoints` handles projective\n /// coordinates correctly.\n #[test]\n fn extended_point_equality_handles_scaling() {\n let mut two_bytes = [0u8; 32];\n two_bytes[0] = 2;\n let id1 = EdwardsPoint::identity();\n let id2 = EdwardsPoint {\n X: FieldElement::ZERO,\n Y: FieldElement::from_bytes(&two_bytes),\n Z: FieldElement::from_bytes(&two_bytes),\n T: FieldElement::ZERO,\n };\n assert!(bool::from(id1.ct_eq(&id2)));\n }\n\n /// Sanity check for conversion to precomputed points\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn to_affine_niels_clears_denominators() {\n // construct a point as aB so it has denominators (ie. Z != 1)\n let aB = ED25519_BASEPOINT_TABLE * &A_SCALAR;\n let aB_affine_niels = aB.as_affine_niels();\n let also_aB = (&EdwardsPoint::identity() + &aB_affine_niels).as_extended();\n assert_eq!(aB.compress(), also_aB.compress());\n }\n\n /// Test mul_base versus a known scalar multiple from ed25519.py\n #[test]\n fn basepoint_mult_vs_ed25519py() {\n let aB = EdwardsPoint::mul_base(&A_SCALAR);\n assert_eq!(aB.compress(), A_TIMES_BASEPOINT);\n }\n\n /// Test that multiplication by the basepoint order kills the basepoint\n #[test]\n fn basepoint_mult_by_basepoint_order() {\n let should_be_id = EdwardsPoint::mul_base(&constants::BASEPOINT_ORDER);\n assert!(should_be_id.is_identity());\n }\n\n /// Test precomputed basepoint mult\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn test_precomputed_basepoint_mult() {\n let aB_1 = ED25519_BASEPOINT_TABLE * &A_SCALAR;\n let aB_2 = constants::ED25519_BASEPOINT_POINT * A_SCALAR;\n assert_eq!(aB_1.compress(), aB_2.compress());\n }\n\n /// Test scalar_mul versus a known scalar multiple from ed25519.py\n #[test]\n fn scalar_mul_vs_ed25519py() {\n let aB = constants::ED25519_BASEPOINT_POINT * A_SCALAR;\n assert_eq!(aB.compress(), A_TIMES_BASEPOINT);\n }\n\n /// Test basepoint.double() versus the 2*basepoint constant.\n #[test]\n fn basepoint_double_vs_basepoint2() {\n assert_eq!(\n constants::ED25519_BASEPOINT_POINT.double().compress(),\n BASE2_CMPRSSD\n );\n }\n\n /// Test that computing 2*basepoint is the same as basepoint.double()\n #[test]\n fn basepoint_mult_two_vs_basepoint2() {\n let two = Scalar::from(2u64);\n let bp2 = EdwardsPoint::mul_base(&two);\n assert_eq!(bp2.compress(), BASE2_CMPRSSD);\n }\n\n /// Test that all the basepoint table types compute the same results.\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn basepoint_tables() {\n let P = &constants::ED25519_BASEPOINT_POINT;\n let a = A_SCALAR;\n\n let table_radix16 = EdwardsBasepointTableRadix16::create(P);\n let table_radix32 = EdwardsBasepointTableRadix32::create(P);\n let table_radix64 = EdwardsBasepointTableRadix64::create(P);\n let table_radix128 = EdwardsBasepointTableRadix128::create(P);\n let table_radix256 = EdwardsBasepointTableRadix256::create(P);\n\n let aP = (ED25519_BASEPOINT_TABLE * &a).compress();\n let aP16 = (&table_radix16 * &a).compress();\n let aP32 = (&table_radix32 * &a).compress();\n let aP64 = (&table_radix64 * &a).compress();\n let aP128 = (&table_radix128 * &a).compress();\n let aP256 = (&table_radix256 * &a).compress();\n\n assert_eq!(aP, aP16);\n assert_eq!(aP16, aP32);\n assert_eq!(aP32, aP64);\n assert_eq!(aP64, aP128);\n assert_eq!(aP128, aP256);\n }\n\n /// Check unreduced scalar multiplication by the basepoint tables is the same no matter what\n /// radix the table is.\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn basepoint_tables_unreduced_scalar() {\n let P = &constants::ED25519_BASEPOINT_POINT;\n let a = crate::scalar::test::LARGEST_UNREDUCED_SCALAR;\n\n let table_radix16 = EdwardsBasepointTableRadix16::create(P);\n let table_radix32 = EdwardsBasepointTableRadix32::create(P);\n let table_radix64 = EdwardsBasepointTableRadix64::create(P);\n let table_radix128 = EdwardsBasepointTableRadix128::create(P);\n let table_radix256 = EdwardsBasepointTableRadix256::create(P);\n\n let aP = (ED25519_BASEPOINT_TABLE * &a).compress();\n let aP16 = (&table_radix16 * &a).compress();\n let aP32 = (&table_radix32 * &a).compress();\n let aP64 = (&table_radix64 * &a).compress();\n let aP128 = (&table_radix128 * &a).compress();\n let aP256 = (&table_radix256 * &a).compress();\n\n assert_eq!(aP, aP16);\n assert_eq!(aP16, aP32);\n assert_eq!(aP32, aP64);\n assert_eq!(aP64, aP128);\n assert_eq!(aP128, aP256);\n }\n\n /// Check that converting to projective and then back to extended round-trips.\n #[test]\n fn basepoint_projective_extended_round_trip() {\n assert_eq!(\n constants::ED25519_BASEPOINT_POINT\n .as_projective()\n .as_extended()\n .compress(),\n constants::ED25519_BASEPOINT_COMPRESSED\n );\n }\n\n /// Test computing 16*basepoint vs mul_by_pow_2(4)\n #[test]\n fn basepoint16_vs_mul_by_pow_2_4() {\n let bp16 = constants::ED25519_BASEPOINT_POINT.mul_by_pow_2(4);\n assert_eq!(bp16.compress(), BASE16_CMPRSSD);\n }\n\n /// Check that mul_base_clamped and mul_clamped agree\n #[test]\n fn mul_base_clamped() {\n let mut csprng = rand::thread_rng();\n\n // Make a random curve point in the curve. Give it torsion to make things interesting.\n #[cfg(feature = \"precomputed-tables\")]\n let random_point = {\n let mut b = [0u8; 32];\n csprng.fill(&mut b);\n EdwardsPoint::mul_base_clamped(b) + constants::EIGHT_TORSION[1]\n };\n // Make a basepoint table from the random point. We'll use this with mul_base_clamped\n #[cfg(feature = \"precomputed-tables\")]\n let random_table = EdwardsBasepointTableRadix256::create(&random_point);\n\n // Now test scalar mult. agreement on the default basepoint as well as random_point\n\n // Test that mul_base_clamped and mul_clamped agree on a large integer. Even after\n // clamping, this integer is not reduced mod l.\n let a_bytes = [0xff; 32];\n assert_eq!(\n EdwardsPoint::mul_base_clamped(a_bytes),\n constants::ED25519_BASEPOINT_POINT.mul_clamped(a_bytes)\n );\n #[cfg(feature = \"precomputed-tables\")]\n assert_eq!(\n random_table.mul_base_clamped(a_bytes),\n random_point.mul_clamped(a_bytes)\n );\n\n // Test agreement on random integers\n for _ in 0..100 {\n // This will be reduced mod l with probability l / 2^256 ≈ 6.25%\n let mut a_bytes = [0u8; 32];\n csprng.fill(&mut a_bytes);\n\n assert_eq!(\n EdwardsPoint::mul_base_clamped(a_bytes),\n constants::ED25519_BASEPOINT_POINT.mul_clamped(a_bytes)\n );\n #[cfg(feature = \"precomputed-tables\")]\n assert_eq!(\n random_table.mul_base_clamped(a_bytes),\n random_point.mul_clamped(a_bytes)\n );\n }\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn impl_sum() {\n // Test that sum works for non-empty iterators\n let BASE = constants::ED25519_BASEPOINT_POINT;\n\n let s1 = Scalar::from(999u64);\n let P1 = BASE * s1;\n\n let s2 = Scalar::from(333u64);\n let P2 = BASE * s2;\n\n let arr = [P1, P2];\n let sum: EdwardsPoint = arr.iter().sum();\n\n assert_eq!(sum, P1 + P2);\n\n // Test that sum works for the empty iterator\n let empty_array: [EdwardsPoint; 0] = [];\n let sum: EdwardsPoint = empty_array.iter().sum();\n\n assert_eq!(sum, EdwardsPoint::identity());\n\n // Test that sum works on owning iterators\n let s = Scalar::from(2u64);\n let mapped = arr.iter().map(|x| x * s);\n let sum: EdwardsPoint = mapped.sum();\n\n assert_eq!(sum, P1 * s + P2 * s);\n }\n\n /// Test that the conditional assignment trait works for AffineNielsPoints.\n #[test]\n fn conditional_assign_for_affine_niels_point() {\n let id = AffineNielsPoint::identity();\n let mut p1 = AffineNielsPoint::identity();\n let bp = constants::ED25519_BASEPOINT_POINT.as_affine_niels();\n\n p1.conditional_assign(&bp, Choice::from(0));\n assert_eq!(p1, id);\n p1.conditional_assign(&bp, Choice::from(1));\n assert_eq!(p1, bp);\n }\n\n #[test]\n fn is_small_order() {\n // The basepoint has large prime order\n assert!(!constants::ED25519_BASEPOINT_POINT.is_small_order());\n // constants::EIGHT_TORSION has all points of small order.\n for torsion_point in &constants::EIGHT_TORSION {\n assert!(torsion_point.is_small_order());\n }\n }\n\n #[test]\n fn compressed_identity() {\n assert_eq!(\n EdwardsPoint::identity().compress(),\n CompressedEdwardsY::identity()\n );\n\n #[cfg(feature = \"alloc\")]\n {\n let compressed = EdwardsPoint::compress_batch(&[EdwardsPoint::identity()]);\n assert_eq!(&compressed, &[CompressedEdwardsY::identity()]);\n }\n }\n\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n #[test]\n fn compress_batch() {\n let mut rng = rand::thread_rng();\n\n // TODO(tarcieri): proptests?\n // Make some points deterministically then randomly\n let mut points = (1u64..16)\n .map(|n| constants::ED25519_BASEPOINT_POINT * Scalar::from(n))\n .collect::>();\n points.extend(core::iter::repeat_with(|| EdwardsPoint::random(&mut rng)).take(100));\n let compressed = EdwardsPoint::compress_batch(&points);\n\n // Check that the batch-compressed points match the individually compressed ones\n for (point, compressed) in points.iter().zip(&compressed) {\n assert_eq!(&point.compress(), compressed);\n }\n }\n\n #[test]\n fn is_identity() {\n assert!(EdwardsPoint::identity().is_identity());\n assert!(!constants::ED25519_BASEPOINT_POINT.is_identity());\n }\n\n /// Rust's debug builds have overflow and underflow trapping,\n /// and enable `debug_assert!()`. This performs many scalar\n /// multiplications to attempt to trigger possible overflows etc.\n ///\n /// For instance, the `u64` `Mul` implementation for\n /// `FieldElements` requires the input `Limb`s to be bounded by\n /// 2^54, but we cannot enforce this dynamically at runtime, or\n /// statically at compile time (until Rust gets type-level\n /// integers, at which point we can encode \"bits of headroom\" into\n /// the type system and prove correctness).\n #[test]\n fn monte_carlo_overflow_underflow_debug_assert_test() {\n let mut P = constants::ED25519_BASEPOINT_POINT;\n // N.B. each scalar_mul does 1407 field mults, 1024 field squarings,\n // so this does ~ 1M of each operation.\n for _ in 0..1_000 {\n P *= &A_SCALAR;\n }\n }\n\n #[test]\n fn scalarmult_extended_point_works_both_ways() {\n let G: EdwardsPoint = constants::ED25519_BASEPOINT_POINT;\n let s: Scalar = A_SCALAR;\n\n let P1 = G * s;\n let P2 = s * G;\n\n assert!(P1.compress().to_bytes() == P2.compress().to_bytes());\n }\n\n // A single iteration of a consistency check for MSM.\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_iter(n: usize) {\n let mut rng = rand::thread_rng();\n\n // Construct random coefficients x0, ..., x_{n-1},\n // followed by some extra hardcoded ones.\n let xs = (0..n).map(|_| Scalar::random(&mut rng)).collect::>();\n let check = xs.iter().map(|xi| xi * xi).sum::();\n\n // Construct points G_i = x_i * B\n let Gs = xs.iter().map(EdwardsPoint::mul_base).collect::>();\n\n // Compute H1 = (consttime)\n let H1 = EdwardsPoint::multiscalar_mul(&xs, &Gs);\n // Compute H2 = (vartime)\n let H2 = EdwardsPoint::vartime_multiscalar_mul(&xs, &Gs);\n // Compute H3 = = sum(xi^2) * B\n let H3 = EdwardsPoint::mul_base(&check);\n\n assert_eq!(H1, H3);\n assert_eq!(H2, H3);\n }\n\n // Use different multiscalar sizes to hit different internal\n // parameters.\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_n_100() {\n let iters = 50;\n for _ in 0..iters {\n multiscalar_consistency_iter(100);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_n_250() {\n let iters = 50;\n for _ in 0..iters {\n multiscalar_consistency_iter(250);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_n_500() {\n let iters = 50;\n for _ in 0..iters {\n multiscalar_consistency_iter(500);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_n_1000() {\n let iters = 50;\n for _ in 0..iters {\n multiscalar_consistency_iter(1000);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn batch_to_montgomery() {\n let mut rng = rand::thread_rng();\n\n let scalars = (0..128)\n .map(|_| Scalar::random(&mut rng))\n .collect::>();\n\n let points = scalars\n .iter()\n .map(EdwardsPoint::mul_base)\n .collect::>();\n\n let single_monts = points\n .iter()\n .map(EdwardsPoint::to_montgomery)\n .collect::>();\n\n for i in [0, 1, 2, 3, 10, 50, 128] {\n let invs = EdwardsPoint::to_montgomery_batch(&points[..i]);\n assert_eq!(&invs, &single_monts[..i]);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn vartime_precomputed_vs_nonprecomputed_multiscalar() {\n let mut rng = rand::thread_rng();\n\n let static_scalars = (0..128)\n .map(|_| Scalar::random(&mut rng))\n .collect::>();\n\n let dynamic_scalars = (0..128)\n .map(|_| Scalar::random(&mut rng))\n .collect::>();\n\n let check_scalar: Scalar = static_scalars\n .iter()\n .chain(dynamic_scalars.iter())\n .map(|s| s * s)\n .sum();\n\n let static_points = static_scalars\n .iter()\n .map(EdwardsPoint::mul_base)\n .collect::>();\n let dynamic_points = dynamic_scalars\n .iter()\n .map(EdwardsPoint::mul_base)\n .collect::>();\n\n let precomputation = VartimeEdwardsPrecomputation::new(static_points.iter());\n\n assert_eq!(precomputation.len(), 128);\n assert!(!precomputation.is_empty());\n\n let P = precomputation.vartime_mixed_multiscalar_mul(\n &static_scalars,\n &dynamic_scalars,\n &dynamic_points,\n );\n\n use crate::traits::VartimeMultiscalarMul;\n let Q = EdwardsPoint::vartime_multiscalar_mul(\n static_scalars.iter().chain(dynamic_scalars.iter()),\n static_points.iter().chain(dynamic_points.iter()),\n );\n\n let R = EdwardsPoint::mul_base(&check_scalar);\n\n assert_eq!(P.compress(), R.compress());\n assert_eq!(Q.compress(), R.compress());\n }\n\n mod vartime {\n use super::super::*;\n use super::{A_SCALAR, A_TIMES_BASEPOINT, B_SCALAR, DOUBLE_SCALAR_MULT_RESULT};\n\n /// Test double_scalar_mul_vartime vs ed25519.py\n #[test]\n fn double_scalar_mul_basepoint_vs_ed25519py() {\n let A = A_TIMES_BASEPOINT\n .decompress()\n .expect(\"test point should decompress\");\n let result =\n EdwardsPoint::vartime_double_scalar_mul_basepoint(&A_SCALAR, &A, &B_SCALAR);\n assert_eq!(result.compress(), DOUBLE_SCALAR_MULT_RESULT);\n }\n\n #[test]\n fn triple_scalar_mul_basepoint_accepts_full_width_scalars() {\n let mut a1_bytes = [0u8; 32];\n a1_bytes[0] = 7;\n a1_bytes[16] = 1;\n let a1 = Scalar::from_canonical_bytes(a1_bytes).unwrap();\n\n let mut a2_bytes = [0u8; 32];\n a2_bytes[0] = 11;\n a2_bytes[24] = 1;\n let a2 = Scalar::from_canonical_bytes(a2_bytes).unwrap();\n\n let b = B_SCALAR;\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(17u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(19u64);\n\n let result = EdwardsPoint::vartime_triple_scalar_mul_basepoint(&a1, &A1, &a2, &A2, &b);\n let expected = (a1 * A1) + (a2 * A2) + EdwardsPoint::mul_base(&b);\n\n assert_eq!(result, expected);\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn multiscalar_mul_vs_ed25519py() {\n let A = A_TIMES_BASEPOINT\n .decompress()\n .expect(\"test point should decompress\");\n let result = EdwardsPoint::vartime_multiscalar_mul(\n &[A_SCALAR, B_SCALAR],\n &[A, constants::ED25519_BASEPOINT_POINT],\n );\n assert_eq!(result.compress(), DOUBLE_SCALAR_MULT_RESULT);\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn multiscalar_mul_vartime_vs_consttime() {\n let A = A_TIMES_BASEPOINT\n .decompress()\n .expect(\"test point should decompress\");\n let result_vartime = EdwardsPoint::vartime_multiscalar_mul(\n &[A_SCALAR, B_SCALAR],\n &[A, constants::ED25519_BASEPOINT_POINT],\n );\n let result_consttime = EdwardsPoint::multiscalar_mul(\n &[A_SCALAR, B_SCALAR],\n &[A, constants::ED25519_BASEPOINT_POINT],\n );\n\n assert_eq!(result_vartime.compress(), result_consttime.compress());\n }\n }\n\n #[test]\n #[cfg(feature = \"serde\")]\n fn serde_bincode_basepoint_roundtrip() {\n use bincode;\n\n let encoded = bincode::serialize(&constants::ED25519_BASEPOINT_POINT).unwrap();\n let enc_compressed = bincode::serialize(&constants::ED25519_BASEPOINT_COMPRESSED).unwrap();\n assert_eq!(encoded, enc_compressed);\n\n // Check that the encoding is 32 bytes exactly\n assert_eq!(encoded.len(), 32);\n\n let dec_uncompressed: EdwardsPoint = bincode::deserialize(&encoded).unwrap();\n let dec_compressed: CompressedEdwardsY = bincode::deserialize(&encoded).unwrap();\n\n assert_eq!(dec_uncompressed, constants::ED25519_BASEPOINT_POINT);\n assert_eq!(dec_compressed, constants::ED25519_BASEPOINT_COMPRESSED);\n\n // Check that the encoding itself matches the usual one\n let raw_bytes = constants::ED25519_BASEPOINT_COMPRESSED.as_bytes();\n let bp: EdwardsPoint = bincode::deserialize(raw_bytes).unwrap();\n assert_eq!(bp, constants::ED25519_BASEPOINT_POINT);\n }\n\n // Hash-to-curve test vectors from\n // https://www.rfc-editor.org/rfc/rfc9380.html#appendix-J.5.2\n // These are of the form (input_msg, output_x, output_y)\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n const RFC_ENCODE_TO_CURVE_KAT: &[(&[u8], &str, &str)] = &[\n (\n b\"\",\n \"1ff2b70ecf862799e11b7ae744e3489aa058ce805dd323a936375a84695e76da\",\n \"222e314d04a4d5725e9f2aff9fb2a6b69ef375a1214eb19021ceab2d687f0f9b\",\n ),\n (\n b\"abc\",\n \"5f13cc69c891d86927eb37bd4afc6672360007c63f68a33ab423a3aa040fd2a8\",\n \"67732d50f9a26f73111dd1ed5dba225614e538599db58ba30aaea1f5c827fa42\",\n ),\n (\n b\"abcdef0123456789\",\n \"1dd2fefce934ecfd7aae6ec998de088d7dd03316aa1847198aecf699ba6613f1\",\n \"2f8a6c24dd1adde73909cada6a4a137577b0f179d336685c4a955a0a8e1a86fb\",\n ),\n (\n b\"q128_qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\\\n qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",\n \"35fbdc5143e8a97afd3096f2b843e07df72e15bfca2eaf6879bf97c5d3362f73\",\n \"2af6ff6ef5ebba128b0774f4296cb4c2279a074658b083b8dcca91f57a603450\",\n ),\n (\n b\"a512_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"6e5e1f37e99345887fc12111575fc1c3e36df4b289b8759d23af14d774b66bff\",\n \"2c90c3d39eb18ff291d33441b35f3262cdd307162cc97c31bfcc7a4245891a37\"\n )\n ];\n\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n fn hex_str_to_fe(hex_str: &str) -> FieldElement {\n let mut bytes = hex::decode(hex_str).expect(\"RFC test vector hex must decode\");\n bytes.reverse();\n let bytes: [u8; 32] = bytes\n .try_into()\n .expect(\"RFC test vector field element must be 32 bytes\");\n FieldElement::from_bytes(&bytes)\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n fn elligator_encode_to_curve_test_vectors() {\n let dst = b\"QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_NU_\";\n for (index, vector) in RFC_ENCODE_TO_CURVE_KAT.iter().enumerate() {\n let input = vector.0;\n\n let expected_output = {\n let x = hex_str_to_fe(vector.1);\n let y = hex_str_to_fe(vector.2);\n AffinePoint { x, y }.to_edwards()\n };\n\n let computed = EdwardsPoint::encode_to_curve::(&[input], &[dst]);\n assert_eq!(computed, expected_output, \"Failed in test {}\", index);\n }\n }\n\n // Hash-to-curve test vectors from\n // https://www.rfc-editor.org/rfc/rfc9380.html#appendix-J.5.1\n // These are of the form (input_msg, output_x, output_y)\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n const RFC_HASH_TO_CURVE_KAT: &[(&[u8], &str, &str)] = &[\n (\n b\"\",\n \"3c3da6925a3c3c268448dcabb47ccde5439559d9599646a8260e47b1e4822fc6\",\n \"09a6c8561a0b22bef63124c588ce4c62ea83a3c899763af26d795302e115dc21\",\n ),\n\n (\n b\"abc\",\n \"608040b42285cc0d72cbb3985c6b04c935370c7361f4b7fbdb1ae7f8c1a8ecad\",\n \"1a8395b88338f22e435bbd301183e7f20a5f9de643f11882fb237f88268a5531\",\n ),\n\n (\n b\"abcdef0123456789\",\n \"6d7fabf47a2dc03fe7d47f7dddd21082c5fb8f86743cd020f3fb147d57161472\",\n \"53060a3d140e7fbcda641ed3cf42c88a75411e648a1add71217f70ea8ec561a6\",\n ),\n (\n b\"q128_qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\\\n qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",\n \"5fb0b92acedd16f3bcb0ef83f5c7b7a9466b5f1e0d8d217421878ea3686f8524\",\n \"2eca15e355fcfa39d2982f67ddb0eea138e2994f5956ed37b7f72eea5e89d2f7\",\n ),\n (\n b\"a512_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"0efcfde5898a839b00997fbe40d2ebe950bc81181afbd5cd6b9618aa336c1e8c\",\n \"6dc2fc04f266c5c27f236a80b14f92ccd051ef1ff027f26a07f8c0f327d8f995\"\n )\n ];\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n fn elligator_hash_to_curve_test_vectors() {\n let dst = b\"QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_RO_\";\n for (index, vector) in RFC_HASH_TO_CURVE_KAT.iter().enumerate() {\n let input = vector.0;\n\n let expected_output = {\n let x = hex_str_to_fe(vector.1);\n let y = hex_str_to_fe(vector.2);\n\n AffinePoint { x, y }.to_edwards()\n };\n\n let computed = EdwardsPoint::hash_to_curve::(&[input], &[dst]);\n\n assert_eq!(expected_output, computed, \"Failed in test {}\", index);\n }\n }\n}\n"},{"id":8,"name":{"Local":"curve25519/solana-ed25519/src/macros.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis agora lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Internal macros.\n\n/// Define borrow and non-borrow variants of `Add`.\nmacro_rules! define_add_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty, Output = $out:ty) => {\n impl<'b> Add<&'b $rhs> for $lhs {\n type Output = $out;\n fn add(self, rhs: &'b $rhs) -> $out {\n &self + rhs\n }\n }\n\n impl<'a> Add<$rhs> for &'a $lhs {\n type Output = $out;\n fn add(self, rhs: $rhs) -> $out {\n self + &rhs\n }\n }\n\n impl Add<$rhs> for $lhs {\n type Output = $out;\n fn add(self, rhs: $rhs) -> $out {\n &self + &rhs\n }\n }\n };\n}\n\n/// Define non-borrow variants of `AddAssign`.\nmacro_rules! define_add_assign_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty) => {\n impl AddAssign<$rhs> for $lhs {\n fn add_assign(&mut self, rhs: $rhs) {\n *self += &rhs;\n }\n }\n };\n}\n\n/// Define borrow and non-borrow variants of `Sub`.\nmacro_rules! define_sub_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty, Output = $out:ty) => {\n impl<'b> Sub<&'b $rhs> for $lhs {\n type Output = $out;\n fn sub(self, rhs: &'b $rhs) -> $out {\n &self - rhs\n }\n }\n\n impl<'a> Sub<$rhs> for &'a $lhs {\n type Output = $out;\n fn sub(self, rhs: $rhs) -> $out {\n self - &rhs\n }\n }\n\n impl Sub<$rhs> for $lhs {\n type Output = $out;\n fn sub(self, rhs: $rhs) -> $out {\n &self - &rhs\n }\n }\n };\n}\n\n/// Define non-borrow variants of `SubAssign`.\nmacro_rules! define_sub_assign_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty) => {\n impl SubAssign<$rhs> for $lhs {\n fn sub_assign(&mut self, rhs: $rhs) {\n *self -= &rhs;\n }\n }\n };\n}\n\n/// Define borrow and non-borrow variants of `Mul`.\nmacro_rules! define_mul_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty, Output = $out:ty) => {\n impl<'b> Mul<&'b $rhs> for $lhs {\n type Output = $out;\n fn mul(self, rhs: &'b $rhs) -> $out {\n &self * rhs\n }\n }\n\n impl<'a> Mul<$rhs> for &'a $lhs {\n type Output = $out;\n fn mul(self, rhs: $rhs) -> $out {\n self * &rhs\n }\n }\n\n impl Mul<$rhs> for $lhs {\n type Output = $out;\n fn mul(self, rhs: $rhs) -> $out {\n &self * &rhs\n }\n }\n };\n}\n\n/// Define non-borrow variants of `MulAssign`.\nmacro_rules! define_mul_assign_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty) => {\n impl MulAssign<$rhs> for $lhs {\n fn mul_assign(&mut self, rhs: $rhs) {\n *self *= &rhs;\n }\n }\n };\n}\n"},{"id":9,"name":{"Local":"/rustc/library/core/src/cmp.rs"},"crate_name":"core","contents":null},{"id":10,"name":{"Local":"/rustc/library/core/src/lib.rs"},"crate_name":"core","contents":null},{"id":11,"name":{"Local":"/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs"},"crate_name":"subtle","contents":null},{"id":12,"name":{"Local":"/rustc/library/core/src/default.rs"},"crate_name":"core","contents":null},{"id":13,"name":{"Local":"/rustc/library/core/src/marker.rs"},"crate_name":"core","contents":null},{"id":14,"name":{"Local":"/rustc/library/core/src/clone.rs"},"crate_name":"core","contents":null},{"id":15,"name":{"Local":"/rustc/library/core/src/fmt/mod.rs"},"crate_name":"core","contents":null},{"id":16,"name":{"Local":"/rustc/library/core/src/ops/arith.rs"},"crate_name":"core","contents":null},{"id":17,"name":{"Local":"/rustc/library/core/src/ops/mod.rs"},"crate_name":"core","contents":null},{"id":18,"name":{"Local":"curve25519/solana-ed25519/src/traits.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek / curve25519-sol.\n// Original curve25519-dalek code:\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// Additions for curve25519-sol:\n// Copyright (c) 2025 curve25519-sol contributors\n// See LICENSE for licensing information.\n//\n// Original authors:\n// - isis agora lovecruft \n// - Henry de Valence \n//\n// Additions in curve25519-sol:\n// - `HEEADecomposition` trait for half-extended Euclidean scalar decomposition.\n\n//! Module for common traits.\n\n#![allow(non_snake_case)]\n\nuse core::borrow::Borrow;\n\nuse crate::scalar::{Scalar, clamp_integer};\nuse subtle::ConstantTimeEq;\n\n// ------------------------------------------------------------------------\n// Public Traits\n// ------------------------------------------------------------------------\n\n/// Trait for getting the identity element of a point type.\npub trait Identity {\n /// Returns the identity element of the curve.\n /// Can be used as a constructor.\n fn identity() -> Self;\n}\n\n/// Trait for testing if a curve point is equivalent to the identity point.\npub trait IsIdentity {\n /// Return true if this element is the identity element of the curve.\n fn is_identity(&self) -> bool;\n}\n\n/// Implement generic identity equality testing for a point representations\n/// which have constant-time equality testing and a defined identity\n/// constructor.\nimpl IsIdentity for T\nwhere\n T: ConstantTimeEq + Identity,\n{\n fn is_identity(&self) -> bool {\n self.ct_eq(&T::identity()).into()\n }\n}\n\n/// A precomputed table of basepoints, for optimising scalar multiplications.\npub trait BasepointTable {\n /// The type of point contained within this table.\n type Point;\n\n /// Generate a new precomputed basepoint table from the given basepoint.\n fn create(basepoint: &Self::Point) -> Self;\n\n /// Retrieve the original basepoint from this table.\n fn basepoint(&self) -> Self::Point;\n\n /// Multiply a `scalar` by this precomputed basepoint table, in constant time.\n fn mul_base(&self, scalar: &Scalar) -> Self::Point;\n\n /// Multiply `clamp_integer(bytes)` by this precomputed basepoint table, in constant time. For\n /// a description of clamping, see [`clamp_integer`].\n fn mul_base_clamped(&self, bytes: [u8; 32]) -> Self::Point {\n // Basepoint multiplication is defined for all values of `bytes` up to and including\n // 2^255 - 1. The limit comes from the fact that scalar.as_radix_16() doesn't work for\n // most scalars larger than 2^255.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n self.mul_base(&s)\n }\n}\n\n/// A trait for constant-time multiscalar multiplication without precomputation.\npub trait MultiscalarMul {\n /// The type of point being multiplied, e.g., `RistrettoPoint`.\n type Point;\n\n /// Given an iterator of (possibly secret) scalars and an iterator of\n /// public points, compute\n /// $$\n /// Q = c\\_1 P\\_1 + \\cdots + c\\_n P\\_n.\n /// $$\n ///\n /// It is an error to call this function with two iterators of different lengths.\n ///\n /// # Examples\n ///\n /// The trait bound aims for maximum flexibility: the inputs must be\n /// convertible to iterators (`I: IntoIter`), and the iterator's items\n /// must be `Borrow` (or `Borrow`), to allow\n /// iterators returning either `Scalar`s or `&Scalar`s.\n ///\n /// ```\n /// # #[cfg(feature = \"alloc\")]\n /// # {\n /// use curve25519::constants;\n /// use curve25519::traits::MultiscalarMul;\n /// use curve25519::ristretto::RistrettoPoint;\n /// use curve25519::scalar::Scalar;\n ///\n /// // Some scalars\n /// let a = Scalar::from(87329482u64);\n /// let b = Scalar::from(37264829u64);\n /// let c = Scalar::from(98098098u64);\n ///\n /// // Some points\n /// let P = constants::RISTRETTO_BASEPOINT_POINT;\n /// let Q = P + P;\n /// let R = P + Q;\n ///\n /// // A1 = a*P + b*Q + c*R\n /// let abc = [a,b,c];\n /// let A1 = RistrettoPoint::multiscalar_mul(&abc, &[P,Q,R]);\n /// // Note: (&abc).into_iter(): Iterator\n ///\n /// // A2 = (-a)*P + (-b)*Q + (-c)*R\n /// let minus_abc = abc.iter().map(|x| -x);\n /// let A2 = RistrettoPoint::multiscalar_mul(minus_abc, &[P,Q,R]);\n /// // Note: minus_abc.into_iter(): Iterator\n ///\n /// assert_eq!(A1.compress(), (-A2).compress());\n /// # }\n /// ```\n fn multiscalar_mul(scalars: I, points: J) -> Self::Point\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow;\n}\n\n/// A trait for variable-time multiscalar multiplication without precomputation.\npub trait VartimeMultiscalarMul {\n /// The type of point being multiplied, e.g., `RistrettoPoint`.\n type Point;\n\n /// Given an iterator of public scalars and an iterator of\n /// `Option`s of points, compute either `Some(Q)`, where\n /// $$\n /// Q = c\\_1 P\\_1 + \\cdots + c\\_n P\\_n,\n /// $$\n /// if all points were `Some(P_i)`, or else return `None`.\n ///\n /// This function is particularly useful when verifying statements\n /// involving compressed points. Accepting `Option` allows\n /// inlining point decompression into the multiscalar call,\n /// avoiding the need for temporary buffers.\n ///\n /// ```\n /// #[cfg(feature = \"alloc\")]\n /// # {\n /// use curve25519::constants;\n /// use curve25519::traits::VartimeMultiscalarMul;\n /// use curve25519::ristretto::RistrettoPoint;\n /// use curve25519::scalar::Scalar;\n ///\n /// // Some scalars\n /// let a = Scalar::from(87329482u64);\n /// let b = Scalar::from(37264829u64);\n /// let c = Scalar::from(98098098u64);\n /// let abc = [a,b,c];\n ///\n /// // Some points\n /// let P = constants::RISTRETTO_BASEPOINT_POINT;\n /// let Q = P + P;\n /// let R = P + Q;\n /// let PQR = [P, Q, R];\n ///\n /// let compressed = [P.compress(), Q.compress(), R.compress()];\n ///\n /// // Now we can compute A1 = a*P + b*Q + c*R using P, Q, R:\n /// let A1 = RistrettoPoint::vartime_multiscalar_mul(&abc, &PQR);\n ///\n /// // Or using the compressed points:\n /// let A2 = RistrettoPoint::optional_multiscalar_mul(\n /// &abc,\n /// compressed.iter().map(|pt| pt.decompress()),\n /// );\n ///\n /// assert_eq!(A2, Some(A1));\n ///\n /// // It's also possible to mix compressed and uncompressed points:\n /// let A3 = RistrettoPoint::optional_multiscalar_mul(\n /// abc.iter()\n /// .chain(abc.iter()),\n /// compressed.iter().map(|pt| pt.decompress())\n /// .chain(PQR.iter().map(|&pt| Some(pt))),\n /// );\n ///\n /// assert_eq!(A3, Some(A1+A1));\n /// # }\n /// ```\n fn optional_multiscalar_mul(scalars: I, points: J) -> Option\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator>;\n\n /// Given an iterator of public scalars and an iterator of\n /// public points, compute\n /// $$\n /// Q = c\\_1 P\\_1 + \\cdots + c\\_n P\\_n,\n /// $$\n /// using variable-time operations.\n ///\n /// It is an error to call this function with two iterators of different lengths.\n ///\n /// # Examples\n ///\n /// The trait bound aims for maximum flexibility: the inputs must be\n /// convertible to iterators (`I: IntoIter`), and the iterator's items\n /// must be `Borrow` (or `Borrow`), to allow\n /// iterators returning either `Scalar`s or `&Scalar`s.\n ///\n /// ```\n /// #[cfg(feature = \"alloc\")]\n /// # {\n /// use curve25519::constants;\n /// use curve25519::traits::VartimeMultiscalarMul;\n /// use curve25519::ristretto::RistrettoPoint;\n /// use curve25519::scalar::Scalar;\n ///\n /// // Some scalars\n /// let a = Scalar::from(87329482u64);\n /// let b = Scalar::from(37264829u64);\n /// let c = Scalar::from(98098098u64);\n ///\n /// // Some points\n /// let P = constants::RISTRETTO_BASEPOINT_POINT;\n /// let Q = P + P;\n /// let R = P + Q;\n ///\n /// // A1 = a*P + b*Q + c*R\n /// let abc = [a,b,c];\n /// let A1 = RistrettoPoint::vartime_multiscalar_mul(&abc, &[P,Q,R]);\n /// // Note: (&abc).into_iter(): Iterator\n ///\n /// // A2 = (-a)*P + (-b)*Q + (-c)*R\n /// let minus_abc = abc.iter().map(|x| -x);\n /// let A2 = RistrettoPoint::vartime_multiscalar_mul(minus_abc, &[P,Q,R]);\n /// // Note: minus_abc.into_iter(): Iterator\n ///\n /// assert_eq!(A1.compress(), (-A2).compress());\n /// # }\n /// ```\n fn vartime_multiscalar_mul(scalars: I, points: J) -> Self::Point\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n Self::Point: Clone,\n {\n Self::optional_multiscalar_mul(\n scalars,\n points.into_iter().map(|P| Some(P.borrow().clone())),\n )\n .expect(\"should return some point\")\n }\n}\n\n/// A trait for variable-time multiscalar multiplication with precomputation.\n///\n/// A general multiscalar multiplication with precomputation can be written as\n/// $$\n/// Q = a_1 A_1 + \\cdots + a_n A_n + b_1 B_1 + \\cdots + b_m B_m,\n/// $$\n/// where the \\\\(B_i\\\\) are *static* points, for which precomputation\n/// is possible, and the \\\\(A_j\\\\) are *dynamic* points, for which\n/// precomputation is not possible.\n///\n/// This trait has three methods for performing this computation:\n///\n/// * [`Self::vartime_multiscalar_mul`], which handles the special case where\n/// \\\\(n = 0\\\\) and there are no dynamic points;\n///\n/// * [`Self::vartime_mixed_multiscalar_mul`], which takes the dynamic points as\n/// already-validated `Point`s and is infallible;\n///\n/// * [`Self::optional_mixed_multiscalar_mul`], which takes the dynamic points\n/// as `Option`s and returns an `Option`, allowing decompression\n/// to be composed into the input iterators.\n///\n/// All methods require that the lengths of the input iterators be\n/// known, as if they were `ExactSizeIterator`s. (It\n/// does not require `ExactSizeIterator` only because that trait is\n/// broken).\npub trait VartimePrecomputedMultiscalarMul: Sized {\n /// The type of point to be multiplied, e.g., `RistrettoPoint`.\n type Point: Clone;\n\n /// Given the static points \\\\( B_i \\\\), perform precomputation\n /// and return the precomputation data.\n fn new(static_points: I) -> Self\n where\n I: IntoIterator,\n I::Item: Borrow;\n\n /// Return the number of static points in the precomputation.\n fn len(&self) -> usize;\n\n /// Determine if the precomputation is empty.\n fn is_empty(&self) -> bool;\n\n /// Given `static_scalars`, an iterator of public scalars\n /// \\\\(b_i\\\\), compute\n /// $$\n /// Q = b_1 B_1 + \\cdots + b_m B_m,\n /// $$\n /// where the \\\\(B_j\\\\) are the points that were supplied to `new`.\n ///\n /// It is valid for \\\\(b_i\\\\) to have a shorter length than \\\\(B_j\\\\).\n /// In this case, any \"unused\" points are ignored in the computation.\n /// It is an error to call this function if \\\\(b_i\\\\) has a longer\n /// length than \\\\(B_j\\\\).\n ///\n /// The trait bound aims for maximum flexibility: the input must\n /// be convertible to iterators (`I: IntoIter`), and the\n /// iterator's items must be `Borrow`, to allow iterators\n /// returning either `Scalar`s or `&Scalar`s.\n fn vartime_multiscalar_mul(&self, static_scalars: I) -> Self::Point\n where\n I: IntoIterator,\n I::Item: Borrow,\n {\n use core::iter;\n\n Self::vartime_mixed_multiscalar_mul(\n self,\n static_scalars,\n iter::empty::(),\n iter::empty::(),\n )\n }\n\n /// Given `static_scalars`, an iterator of public scalars\n /// \\\\(b_i\\\\), `dynamic_scalars`, an iterator of public scalars\n /// \\\\(a_i\\\\), and `dynamic_points`, an iterator of points\n /// \\\\(A_i\\\\), compute\n /// $$\n /// Q = a_1 A_1 + \\cdots + a_n A_n + b_1 B_1 + \\cdots + b_m B_m,\n /// $$\n /// where the \\\\(B_j\\\\) are the points that were supplied to `new`.\n ///\n /// It is valid for \\\\(b_i\\\\) to have a shorter length than \\\\(B_j\\\\).\n /// In this case, any \"unused\" points are ignored in the computation.\n /// It is an error to call this function if \\\\(b_i\\\\) has a longer\n /// length than \\\\(B_j\\\\), or if \\\\(a_i\\\\) and \\\\(A_i\\\\) do not have\n /// the same length.\n ///\n /// The trait bound aims for maximum flexibility: the inputs must be\n /// convertible to iterators (`I: IntoIter`), and the iterator's items\n /// must be `Borrow` (or `Borrow`), to allow\n /// iterators returning either `Scalar`s or `&Scalar`s.\n fn vartime_mixed_multiscalar_mul(\n &self,\n static_scalars: I,\n dynamic_scalars: J,\n dynamic_points: K,\n ) -> Self::Point\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n K: IntoIterator,\n K::Item: Borrow,\n {\n Self::optional_mixed_multiscalar_mul(\n self,\n static_scalars,\n dynamic_scalars,\n dynamic_points.into_iter().map(|P| Some(P.borrow().clone())),\n )\n .expect(\"should return some point\")\n }\n\n /// Given `static_scalars`, an iterator of public scalars\n /// \\\\(b_i\\\\), `dynamic_scalars`, an iterator of public scalars\n /// \\\\(a_i\\\\), and `dynamic_points`, an iterator of points\n /// \\\\(A_i\\\\), compute\n /// $$\n /// Q = a_1 A_1 + \\cdots + a_n A_n + b_1 B_1 + \\cdots + b_m B_m,\n /// $$\n /// where the \\\\(B_j\\\\) are the points that were supplied to `new`.\n ///\n /// If any of the dynamic points were `None`, return `None`.\n ///\n /// It is valid for \\\\(b_i\\\\) to have a shorter length than \\\\(B_j\\\\).\n /// In this case, any \"unused\" points are ignored in the computation.\n /// It is an error to call this function if \\\\(b_i\\\\) has a longer\n /// length than \\\\(B_j\\\\), or if \\\\(a_i\\\\) and \\\\(A_i\\\\) do not have\n /// the same length.\n ///\n /// This function is particularly useful when verifying statements\n /// involving compressed points. Accepting `Option` allows\n /// inlining point decompression into the multiscalar call,\n /// avoiding the need for temporary buffers.\n fn optional_mixed_multiscalar_mul(\n &self,\n static_scalars: I,\n dynamic_scalars: J,\n dynamic_points: K,\n ) -> Option\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n K: IntoIterator>;\n}\n\n/// A trait for decomposing scalars for the HEEA method.\n///\n/// The HEEA method is used by EdDSA verification to replace multiplication by\n/// a full-width challenge scalar with multiplications by two shorter scalars.\n/// For a challenge scalar `h`, the decomposition returns non-negative scalars\n/// `rho` and `tau` that satisfy either `rho == tau * h (mod ell)` or\n/// `rho == -tau * h (mod ell)`.\n///\n/// This trait provides a method for performing this decomposition.\npub trait HEEADecomposition {\n /// Decomposes a scalar `h` into two approximately half-size scalars.\n ///\n /// Returns `(rho, tau, flip_h)`. If `flip_h` is false, then\n /// `rho == tau * h (mod ell)`. If `flip_h` is true, then\n /// `rho == -tau * h (mod ell)`.\n fn heea_decompose(&self) -> (Scalar, Scalar, bool);\n}\n\n// ------------------------------------------------------------------------\n// Private Traits\n// ------------------------------------------------------------------------\n\n/// Trait for checking whether a point is on the curve.\n///\n/// This trait is only for debugging/testing, since it should be\n/// impossible for a `curve25519-dalek` user to construct an invalid\n/// point.\n#[allow(dead_code)]\npub(crate) trait ValidityCheck {\n /// Checks whether the point is on the curve. Not CT.\n fn is_valid(&self) -> bool;\n}\n"},{"id":19,"name":{"Local":"curve25519/solana-ed25519/src/edwards/affine.rs"},"crate_name":"curve25519","contents":"use super::{CompressedEdwardsY, EdwardsPoint};\nuse crate::traits::Identity;\nuse crate::{Scalar, field::FieldElement};\nuse core::ops::Mul;\nuse subtle::{Choice, ConditionallySelectable, ConstantTimeEq};\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::DefaultIsZeroes;\n\n/// Affine Edwards point on untwisted curve.\n#[derive(Copy, Clone, Debug)]\npub struct AffinePoint {\n pub(super) x: FieldElement,\n pub(super) y: FieldElement,\n}\n\nimpl ConstantTimeEq for AffinePoint {\n fn ct_eq(&self, other: &Self) -> Choice {\n self.x.ct_eq(&other.x) & self.y.ct_eq(&other.y)\n }\n}\n\nimpl ConditionallySelectable for AffinePoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n Self {\n x: FieldElement::conditional_select(&a.x, &b.x, choice),\n y: FieldElement::conditional_select(&a.y, &b.y, choice),\n }\n }\n}\n\nimpl Default for AffinePoint {\n fn default() -> AffinePoint {\n AffinePoint::identity()\n }\n}\n\nimpl Identity for AffinePoint {\n fn identity() -> AffinePoint {\n AffinePoint {\n x: FieldElement::ZERO,\n y: FieldElement::ONE,\n }\n }\n}\n\nimpl PartialEq for AffinePoint {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl Eq for AffinePoint {}\n\n#[cfg(feature = \"zeroize\")]\nimpl DefaultIsZeroes for AffinePoint {}\n\nimpl AffinePoint {\n /// Convert to extended coordinates.\n pub fn to_edwards(self) -> EdwardsPoint {\n EdwardsPoint {\n X: self.x,\n Y: self.y,\n Z: FieldElement::ONE,\n T: &self.x * &self.y,\n }\n }\n\n /// Compress affine Edwards coordinates into `CompressedEdwardsY` format.\n #[inline]\n pub fn compress(self) -> CompressedEdwardsY {\n let mut s = self.y.to_bytes();\n s[31] ^= self.x.is_negative().unwrap_u8() << 7;\n CompressedEdwardsY(s)\n }\n}\n\nimpl Mul for Scalar {\n type Output = EdwardsPoint;\n\n #[inline]\n fn mul(self, rhs: AffinePoint) -> EdwardsPoint {\n self * &rhs\n }\n}\n\nimpl Mul<&AffinePoint> for Scalar {\n type Output = EdwardsPoint;\n\n #[inline]\n fn mul(self, rhs: &AffinePoint) -> EdwardsPoint {\n rhs.to_edwards() * self\n }\n}\n\n#[cfg(test)]\nmod tests {\n use super::{AffinePoint, EdwardsPoint, Identity};\n use crate::constants;\n\n #[test]\n fn identity_conversion() {\n assert_eq!(\n AffinePoint::identity().to_edwards(),\n EdwardsPoint::identity()\n );\n }\n\n #[test]\n fn generator_round_trip() {\n let basepoint = constants::ED25519_BASEPOINT_POINT;\n assert_eq!(basepoint.to_affine().to_edwards(), basepoint);\n }\n}\n"},{"id":20,"name":{"Local":"/rustc/library/core/src/hash/mod.rs"},"crate_name":"core","contents":null},{"id":21,"name":{"Local":"/rustc/library/core/src/convert/mod.rs"},"crate_name":"core","contents":null},{"id":22,"name":{"Local":"/rustc/library/core/src/array/mod.rs"},"crate_name":"core","contents":null},{"id":23,"name":{"Local":"/rustc/library/core/src/borrow.rs"},"crate_name":"core","contents":null},{"id":24,"name":{"Local":"/rustc/library/core/src/iter/traits/accum.rs"},"crate_name":"core","contents":null},{"id":25,"name":{"Local":"/rustc/library/core/src/iter/traits/mod.rs"},"crate_name":"core","contents":null},{"id":26,"name":{"Local":"/rustc/library/core/src/iter/mod.rs"},"crate_name":"core","contents":null},{"id":27,"name":{"Local":"/rustc/library/core/src/iter/traits/iterator.rs"},"crate_name":"core","contents":null},{"id":28,"name":{"Local":"curve25519/solana-ed25519/src/scalar.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// Portions Copyright 2017 Brian Smith\n// See LICENSE for licensing information.\n//\n// Authors:\n// - Isis Agora Lovecruft \n// - Henry de Valence \n// - Brian Smith \n\n//! Arithmetic on scalars (integers mod the group order).\n//!\n//! Both the Ristretto group and the Ed25519 basepoint have prime order\n//! \\\\( \\ell = 2\\^{252} + 27742317777372353535851937790883648493 \\\\).\n//!\n//! This code is intended to be useful with both the Ristretto group\n//! (where everything is done modulo \\\\( \\ell \\\\)), and the X/Ed25519\n//! setting, which mandates specific bit-twiddles that are not\n//! well-defined modulo \\\\( \\ell \\\\).\n//!\n//! All arithmetic on `Scalars` is done modulo \\\\( \\ell \\\\).\n//!\n//! # Constructing a scalar\n//!\n//! To create a [`Scalar`](struct.Scalar.html) from a supposedly canonical encoding, use\n//! [`Scalar::from_canonical_bytes`](struct.Scalar.html#method.from_canonical_bytes).\n//!\n//! This function does input validation, ensuring that the input bytes\n//! are the canonical encoding of a `Scalar`.\n//! If they are, we'll get\n//! `Some(Scalar)` in return:\n//!\n//! ```\n//! use curve25519::scalar::Scalar;\n//!\n//! let one_as_bytes: [u8; 32] = Scalar::ONE.to_bytes();\n//! let a: Option = Scalar::from_canonical_bytes(one_as_bytes).into();\n//!\n//! assert!(a.is_some());\n//! ```\n//!\n//! However, if we give it bytes representing a scalar larger than \\\\( \\ell \\\\)\n//! (in this case, \\\\( \\ell + 2 \\\\)), we'll get `None` back:\n//!\n//! ```\n//! use curve25519::scalar::Scalar;\n//!\n//! let l_plus_two_bytes: [u8; 32] = [\n//! 0xef, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58,\n//! 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14,\n//! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n//! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\n//! ];\n//! let a: Option = Scalar::from_canonical_bytes(l_plus_two_bytes).into();\n//!\n//! assert!(a.is_none());\n//! ```\n//!\n//! Another way to create a `Scalar` is by reducing a \\\\(256\\\\)-bit integer mod\n//! \\\\( \\ell \\\\), for which one may use the\n//! [`Scalar::from_bytes_mod_order`](struct.Scalar.html#method.from_bytes_mod_order)\n//! method. In the case of the second example above, this would reduce the\n//! resultant scalar \\\\( \\mod \\ell \\\\), producing \\\\( 2 \\\\):\n//!\n//! ```\n//! use curve25519::scalar::Scalar;\n//!\n//! let l_plus_two_bytes: [u8; 32] = [\n//! 0xef, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58,\n//! 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14,\n//! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n//! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\n//! ];\n//! let a: Scalar = Scalar::from_bytes_mod_order(l_plus_two_bytes);\n//!\n//! let two: Scalar = Scalar::ONE + Scalar::ONE;\n//!\n//! assert!(a == two);\n//! ```\n//!\n//! There is also a constructor that reduces a \\\\(512\\\\)-bit integer,\n//! [`Scalar::from_bytes_mod_order_wide`].\n//!\n//! To construct a `Scalar` as the hash of some input data, use\n//! [`Scalar::hash_from_bytes`], which takes a buffer, or\n//! [`Scalar::from_hash`], which allows an IUF API.\n//!\n#![cfg_attr(feature = \"digest\", doc = \"```\")]\n#![cfg_attr(not(feature = \"digest\"), doc = \"```ignore\")]\n//! # fn main() {\n//! use sha2::{Digest, Sha512};\n//! use curve25519::scalar::Scalar;\n//!\n//! // Hashing a single byte slice\n//! let a = Scalar::hash_from_bytes::(b\"Abolish ICE\");\n//!\n//! // Streaming data into a hash object\n//! let mut hasher = Sha512::default();\n//! hasher.update(b\"Abolish \");\n//! hasher.update(b\"ICE\");\n//! let a2 = Scalar::from_hash(hasher);\n//!\n//! assert_eq!(a, a2);\n//! # }\n//! ```\n//!\n//! See also `Scalar::hash_from_bytes` and `Scalar::from_hash` that\n//! reduces a \\\\(512\\\\)-bit integer, if the optional `digest` feature\n//! has been enabled.\n\nuse core::borrow::Borrow;\nuse core::fmt::Debug;\nuse core::iter::{Product, Sum};\nuse core::ops::Index;\nuse core::ops::Neg;\nuse core::ops::{Add, AddAssign};\nuse core::ops::{Mul, MulAssign};\nuse core::ops::{Sub, SubAssign};\n\n#[cfg(feature = \"group\")]\nuse group::ff::{Field, FromUniformBytes, PrimeField};\n#[cfg(feature = \"group-bits\")]\nuse group::ff::{FieldBits, PrimeFieldBits};\n\n#[cfg(any(feature = \"group\", feature = \"rand_core\"))]\nuse rand_core::RngCore;\n\n#[cfg(feature = \"rand_core\")]\nuse rand_core::CryptoRng;\n\n#[cfg(feature = \"digest\")]\nuse digest::Digest;\n#[cfg(feature = \"digest\")]\nuse digest::array::typenum::U64;\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\nuse subtle::CtOption;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\nuse crate::backend;\nuse crate::constants;\nuse crate::scalar::heea::{I256, curve25519_heea_vartime};\nuse crate::traits::HEEADecomposition;\n\nmod heea;\npub(crate) use heea::HEEA_MAX_INDEX;\n\npub(crate) const NAF_128_SIZE: usize = HEEA_MAX_INDEX + 1;\n\n/// An `UnpackedScalar` represents an element of the field GF(l), optimized for speed.\n///\n/// This is pinned to the 64-bit serial scalar backend.\ntype UnpackedScalar = backend::serial::u64::scalar::Scalar52;\n\n/// The `Scalar` struct holds an element of \\\\(\\mathbb Z / \\ell\\mathbb Z \\\\).\n#[allow(clippy::derived_hash_with_manual_eq)]\n#[derive(Copy, Clone, Hash)]\npub struct Scalar {\n /// `bytes` is a little-endian byte encoding of an integer representing a scalar modulo the\n /// group order.\n ///\n /// # Invariant #1\n ///\n /// The integer representing this scalar is less than \\\\(2\\^{255}\\\\). That is, the most\n /// significant bit of `bytes[31]` is 0.\n ///\n /// This is required for `EdwardsPoint` variable- and fixed-base multiplication, because most\n /// integers above 2^255 are unrepresentable in our radix-16 NAF (see [`Self::as_radix_16`]).\n /// The invariant is also required because our `MontgomeryPoint` multiplication assumes the MSB\n /// is 0 (see `MontgomeryPoint::mul`).\n ///\n /// # Invariant #2 (weak)\n ///\n /// The integer representing this scalar is less than \\\\(2\\^{255} - 19 \\\\), i.e., it represents\n /// a canonical representative of an element of \\\\( \\mathbb Z / \\ell\\mathbb Z \\\\). This is\n /// stronger than invariant #1. It also sometimes has to be broken.\n ///\n /// This invariant is deliberately broken in the implementation of `EdwardsPoint::{mul_clamped,\n /// mul_base_clamped}`, `MontgomeryPoint::{mul_clamped, mul_base_clamped}`, and\n /// `BasepointTable::mul_base_clamped`. This is not an issue though. As mentioned above,\n /// scalar-point multiplication is defined for any choice of `bytes` that satisfies invariant\n /// #1. Since clamping guarantees invariant #1 is satisfied, these operations are well defined.\n ///\n /// Note: Scalar-point mult is the _only_ thing you can do safely with an unreduced scalar.\n /// Scalar-scalar addition and subtraction are NOT correct when using unreduced scalars.\n /// Multiplication is correct, but this is only due to a quirk of our implementation, and not\n /// guaranteed to hold in general in the future.\n ///\n /// Note: It is not possible to construct an unreduced `Scalar` from the public API unless the\n /// `legacy_compatibility` is enabled (thus making `Scalar::from_bits` public). Thus, for all\n /// public non-legacy uses, invariant #2\n /// always holds.\n ///\n pub(crate) bytes: [u8; 32],\n}\n\nimpl Scalar {\n /// Construct a `Scalar` by reducing a 256-bit little-endian integer\n /// modulo the group order \\\\( \\ell \\\\).\n pub fn from_bytes_mod_order(bytes: [u8; 32]) -> Scalar {\n // Temporarily allow s_unreduced.bytes > 2^255 ...\n let s_unreduced = Scalar { bytes };\n\n // Then reduce mod the group order and return the reduced representative.\n let s = s_unreduced.reduce();\n debug_assert_eq!(0u8, s[31] >> 7);\n\n s\n }\n\n /// Construct a `Scalar` by reducing a 512-bit little-endian integer\n /// modulo the group order \\\\( \\ell \\\\).\n pub fn from_bytes_mod_order_wide(input: &[u8; 64]) -> Scalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut unpacked = UnpackedScalar::from_bytes_wide(input);\n let scalar = unpacked.pack();\n\n #[cfg(feature = \"zeroize\")]\n unpacked.zeroize();\n\n scalar\n }\n\n /// Attempt to construct a `Scalar` from a canonical byte representation.\n ///\n /// # Return\n ///\n /// - `Some(s)`, where `s` is the `Scalar` corresponding to `bytes`,\n /// if `bytes` is a canonical byte representation modulo the group order \\\\( \\ell \\\\);\n /// - `None` if `bytes` is not a canonical byte representation.\n pub fn from_canonical_bytes(bytes: [u8; 32]) -> CtOption {\n let high_bit_unset = (bytes[31] >> 7).ct_eq(&0);\n let candidate = Scalar { bytes };\n CtOption::new(candidate, high_bit_unset & candidate.is_canonical())\n }\n\n /// Construct a `Scalar` from bytes that are known to be canonical.\n #[inline]\n #[cfg(target_arch = \"x86_64\")]\n pub(crate) const fn from_canonical_bytes_unchecked(bytes: [u8; 32]) -> Scalar {\n Scalar { bytes }\n }\n\n /// Construct a `Scalar` from the low 255 bits of a 256-bit integer. This breaks the invariant\n /// that scalars are always reduced. Scalar-scalar arithmetic, i.e., addition, subtraction,\n /// multiplication, **does not work** on scalars produced from this function. You may only use\n /// the output of this function for `EdwardsPoint::mul`, `MontgomeryPoint::mul`, and\n /// `EdwardsPoint::vartime_double_scalar_mul_basepoint`. **Do not use this function** unless\n /// you absolutely have to.\n #[cfg(feature = \"legacy_compatibility\")]\n pub const fn from_bits(bytes: [u8; 32]) -> Scalar {\n let mut s = Scalar { bytes };\n // Ensure invariant #1 holds. That is, make s < 2^255 by masking the high bit.\n s.bytes[31] &= 0b0111_1111;\n\n s\n }\n}\n\nimpl Debug for Scalar {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n f.write_str(\"Scalar{..}\")\n }\n}\n\nimpl Eq for Scalar {}\nimpl PartialEq for Scalar {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl ConstantTimeEq for Scalar {\n fn ct_eq(&self, other: &Self) -> Choice {\n self.bytes.ct_eq(&other.bytes)\n }\n}\n\nimpl Index for Scalar {\n type Output = u8;\n\n /// Index the bytes of the representative for this `Scalar`. Mutation is not permitted.\n fn index(&self, _index: usize) -> &u8 {\n &(self.bytes[_index])\n }\n}\n\nimpl<'a> MulAssign<&'a Scalar> for Scalar {\n fn mul_assign(&mut self, _rhs: &'a Scalar) {\n *self = UnpackedScalar::mul(&self.unpack(), &_rhs.unpack()).pack();\n }\n}\n\ndefine_mul_assign_variants!(LHS = Scalar, RHS = Scalar);\n\nimpl<'a> Mul<&'a Scalar> for &Scalar {\n type Output = Scalar;\n fn mul(self, _rhs: &'a Scalar) -> Scalar {\n UnpackedScalar::mul(&self.unpack(), &_rhs.unpack()).pack()\n }\n}\n\ndefine_mul_variants!(LHS = Scalar, RHS = Scalar, Output = Scalar);\n\nimpl<'a> AddAssign<&'a Scalar> for Scalar {\n fn add_assign(&mut self, _rhs: &'a Scalar) {\n *self = *self + _rhs;\n }\n}\n\ndefine_add_assign_variants!(LHS = Scalar, RHS = Scalar);\n\nimpl<'a> Add<&'a Scalar> for &Scalar {\n type Output = Scalar;\n #[allow(non_snake_case)]\n fn add(self, _rhs: &'a Scalar) -> Scalar {\n // The UnpackedScalar::add function produces reduced outputs if the inputs are reduced. By\n // Scalar invariant #1, this is always the case.\n UnpackedScalar::add(&self.unpack(), &_rhs.unpack()).pack()\n }\n}\n\ndefine_add_variants!(LHS = Scalar, RHS = Scalar, Output = Scalar);\n\nimpl<'a> SubAssign<&'a Scalar> for Scalar {\n fn sub_assign(&mut self, _rhs: &'a Scalar) {\n *self = *self - _rhs;\n }\n}\n\ndefine_sub_assign_variants!(LHS = Scalar, RHS = Scalar);\n\nimpl<'a> Sub<&'a Scalar> for &Scalar {\n type Output = Scalar;\n #[allow(non_snake_case)]\n fn sub(self, rhs: &'a Scalar) -> Scalar {\n // The UnpackedScalar::sub function produces reduced outputs if the inputs are reduced. By\n // Scalar invariant #1, this is always the case.\n UnpackedScalar::sub(&self.unpack(), &rhs.unpack()).pack()\n }\n}\n\ndefine_sub_variants!(LHS = Scalar, RHS = Scalar, Output = Scalar);\n\nimpl Neg for &Scalar {\n type Output = Scalar;\n #[allow(non_snake_case)]\n fn neg(self) -> Scalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut self_unpacked = self.unpack();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut self_R = UnpackedScalar::mul_internal(&self_unpacked, &constants::R);\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut self_mod_l = UnpackedScalar::montgomery_reduce(&self_R);\n let negated = UnpackedScalar::sub(&UnpackedScalar::ZERO, &self_mod_l).pack();\n\n #[cfg(feature = \"zeroize\")]\n {\n self_unpacked.zeroize();\n self_R.zeroize();\n self_mod_l.zeroize();\n }\n\n negated\n }\n}\n\nimpl Neg for Scalar {\n type Output = Scalar;\n fn neg(self) -> Scalar {\n -&self\n }\n}\n\nimpl ConditionallySelectable for Scalar {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n let mut bytes = [0u8; 32];\n #[allow(clippy::needless_range_loop)]\n for i in 0..32 {\n bytes[i] = u8::conditional_select(&a.bytes[i], &b.bytes[i], choice);\n }\n Scalar { bytes }\n }\n}\n\n#[cfg(feature = \"serde\")]\nuse serde::de::Visitor;\n#[cfg(feature = \"serde\")]\nuse serde::{Deserialize, Deserializer, Serialize, Serializer};\n\n#[cfg(feature = \"serde\")]\n#[cfg_attr(docsrs, doc(cfg(feature = \"serde\")))]\nimpl Serialize for Scalar {\n fn serialize(&self, serializer: S) -> Result\n where\n S: Serializer,\n {\n use serde::ser::SerializeTuple;\n let mut tup = serializer.serialize_tuple(32)?;\n for byte in self.as_bytes().iter() {\n tup.serialize_element(byte)?;\n }\n tup.end()\n }\n}\n\n#[cfg(feature = \"serde\")]\n#[cfg_attr(docsrs, doc(cfg(feature = \"serde\")))]\nimpl<'de> Deserialize<'de> for Scalar {\n fn deserialize(deserializer: D) -> Result\n where\n D: Deserializer<'de>,\n {\n struct ScalarVisitor;\n\n impl<'de> Visitor<'de> for ScalarVisitor {\n type Value = Scalar;\n\n fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n formatter.write_str(\n \"a sequence of 32 bytes whose little-endian interpretation is less than the \\\n basepoint order ℓ\",\n )\n }\n\n fn visit_seq(self, mut seq: A) -> Result\n where\n A: serde::de::SeqAccess<'de>,\n {\n let mut bytes = [0u8; 32];\n #[allow(clippy::needless_range_loop)]\n for i in 0..32 {\n bytes[i] = seq\n .next_element()?\n .ok_or_else(|| serde::de::Error::invalid_length(i, &\"expected 32 bytes\"))?;\n }\n let scalar = Option::from(Scalar::from_canonical_bytes(bytes))\n .ok_or_else(|| serde::de::Error::custom(\"scalar was not canonically encoded\"));\n\n #[cfg(feature = \"zeroize\")]\n bytes.zeroize();\n\n scalar\n }\n }\n\n deserializer.deserialize_tuple(32, ScalarVisitor)\n }\n}\n\nimpl Product for Scalar\nwhere\n T: Borrow,\n{\n fn product(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(Scalar::ONE, |acc, item| acc * item.borrow())\n }\n}\n\nimpl Sum for Scalar\nwhere\n T: Borrow,\n{\n fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(Scalar::ZERO, |acc, item| acc + item.borrow())\n }\n}\n\nimpl Default for Scalar {\n fn default() -> Scalar {\n Scalar::ZERO\n }\n}\n\nimpl From for Scalar {\n fn from(x: u8) -> Scalar {\n let mut s_bytes = [0u8; 32];\n s_bytes[0] = x;\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From for Scalar {\n fn from(x: u16) -> Scalar {\n let mut s_bytes = [0u8; 32];\n let x_bytes = x.to_le_bytes();\n s_bytes[0..x_bytes.len()].copy_from_slice(&x_bytes);\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From for Scalar {\n fn from(x: u32) -> Scalar {\n let mut s_bytes = [0u8; 32];\n let x_bytes = x.to_le_bytes();\n s_bytes[0..x_bytes.len()].copy_from_slice(&x_bytes);\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From for Scalar {\n /// Construct a scalar from the given `u64`.\n ///\n /// # Inputs\n ///\n /// An `u64` to convert to a `Scalar`.\n ///\n /// # Returns\n ///\n /// A `Scalar` corresponding to the input `u64`.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n ///\n /// let fourtytwo = Scalar::from(42u64);\n /// let six = Scalar::from(6u64);\n /// let seven = Scalar::from(7u64);\n ///\n /// assert!(fourtytwo == six * seven);\n /// ```\n fn from(x: u64) -> Scalar {\n let mut s_bytes = [0u8; 32];\n let x_bytes = x.to_le_bytes();\n s_bytes[0..x_bytes.len()].copy_from_slice(&x_bytes);\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From for Scalar {\n fn from(x: u128) -> Scalar {\n let mut s_bytes = [0u8; 32];\n let x_bytes = x.to_le_bytes();\n s_bytes[0..x_bytes.len()].copy_from_slice(&x_bytes);\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From<&Scalar> for I256 {\n fn from(s: &Scalar) -> I256 {\n I256::from_le_bytes(s.to_bytes())\n }\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for Scalar {\n fn zeroize(&mut self) {\n self.bytes.zeroize();\n }\n}\n\nimpl HEEADecomposition for Scalar {\n /// Generate approximately half-size non-negative scalars `(rho, tau)` for a\n /// given challenge scalar `h`.\n ///\n /// The signed HEEA output satisfies `rho_i = tau_i * h (mod ell)`. This\n /// method returns the absolute values of `rho_i` and `tau_i`, plus `flip_h`\n /// to record whether exactly one of the signed values was negative.\n ///\n /// If `flip_h` is false, then `rho = tau * h (mod ell)`. If `flip_h` is\n /// true, then `rho = -tau * h (mod ell)`.\n fn heea_decompose(&self) -> (Scalar, Scalar, bool) {\n // Convert h to I256\n let v = self.into();\n\n // Run the algorithm\n let (mut rho_i, mut tau_i) = curve25519_heea_vartime(v);\n\n // Convert back to Scalars and ensure shortness\n let mut flip_h = false;\n if rho_i < I256::ZERO {\n rho_i = -rho_i;\n flip_h = !flip_h;\n }\n if tau_i < I256::ZERO {\n tau_i = -tau_i;\n flip_h = !flip_h;\n }\n\n let rho = Scalar::from_positive_i256(&rho_i);\n let tau = Scalar::from_positive_i256(&tau_i);\n\n (rho, tau, flip_h)\n }\n}\n\nimpl Scalar {\n /// The scalar \\\\( 0 \\\\).\n pub const ZERO: Self = Self { bytes: [0u8; 32] };\n\n /// The scalar \\\\( 1 \\\\).\n pub const ONE: Self = Self {\n bytes: [\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ],\n };\n\n /// Return a `Scalar` chosen uniformly at random using a user-provided RNG.\n ///\n /// # Inputs\n ///\n /// * `rng`: any RNG which implements `CryptoRng` interface.\n ///\n /// # Returns\n ///\n /// A random scalar within \\\\(\\mathbb{Z} / \\ell\\mathbb{Z}\\\\).\n ///\n /// # Example\n ///\n /// ```\n /// # fn main() {\n /// use curve25519::scalar::Scalar;\n ///\n /// let mut csprng = rand::thread_rng();\n /// let a: Scalar = Scalar::random(&mut csprng);\n /// # }\n #[cfg(feature = \"rand_core\")]\n pub fn random(rng: &mut R) -> Self {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut scalar_bytes = [0u8; 64];\n rng.fill_bytes(&mut scalar_bytes);\n let scalar = Scalar::from_bytes_mod_order_wide(&scalar_bytes);\n\n #[cfg(feature = \"zeroize\")]\n scalar_bytes.zeroize();\n\n scalar\n }\n\n #[cfg(feature = \"digest\")]\n /// Hash a slice of bytes into a scalar.\n ///\n /// Takes a type parameter `D`, which is any `Digest` producing 64\n /// bytes (512 bits) of output.\n ///\n /// Convenience wrapper around `from_hash`.\n ///\n /// # Example\n ///\n #[cfg_attr(feature = \"digest\", doc = \"```\")]\n #[cfg_attr(not(feature = \"digest\"), doc = \"```ignore\")]\n /// # use curve25519::scalar::Scalar;\n /// use sha2::Sha512;\n ///\n /// # // Need fn main() here in comment so the doctest compiles\n /// # // See https://doc.rust-lang.org/book/documentation.html#documentation-as-tests\n /// # fn main() {\n /// let msg = \"To really appreciate architecture, you may even need to commit a murder\";\n /// let s = Scalar::hash_from_bytes::(msg.as_bytes());\n /// # }\n /// ```\n pub fn hash_from_bytes(input: &[u8]) -> Scalar\n where\n D: Digest + Default,\n {\n let mut hash = D::default();\n hash.update(input);\n Scalar::from_hash(hash)\n }\n\n #[cfg(feature = \"digest\")]\n /// Construct a scalar from an existing `Digest` instance.\n ///\n /// Use this instead of `hash_from_bytes` if it is more convenient\n /// to stream data into the `Digest` than to pass a single byte\n /// slice.\n ///\n /// # Example\n ///\n /// ```\n /// # use curve25519::scalar::Scalar;\n /// use curve25519::digest::Update;\n ///\n /// use sha2::Digest;\n /// use sha2::Sha512;\n ///\n /// # fn main() {\n /// let mut h = Sha512::new()\n /// .chain(\"To really appreciate architecture, you may even need to commit a murder.\")\n /// .chain(\"While the programs used for The Manhattan Transcripts are of the most extreme\")\n /// .chain(\"nature, they also parallel the most common formula plot: the archetype of\")\n /// .chain(\"murder. Other phantasms were occasionally used to underline the fact that\")\n /// .chain(\"perhaps all architecture, rather than being about functional standards, is\")\n /// .chain(\"about love and death.\");\n ///\n /// let s = Scalar::from_hash(h);\n ///\n /// println!(\"{:?}\", s.to_bytes());\n /// assert_eq!(\n /// s.to_bytes(),\n /// [ 21, 88, 208, 252, 63, 122, 210, 152,\n /// 154, 38, 15, 23, 16, 167, 80, 150,\n /// 192, 221, 77, 226, 62, 25, 224, 148,\n /// 239, 48, 176, 10, 185, 69, 168, 11, ],\n /// );\n /// # }\n /// ```\n pub fn from_hash(hash: D) -> Scalar\n where\n D: Digest,\n {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut digest = hash.finalize();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut output = [0u8; 64];\n output.copy_from_slice(digest.as_slice());\n let scalar = Scalar::from_bytes_mod_order_wide(&output);\n\n #[cfg(feature = \"zeroize\")]\n {\n digest.zeroize();\n output.zeroize();\n }\n\n scalar\n }\n\n /// Convert this `Scalar` to its underlying sequence of bytes.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n ///\n /// let s: Scalar = Scalar::ZERO;\n ///\n /// assert!(s.to_bytes() == [0u8; 32]);\n /// ```\n pub const fn to_bytes(&self) -> [u8; 32] {\n self.bytes\n }\n\n /// View the little-endian byte encoding of the integer representing this Scalar.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n ///\n /// let s: Scalar = Scalar::ZERO;\n ///\n /// assert!(s.as_bytes() == &[0u8; 32]);\n /// ```\n pub const fn as_bytes(&self) -> &[u8; 32] {\n &self.bytes\n }\n\n /// Given a nonzero `Scalar`, compute its multiplicative inverse.\n ///\n /// # Warning\n ///\n /// `self` **MUST** be nonzero. If you cannot\n /// *prove* that this is the case, you **SHOULD NOT USE THIS\n /// FUNCTION**.\n ///\n /// # Returns\n ///\n /// The multiplicative inverse of the this `Scalar`.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n ///\n /// // x = 2238329342913194256032495932344128051776374960164957527413114840482143558222\n /// let X: Scalar = Scalar::from_bytes_mod_order([\n /// 0x4e, 0x5a, 0xb4, 0x34, 0x5d, 0x47, 0x08, 0x84,\n /// 0x59, 0x13, 0xb4, 0x64, 0x1b, 0xc2, 0x7d, 0x52,\n /// 0x52, 0xa5, 0x85, 0x10, 0x1b, 0xcc, 0x42, 0x44,\n /// 0xd4, 0x49, 0xf4, 0xa8, 0x79, 0xd9, 0xf2, 0x04,\n /// ]);\n /// // 1/x = 6859937278830797291664592131120606308688036382723378951768035303146619657244\n /// let XINV: Scalar = Scalar::from_bytes_mod_order([\n /// 0x1c, 0xdc, 0x17, 0xfc, 0xe0, 0xe9, 0xa5, 0xbb,\n /// 0xd9, 0x24, 0x7e, 0x56, 0xbb, 0x01, 0x63, 0x47,\n /// 0xbb, 0xba, 0x31, 0xed, 0xd5, 0xa9, 0xbb, 0x96,\n /// 0xd5, 0x0b, 0xcd, 0x7a, 0x3f, 0x96, 0x2a, 0x0f,\n /// ]);\n ///\n /// let inv_X: Scalar = X.invert();\n /// assert!(XINV == inv_X);\n /// let should_be_one: Scalar = &inv_X * &X;\n /// assert!(should_be_one == Scalar::ONE);\n /// ```\n pub fn invert(&self) -> Scalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut unpacked = self.unpack();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut inverse = unpacked.invert();\n let scalar = inverse.pack();\n\n #[cfg(feature = \"zeroize\")]\n {\n unpacked.zeroize();\n inverse.zeroize();\n }\n\n scalar\n }\n\n /// Given a slice of nonzero (possibly secret) `Scalar`s,\n /// compute their inverses in a batch.\n ///\n /// # Return\n ///\n /// Each element of `inputs` is replaced by its inverse.\n ///\n /// The product of all inverses is returned.\n ///\n /// # Warning\n ///\n /// All input `Scalars` **MUST** be nonzero. If you cannot\n /// *prove* that this is the case, you **SHOULD NOT USE THIS\n /// FUNCTION**.\n ///\n /// # Example\n ///\n /// ```\n /// # use curve25519::scalar::Scalar;\n /// # fn main() {\n /// let mut scalars = [\n /// Scalar::from(3u64),\n /// Scalar::from(5u64),\n /// Scalar::from(7u64),\n /// Scalar::from(11u64),\n /// ];\n ///\n /// let allinv = Scalar::invert_batch(&mut scalars);\n ///\n /// assert_eq!(allinv, Scalar::from(3*5*7*11u64).invert());\n /// assert_eq!(scalars[0], Scalar::from(3u64).invert());\n /// assert_eq!(scalars[1], Scalar::from(5u64).invert());\n /// assert_eq!(scalars[2], Scalar::from(7u64).invert());\n /// assert_eq!(scalars[3], Scalar::from(11u64).invert());\n /// # }\n /// ```\n pub fn invert_batch(inputs: &mut [Scalar; N]) -> Scalar {\n let one: UnpackedScalar = Scalar::ONE.unpack().as_montgomery();\n\n let mut scratch = [one; N];\n\n Self::invert_batch_internal(inputs, &mut scratch)\n }\n\n /// Given a slice of nonzero (possibly secret) `Scalar`s, compute their inverses in a batch.\n /// This the allocating form of [`Self::invert_batch`]. See those docs for examples.\n ///\n /// # Return\n ///\n /// Each element of `inputs` is replaced by its inverse.\n ///\n /// The product of all inverses is returned.\n ///\n /// # Warning\n ///\n /// All input `Scalars` **MUST** be nonzero. If you cannot\n /// *prove* that this is the case, you **SHOULD NOT USE THIS\n /// FUNCTION**.\n #[cfg(feature = \"alloc\")]\n pub fn invert_batch_alloc(inputs: &mut [Scalar]) -> Scalar {\n let n = inputs.len();\n let one: UnpackedScalar = Scalar::ONE.unpack().as_montgomery();\n\n let mut scratch = vec![one; n];\n\n Self::invert_batch_internal(inputs, &mut scratch)\n }\n\n fn invert_batch_internal(inputs: &mut [Scalar], scratch: &mut [UnpackedScalar]) -> Scalar {\n // This code is essentially identical to the FieldElement\n // implementation, and is documented there. Unfortunately,\n // it's not easy to write it generically, since here we want\n // to use `UnpackedScalar`s internally, and `Scalar`s\n // externally, but there's no corresponding distinction for\n // field elements.\n\n // Keep an accumulator of all of the previous products\n let mut acc = Scalar::ONE.unpack().as_montgomery();\n\n // Pass through the input vector, recording the previous\n // products in the scratch space\n for (input, scratch) in inputs.iter_mut().zip(scratch.iter_mut()) {\n *scratch = acc;\n\n // Avoid unnecessary Montgomery multiplication in second pass by\n // keeping inputs in Montgomery form\n let tmp = input.unpack().as_montgomery();\n *input = tmp.pack();\n acc = UnpackedScalar::montgomery_mul(&acc, &tmp);\n }\n\n // acc is nonzero iff all inputs are nonzero\n debug_assert!(acc.pack() != Scalar::ZERO);\n\n // Compute the inverse of all products\n acc = acc.montgomery_invert().from_montgomery();\n\n // We need to return the product of all inverses later\n let ret = acc.pack();\n\n // Pass through the vector backwards to compute the inverses\n // in place\n for (input, scratch) in inputs.iter_mut().rev().zip(scratch.iter().rev()) {\n let tmp = UnpackedScalar::montgomery_mul(&acc, &input.unpack());\n *input = UnpackedScalar::montgomery_mul(&acc, scratch).pack();\n acc = tmp;\n }\n\n #[cfg(feature = \"zeroize\")]\n scratch.zeroize();\n\n ret\n }\n\n /// Compute `b` such that `b + b = a mod modulus`.\n pub fn div_by_2(&self) -> Self {\n // We are looking for such `b` that `b + b = a mod modulus`.\n // Two possibilities:\n // - if `a` is even, we can just divide by 2;\n // - if `a` is odd, we divide `(a + modulus)` by 2.\n let is_odd = Choice::from(self.as_bytes()[0] & 1);\n let mut scalar = self.unpack();\n scalar.conditional_add_l(is_odd);\n\n let carry = scalar.shr1_assign();\n debug_assert_eq!(carry, 0);\n\n scalar.pack()\n }\n\n /// Get the bits of the scalar, in little-endian order\n pub(crate) fn bits_le(&self) -> impl DoubleEndedIterator + '_ {\n (0..256).map(|i| {\n // As i runs from 0..256, the bottom 3 bits index the bit, while the upper bits index\n // the byte. Since self.bytes is little-endian at the byte level, this iterator is\n // little-endian on the bit level\n ((self.bytes[i >> 3] >> (i & 7)) & 1u8) == 1\n })\n }\n\n /// Compute a width-\\\\(w\\\\) \"Non-Adjacent Form\" of this scalar.\n ///\n /// A width-\\\\(w\\\\) NAF of a positive integer \\\\(k\\\\) is an expression\n /// $$\n /// k = \\sum_{i=0}\\^m n\\_i 2\\^i,\n /// $$\n /// where each nonzero\n /// coefficient \\\\(n\\_i\\\\) is odd and bounded by \\\\(|n\\_i| < 2\\^{w-1}\\\\),\n /// \\\\(n\\_{m-1}\\\\) is nonzero, and at most one of any \\\\(w\\\\) consecutive\n /// coefficients is nonzero. (Hankerson, Menezes, Vanstone; def 3.32).\n ///\n /// The length of the NAF is at most one more than the length of\n /// the binary representation of \\\\(k\\\\). This is why the\n /// `Scalar` type maintains an invariant (invariant #1) that the top bit is\n /// \\\\(0\\\\), so that the NAF of a scalar has at most 256 digits.\n ///\n /// Intuitively, this is like a binary expansion, except that we\n /// allow some coefficients to grow in magnitude up to\n /// \\\\(2\\^{w-1}\\\\) so that the nonzero coefficients are as sparse\n /// as possible.\n ///\n /// When doing scalar multiplication, we can then use a lookup\n /// table of precomputed multiples of a point to add the nonzero\n /// terms \\\\( k_i P \\\\). Using signed digits cuts the table size\n /// in half, and using odd digits cuts the table size in half\n /// again.\n ///\n /// To compute a \\\\(w\\\\)-NAF, we use a modification of Algorithm 3.35 of HMV:\n ///\n /// 1. \\\\( i \\gets 0 \\\\)\n /// 2. While \\\\( k \\ge 1 \\\\):\n /// 1. If \\\\(k\\\\) is odd, \\\\( n_i \\gets k \\operatorname{mods} 2^w \\\\), \\\\( k \\gets k - n_i \\\\).\n /// 2. If \\\\(k\\\\) is even, \\\\( n_i \\gets 0 \\\\).\n /// 3. \\\\( k \\gets k / 2 \\\\), \\\\( i \\gets i + 1 \\\\).\n /// 3. Return \\\\( n_0, n_1, ... , \\\\)\n ///\n /// Here \\\\( \\bar x = x \\operatorname{mods} 2^w \\\\) means the\n /// \\\\( \\bar x \\\\) with \\\\( \\bar x \\equiv x \\pmod{2^w} \\\\) and\n /// \\\\( -2^{w-1} \\leq \\bar x < 2^{w-1} \\\\).\n ///\n /// We implement this by scanning across the bits of \\\\(k\\\\) from\n /// least-significant bit to most-significant-bit.\n /// Write the bits of \\\\(k\\\\) as\n /// $$\n /// k = \\sum\\_{i=0}\\^m k\\_i 2^i,\n /// $$\n /// and split the sum as\n /// $$\n /// k = \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i\n /// $$\n /// where the first part is \\\\( k \\mod 2^w \\\\).\n ///\n /// If \\\\( k \\mod 2^w\\\\) is odd, and \\\\( k \\mod 2^w < 2^{w-1} \\\\), then we emit\n /// \\\\( n_0 = k \\mod 2^w \\\\). Instead of computing\n /// \\\\( k - n_0 \\\\), we just advance \\\\(w\\\\) bits and reindex.\n ///\n /// If \\\\( k \\mod 2^w\\\\) is odd, and \\\\( k \\mod 2^w \\ge 2^{w-1} \\\\), then\n /// \\\\( n_0 = k \\operatorname{mods} 2^w = k \\mod 2^w - 2^w \\\\).\n /// The quantity \\\\( k - n_0 \\\\) is\n /// $$\n /// \\begin{aligned}\n /// k - n_0 &= \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i\n /// - \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\\\\\\\\n /// &= 2^w + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i\n /// \\end{aligned}\n /// $$\n /// so instead of computing the subtraction, we can set a carry\n /// bit, advance \\\\(w\\\\) bits, and reindex.\n ///\n /// If \\\\( k \\mod 2^w\\\\) is even, we emit \\\\(0\\\\), advance 1 bit\n /// and reindex. In fact, by setting all digits to \\\\(0\\\\)\n /// initially, we don't need to emit anything.\n pub(crate) fn non_adjacent_form(&self, w: usize) -> [i8; 256] {\n // required by the NAF definition\n debug_assert!(w >= 2);\n // required so that the NAF digits fit in i8\n debug_assert!(w <= 8);\n\n let mut naf = [0i8; 256];\n\n let mut x_u64 = [0u64; 5];\n read_le_u64_into(&self.bytes, &mut x_u64[0..4]);\n\n let width = 1 << w;\n let window_mask = width - 1;\n\n let mut pos = 0;\n let mut carry = 0;\n while pos < 256 {\n // Construct a buffer of bits of the scalar, starting at bit `pos`\n let u64_idx = pos / 64;\n let bit_idx = pos % 64;\n let bit_buf: u64 = if bit_idx < 64 - w {\n // This window's bits are contained in a single u64\n x_u64[u64_idx] >> bit_idx\n } else {\n // Combine the current u64's bits with the bits from the next u64\n (x_u64[u64_idx] >> bit_idx) | (x_u64[1 + u64_idx] << (64 - bit_idx))\n };\n\n // Add the carry into the current window\n let window = carry + (bit_buf & window_mask);\n\n if window & 1 == 0 {\n // If the window value is even, preserve the carry and continue.\n // Why is the carry preserved?\n // If carry == 0 and window & 1 == 0, then the next carry should be 0\n // If carry == 1 and window & 1 == 0, then bit_buf & 1 == 1 so the next carry should be 1\n pos += 1;\n continue;\n }\n\n if window < width / 2 {\n carry = 0;\n naf[pos] = window as i8;\n } else {\n carry = 1;\n naf[pos] = (window as i8).wrapping_sub(width as i8);\n }\n\n pos += w;\n }\n\n naf\n }\n\n /// Compute a width-\\\\(w\\\\) non-adjacent form for scalars known to fit in 128 bits.\n pub(crate) fn non_adjacent_form_128(&self, w: usize) -> [i8; NAF_128_SIZE] {\n // required by the NAF definition\n debug_assert!(w >= 2);\n // required so that the NAF digits fit in i8\n debug_assert!(w <= 8);\n debug_assert!(self.bytes[16..32].iter().all(|&b| b == 0));\n\n let mut naf = [0i8; NAF_128_SIZE];\n\n let mut x_u64 = [0u64; 3];\n read_le_u64_into(&self.bytes[..16], &mut x_u64[0..2]);\n\n let width = 1u64 << w;\n let window_mask = width - 1;\n\n let mut pos = 0;\n let mut carry = 0;\n while pos < HEEA_MAX_INDEX {\n let u64_idx = pos / 64;\n let bit_idx = pos % 64;\n let bit_buf: u64 = if bit_idx < 64 - w {\n x_u64[u64_idx] >> bit_idx\n } else {\n (x_u64[u64_idx] >> bit_idx) | (x_u64[1 + u64_idx] << (64 - bit_idx))\n };\n\n let window = carry + (bit_buf & window_mask);\n\n if window & 1 == 0 {\n pos += 1;\n continue;\n }\n\n if window < width / 2 {\n carry = 0;\n naf[pos] = window as i8;\n } else {\n carry = 1;\n naf[pos] = (window as i8).wrapping_sub(width as i8);\n }\n\n pos += w;\n }\n\n debug_assert_eq!(carry, 0);\n naf\n }\n\n /// Write this scalar in radix 16, with coefficients in \\\\([-8,8)\\\\),\n /// i.e., compute \\\\(a\\_i\\\\) such that\n /// $$\n /// a = a\\_0 + a\\_1 16\\^1 + \\cdots + a_{63} 16\\^{63},\n /// $$\n /// with \\\\(-8 \\leq a_i < 8\\\\) for \\\\(0 \\leq i < 63\\\\) and \\\\(-8 \\leq a_{63} \\leq 8\\\\).\n ///\n /// The largest value that can be decomposed like this is just over \\\\(2^{255}\\\\). Thus, in\n /// order to not error, the top bit MUST NOT be set, i.e., `Self` MUST be less than\n /// \\\\(2^{255}\\\\).\n pub(crate) fn as_radix_16(&self) -> [i8; 64] {\n debug_assert!(self[31] <= 127);\n let mut output = [0i8; 64];\n\n // Step 1: change radix.\n // Convert from radix 256 (bytes) to radix 16 (nibbles)\n #[allow(clippy::identity_op)]\n #[inline(always)]\n fn bot_half(x: u8) -> u8 {\n (x >> 0) & 15\n }\n #[inline(always)]\n fn top_half(x: u8) -> u8 {\n (x >> 4) & 15\n }\n\n for i in 0..32 {\n output[2 * i] = bot_half(self[i]) as i8;\n output[2 * i + 1] = top_half(self[i]) as i8;\n }\n // Precondition note: since self[31] <= 127, output[63] <= 7\n\n // Step 2: recenter coefficients from [0,16) to [-8,8)\n for i in 0..63 {\n let carry = (output[i] + 8) >> 4;\n output[i] -= carry << 4;\n output[i + 1] += carry;\n }\n // Precondition note: output[63] is not recentered. It\n // increases by carry <= 1. Thus output[63] <= 8.\n\n output\n }\n\n /// Returns a size hint indicating how many entries of the return\n /// value of `to_radix_2w` are nonzero.\n #[cfg(any(feature = \"alloc\", all(test, feature = \"precomputed-tables\")))]\n pub(crate) fn to_radix_2w_size_hint(w: usize) -> usize {\n debug_assert!(w >= 4);\n debug_assert!(w <= 8);\n\n let digits_count = match w {\n 4..=7 => 256_usize.div_ceil(w),\n // See comment in to_radix_2w on handling the terminal carry.\n 8 => 256_usize.div_ceil(w) + 1_usize,\n _ => panic!(\"invalid radix parameter\"),\n };\n\n debug_assert!(digits_count <= 64);\n digits_count\n }\n\n /// Creates a representation of a Scalar in radix \\\\( 2^w \\\\) with \\\\(w = 4, 5, 6, 7, 8\\\\) for\n /// use with the Pippenger algorithm. Higher radixes are not supported to save cache space.\n /// Radix 256 is near-optimal even for very large inputs.\n ///\n /// Radix below 16 or above 256 is prohibited.\n /// This method returns digits in a fixed-sized array, excess digits are zeroes.\n ///\n /// For radix 16, `Self` must be less than \\\\(2^{255}\\\\). This is because most integers larger\n /// than \\\\(2^{255}\\\\) are unrepresentable in the form described below for \\\\(w = 4\\\\). This\n /// would be true for \\\\(w = 8\\\\) as well, but it is compensated for by increasing the size\n /// hint by 1.\n ///\n /// ## Scalar representation\n ///\n /// Radix \\\\(2\\^w\\\\), with \\\\(n = ceil(256/w)\\\\) coefficients in \\\\([-(2\\^w)/2,(2\\^w)/2)\\\\),\n /// i.e., scalar is represented using digits \\\\(a\\_i\\\\) such that\n /// $$\n /// a = a\\_0 + a\\_1 2\\^1w + \\cdots + a_{n-1} 2\\^{w*(n-1)},\n /// $$\n /// with \\\\(-2\\^w/2 \\leq a_i < 2\\^w/2\\\\) for \\\\(0 \\leq i < (n-1)\\\\) and \\\\(-2\\^w/2 \\leq a_{n-1} \\leq 2\\^w/2\\\\).\n ///\n #[cfg(any(feature = \"alloc\", feature = \"precomputed-tables\"))]\n pub(crate) fn as_radix_2w(&self, w: usize) -> [i8; 64] {\n debug_assert!(w >= 4);\n debug_assert!(w <= 8);\n\n if w == 4 {\n return self.as_radix_16();\n }\n\n // Scalar formatted as four `u64`s with carry bit packed into the highest bit.\n let mut scalar64x4 = [0u64; 4];\n read_le_u64_into(&self.bytes, &mut scalar64x4[0..4]);\n\n let radix: u64 = 1 << w;\n let window_mask: u64 = radix - 1;\n\n let mut carry = 0u64;\n let mut digits = [0i8; 64];\n let digits_count = 256_usize.div_ceil(w);\n #[allow(clippy::needless_range_loop)]\n for i in 0..digits_count {\n // Construct a buffer of bits of the scalar, starting at `bit_offset`.\n let bit_offset = i * w;\n let u64_idx = bit_offset / 64;\n let bit_idx = bit_offset % 64;\n\n // Read the bits from the scalar\n let bit_buf: u64 = if bit_idx < 64 - w || u64_idx == 3 {\n // This window's bits are contained in a single u64,\n // or it's the last u64 anyway.\n scalar64x4[u64_idx] >> bit_idx\n } else {\n // Combine the current u64's bits with the bits from the next u64\n (scalar64x4[u64_idx] >> bit_idx) | (scalar64x4[1 + u64_idx] << (64 - bit_idx))\n };\n\n // Read the actual coefficient value from the window\n let coef = carry + (bit_buf & window_mask); // coef = [0, 2^r)\n\n // Recenter coefficients from [0,2^w) to [-2^w/2, 2^w/2)\n carry = (coef + (radix / 2)) >> w;\n digits[i] = ((coef as i64) - (carry << w) as i64) as i8;\n }\n\n // When 4 < w < 8, we can fold the final carry onto the last digit d,\n // because d < 2^w/2 so d + carry*2^w = d + 1*2^w < 2^(w+1) < 2^8.\n //\n // When w = 8, we can't fit carry*2^w into an i8. This should\n // not happen anyways, because the final carry will be 0 for\n // reduced scalars, but Scalar invariant #1 allows 255-bit scalars.\n // To handle this, we expand the size_hint by 1 when w=8,\n // and accumulate the final carry onto another digit.\n match w {\n 8 => digits[digits_count] += carry as i8,\n _ => digits[digits_count - 1] += (carry << w) as i8,\n }\n\n digits\n }\n\n /// Unpack this `Scalar` to an `UnpackedScalar` for faster arithmetic.\n pub(crate) fn unpack(&self) -> UnpackedScalar {\n UnpackedScalar::from_bytes(&self.bytes)\n }\n\n /// Create a `Scalar` from a positive `I256`.\n /// The caller must ensure val > 0.\n pub(crate) fn from_positive_i256(val: &I256) -> Self {\n debug_assert!(val >= &I256::ZERO);\n Scalar {\n bytes: val.to_le_bytes(),\n }\n }\n\n /// Reduce this `Scalar` modulo \\\\(\\ell\\\\).\n #[allow(non_snake_case)]\n fn reduce(&self) -> Scalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut x = self.unpack();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut xR = UnpackedScalar::mul_internal(&x, &constants::R);\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut x_mod_l = UnpackedScalar::montgomery_reduce(&xR);\n let scalar = x_mod_l.pack();\n\n #[cfg(feature = \"zeroize\")]\n {\n x.zeroize();\n xR.zeroize();\n x_mod_l.zeroize();\n }\n\n scalar\n }\n\n /// Check whether this `Scalar` is the canonical representative mod \\\\(\\ell\\\\). This is not\n /// public because any `Scalar` that is publicly observed is reduced, by scalar invariant #2.\n fn is_canonical(&self) -> Choice {\n self.ct_eq(&self.reduce())\n }\n}\n\nimpl UnpackedScalar {\n /// Pack the limbs of this `UnpackedScalar` into a `Scalar`.\n fn pack(&self) -> Scalar {\n Scalar {\n bytes: self.to_bytes(),\n }\n }\n\n /// Inverts an UnpackedScalar in Montgomery form.\n #[rustfmt::skip] // keep alignment of addition chain and squarings\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n #[allow(clippy::just_underscores_and_digits)]\n pub fn montgomery_invert(&self) -> UnpackedScalar {\n // Uses the addition chain from\n // https://briansmith.org/ecc-inversion-addition-chains-01#curve25519_scalar_inversion\n let mut _1 = *self;\n let mut _10 = _1.montgomery_square();\n let mut _100 = _10.montgomery_square();\n let mut _11 = UnpackedScalar::montgomery_mul(&_10, &_1);\n let mut _101 = UnpackedScalar::montgomery_mul(&_10, &_11);\n let mut _111 = UnpackedScalar::montgomery_mul(&_10, &_101);\n let mut _1001 = UnpackedScalar::montgomery_mul(&_10, &_111);\n let mut _1011 = UnpackedScalar::montgomery_mul(&_10, &_1001);\n let mut _1111 = UnpackedScalar::montgomery_mul(&_100, &_1011);\n\n // _10000\n let mut y = UnpackedScalar::montgomery_mul(&_1111, &_1);\n\n #[inline]\n fn square_multiply(y: &mut UnpackedScalar, squarings: usize, x: &UnpackedScalar) {\n for _ in 0..squarings {\n *y = y.montgomery_square();\n }\n *y = UnpackedScalar::montgomery_mul(y, x);\n }\n\n square_multiply(&mut y, 123 + 3, &_101);\n square_multiply(&mut y, 2 + 2, &_11);\n square_multiply(&mut y, 1 + 4, &_1111);\n square_multiply(&mut y, 1 + 4, &_1111);\n square_multiply(&mut y, 4, &_1001);\n square_multiply(&mut y, 2, &_11);\n square_multiply(&mut y, 1 + 4, &_1111);\n square_multiply(&mut y, 1 + 3, &_101);\n square_multiply(&mut y, 3 + 3, &_101);\n square_multiply(&mut y, 3, &_111);\n square_multiply(&mut y, 1 + 4, &_1111);\n square_multiply(&mut y, 2 + 3, &_111);\n square_multiply(&mut y, 2 + 2, &_11);\n square_multiply(&mut y, 1 + 4, &_1011);\n square_multiply(&mut y, 2 + 4, &_1011);\n square_multiply(&mut y, 6 + 4, &_1001);\n square_multiply(&mut y, 2 + 2, &_11);\n square_multiply(&mut y, 3 + 2, &_11);\n square_multiply(&mut y, 3 + 2, &_11);\n square_multiply(&mut y, 1 + 4, &_1001);\n square_multiply(&mut y, 1 + 3, &_111);\n square_multiply(&mut y, 2 + 4, &_1111);\n square_multiply(&mut y, 1 + 4, &_1011);\n square_multiply(&mut y, 3, &_101);\n square_multiply(&mut y, 2 + 4, &_1111);\n square_multiply(&mut y, 3, &_101);\n square_multiply(&mut y, 1 + 2, &_11);\n\n let inverse = y;\n\n #[cfg(feature = \"zeroize\")]\n {\n _1.zeroize();\n _10.zeroize();\n _100.zeroize();\n _11.zeroize();\n _101.zeroize();\n _111.zeroize();\n _1001.zeroize();\n _1011.zeroize();\n _1111.zeroize();\n y.zeroize();\n }\n\n inverse\n }\n\n /// Inverts an UnpackedScalar not in Montgomery form.\n pub fn invert(&self) -> UnpackedScalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut montgomery = self.as_montgomery();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut inverse = montgomery.montgomery_invert();\n let result = inverse.from_montgomery();\n\n #[cfg(feature = \"zeroize\")]\n {\n montgomery.zeroize();\n inverse.zeroize();\n }\n\n result\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl Field for Scalar {\n const ZERO: Self = Self::ZERO;\n const ONE: Self = Self::ONE;\n\n fn random(mut rng: impl RngCore) -> Self {\n // NOTE: this is duplicated due to different `rng` bounds\n let mut scalar_bytes = [0u8; 64];\n rng.fill_bytes(&mut scalar_bytes);\n let scalar = Self::from_bytes_mod_order_wide(&scalar_bytes);\n\n #[cfg(feature = \"zeroize\")]\n scalar_bytes.zeroize();\n\n scalar\n }\n\n fn square(&self) -> Self {\n self * self\n }\n\n fn double(&self) -> Self {\n self + self\n }\n\n fn invert(&self) -> CtOption {\n CtOption::new(self.invert(), !self.is_zero())\n }\n\n fn sqrt_ratio(num: &Self, div: &Self) -> (Choice, Self) {\n #[allow(unused_qualifications)]\n group::ff::helpers::sqrt_ratio_generic(num, div)\n }\n\n fn sqrt(&self) -> CtOption {\n #[allow(unused_qualifications)]\n group::ff::helpers::sqrt_tonelli_shanks(\n self,\n [\n 0xcb02_4c63_4b9e_ba7d,\n 0x029b_df3b_d45e_f39a,\n 0x0000_0000_0000_0000,\n 0x0200_0000_0000_0000,\n ],\n )\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl PrimeField for Scalar {\n type Repr = [u8; 32];\n\n fn from_repr(repr: Self::Repr) -> CtOption {\n Self::from_canonical_bytes(repr)\n }\n\n fn from_repr_vartime(repr: Self::Repr) -> Option {\n // Check that the high bit is not set\n if (repr[31] >> 7) != 0u8 {\n return None;\n }\n\n let candidate = Scalar { bytes: repr };\n\n if candidate == candidate.reduce() {\n Some(candidate)\n } else {\n None\n }\n }\n\n fn to_repr(&self) -> Self::Repr {\n self.to_bytes()\n }\n\n fn is_odd(&self) -> Choice {\n Choice::from(self.as_bytes()[0] & 1)\n }\n\n const MODULUS: &'static str =\n \"0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed\";\n const NUM_BITS: u32 = 253;\n const CAPACITY: u32 = 252;\n\n const TWO_INV: Self = Self {\n bytes: [\n 0xf7, 0xe9, 0x7a, 0x2e, 0x8d, 0x31, 0x09, 0x2c, 0x6b, 0xce, 0x7b, 0x51, 0xef, 0x7c,\n 0x6f, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x08,\n ],\n };\n const MULTIPLICATIVE_GENERATOR: Self = Self {\n bytes: [\n 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ],\n };\n const S: u32 = 2;\n const ROOT_OF_UNITY: Self = Self {\n bytes: [\n 0xd4, 0x07, 0xbe, 0xeb, 0xdf, 0x75, 0x87, 0xbe, 0xfe, 0x83, 0xce, 0x42, 0x53, 0x56,\n 0xf0, 0x0e, 0x7a, 0xc2, 0xc1, 0xab, 0x60, 0x6d, 0x3d, 0x7d, 0xe7, 0x81, 0x79, 0xe0,\n 0x10, 0x73, 0x4a, 0x09,\n ],\n };\n const ROOT_OF_UNITY_INV: Self = Self {\n bytes: [\n 0x19, 0xcc, 0x37, 0x71, 0x3a, 0xed, 0x8a, 0x99, 0xd7, 0x18, 0x29, 0x60, 0x8b, 0xa3,\n 0xee, 0x05, 0x86, 0x3d, 0x3e, 0x54, 0x9f, 0x92, 0xc2, 0x82, 0x18, 0x7e, 0x86, 0x1f,\n 0xef, 0x8c, 0xb5, 0x06,\n ],\n };\n const DELTA: Self = Self {\n bytes: [\n 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ],\n };\n}\n\n#[cfg(feature = \"group-bits\")]\nimpl PrimeFieldBits for Scalar {\n type ReprBits = [u8; 32];\n\n fn to_le_bits(&self) -> FieldBits {\n self.to_repr().into()\n }\n\n fn char_le_bits() -> FieldBits {\n constants::BASEPOINT_ORDER.to_bytes().into()\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl FromUniformBytes<64> for Scalar {\n fn from_uniform_bytes(bytes: &[u8; 64]) -> Self {\n Scalar::from_bytes_mod_order_wide(bytes)\n }\n}\n\n/// Read one or more u64s stored as little endian bytes.\n///\n/// ## Panics\n/// Panics if `src.len() != 8 * dst.len()`.\nfn read_le_u64_into(src: &[u8], dst: &mut [u64]) {\n assert!(\n src.len() == 8 * dst.len(),\n \"src.len() = {}, dst.len() = {}\",\n src.len(),\n dst.len()\n );\n for (bytes, val) in src.chunks(8).zip(dst.iter_mut()) {\n *val = u64::from_le_bytes(\n bytes\n .try_into()\n .expect(\"Incorrect src length, should be 8 * dst.len()\"),\n );\n }\n}\n\n/// _Clamps_ the given little-endian representation of a 32-byte integer. Clamping the value puts\n/// it in the range:\n///\n/// **n ∈ 2^254 + 8\\*{0, 1, 2, 3, . . ., 2^251 − 1}**\n///\n/// # Explanation of clamping\n///\n/// For Curve25519, h = 8, and multiplying by 8 is the same as a binary left-shift by 3 bits.\n/// If you take a secret scalar value between 2^251 and 2^252 – 1 and left-shift by 3 bits\n/// then you end up with a 255-bit number with the most significant bit set to 1 and\n/// the least-significant three bits set to 0.\n///\n/// The Curve25519 clamping operation takes **an arbitrary 256-bit random value** and\n/// clears the most-significant bit (making it a 255-bit number), sets the next bit, and then\n/// clears the 3 least-significant bits. In other words, it directly creates a scalar value that is\n/// in the right form and pre-multiplied by the cofactor.\n///\n/// See [here](https://neilmadden.blog/2020/05/28/whats-the-curve25519-clamping-all-about/) for\n/// more details.\n#[must_use]\npub const fn clamp_integer(mut bytes: [u8; 32]) -> [u8; 32] {\n bytes[0] &= 0b1111_1000;\n bytes[31] &= 0b0111_1111;\n bytes[31] |= 0b0100_0000;\n bytes\n}\n\n#[cfg(test)]\npub(crate) mod test {\n use super::*;\n\n #[cfg(feature = \"alloc\")]\n use alloc::vec::Vec;\n use rand::RngCore;\n\n /// x = 2238329342913194256032495932344128051776374960164957527413114840482143558222\n pub static X: Scalar = Scalar {\n bytes: [\n 0x4e, 0x5a, 0xb4, 0x34, 0x5d, 0x47, 0x08, 0x84, 0x59, 0x13, 0xb4, 0x64, 0x1b, 0xc2,\n 0x7d, 0x52, 0x52, 0xa5, 0x85, 0x10, 0x1b, 0xcc, 0x42, 0x44, 0xd4, 0x49, 0xf4, 0xa8,\n 0x79, 0xd9, 0xf2, 0x04,\n ],\n };\n /// 1/x = 6859937278830797291664592131120606308688036382723378951768035303146619657244\n pub static XINV: Scalar = Scalar {\n bytes: [\n 0x1c, 0xdc, 0x17, 0xfc, 0xe0, 0xe9, 0xa5, 0xbb, 0xd9, 0x24, 0x7e, 0x56, 0xbb, 0x01,\n 0x63, 0x47, 0xbb, 0xba, 0x31, 0xed, 0xd5, 0xa9, 0xbb, 0x96, 0xd5, 0x0b, 0xcd, 0x7a,\n 0x3f, 0x96, 0x2a, 0x0f,\n ],\n };\n /// y = 2592331292931086675770238855846338635550719849568364935475441891787804997264\n pub static Y: Scalar = Scalar {\n bytes: [\n 0x90, 0x76, 0x33, 0xfe, 0x1c, 0x4b, 0x66, 0xa4, 0xa2, 0x8d, 0x2d, 0xd7, 0x67, 0x83,\n 0x86, 0xc3, 0x53, 0xd0, 0xde, 0x54, 0x55, 0xd4, 0xfc, 0x9d, 0xe8, 0xef, 0x7a, 0xc3,\n 0x1f, 0x35, 0xbb, 0x05,\n ],\n };\n\n /// The largest scalar that satisfies invariant #1, i.e., the largest scalar with the top bit\n /// set to 0. Since this scalar violates invariant #2, i.e., it's greater than the modulus `l`,\n /// addition and subtraction are broken. The only thing you can do with this is scalar-point\n /// multiplication (and actually also scalar-scalar multiplication, but that's just a quirk of\n /// our implementation).\n pub(crate) static LARGEST_UNREDUCED_SCALAR: Scalar = Scalar {\n bytes: [\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0x7f,\n ],\n };\n\n /// x*y = 5690045403673944803228348699031245560686958845067437804563560795922180092780\n static X_TIMES_Y: Scalar = Scalar {\n bytes: [\n 0x6c, 0x33, 0x74, 0xa1, 0x89, 0x4f, 0x62, 0x21, 0x0a, 0xaa, 0x2f, 0xe1, 0x86, 0xa6,\n 0xf9, 0x2c, 0xe0, 0xaa, 0x75, 0xc2, 0x77, 0x95, 0x81, 0xc2, 0x95, 0xfc, 0x08, 0x17,\n 0x9a, 0x73, 0x94, 0x0c,\n ],\n };\n\n /// sage: l = 2^252 + 27742317777372353535851937790883648493\n /// sage: big = 2^256 - 1\n /// sage: repr((big % l).digits(256))\n static CANONICAL_2_256_MINUS_1: Scalar = Scalar {\n bytes: [\n 28, 149, 152, 141, 116, 49, 236, 214, 112, 207, 125, 115, 244, 91, 239, 198, 254, 255,\n 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15,\n ],\n };\n\n static A_SCALAR: Scalar = Scalar {\n bytes: [\n 0x1a, 0x0e, 0x97, 0x8a, 0x90, 0xf6, 0x62, 0x2d, 0x37, 0x47, 0x02, 0x3f, 0x8a, 0xd8,\n 0x26, 0x4d, 0xa7, 0x58, 0xaa, 0x1b, 0x88, 0xe0, 0x40, 0xd1, 0x58, 0x9e, 0x7b, 0x7f,\n 0x23, 0x76, 0xef, 0x09,\n ],\n };\n\n static A_NAF: [i8; 256] = [\n 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, -11, 0, 0, 0, 0, 3, 0, 0,\n 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 11, 0, 0, 0, 0,\n 11, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n 0, -1, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, -15, 0, 0, 0, 0, -7, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 5,\n 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, -11, 0, 0, 0, 0, -7, 0, 0, 0, 0, -13, 0, 0,\n 0, 0, 11, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n 7, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 15,\n 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, -15, 0,\n 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n ];\n\n const BASEPOINT_ORDER_MINUS_ONE: Scalar = Scalar {\n bytes: [\n 0xec, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9,\n 0xde, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x10,\n ],\n };\n\n /// The largest clamped integer\n static LARGEST_CLAMPED_INTEGER: [u8; 32] = clamp_integer(LARGEST_UNREDUCED_SCALAR.bytes);\n\n #[test]\n fn fuzzer_testcase_reduction() {\n // LE bytes of 24519928653854221733733552434404946937899825954937634815\n let a_bytes = [\n 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,\n 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n ];\n // LE bytes of 4975441334397345751130612518500927154628011511324180036903450236863266160640\n let b_bytes = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210,\n 210, 255, 255, 255, 255, 10,\n ];\n // LE bytes of 6432735165214683820902750800207468552549813371247423777071615116673864412038\n let c_bytes = [\n 134, 171, 119, 216, 180, 128, 178, 62, 171, 132, 32, 62, 34, 119, 104, 193, 47, 215,\n 181, 250, 14, 207, 172, 93, 75, 207, 211, 103, 144, 204, 56, 14,\n ];\n\n let a = Scalar::from_bytes_mod_order(a_bytes);\n let b = Scalar::from_bytes_mod_order(b_bytes);\n let c = Scalar::from_bytes_mod_order(c_bytes);\n\n let mut tmp = [0u8; 64];\n\n // also_a = (a mod l)\n tmp[0..32].copy_from_slice(&a_bytes[..]);\n let also_a = Scalar::from_bytes_mod_order_wide(&tmp);\n\n // also_b = (b mod l)\n tmp[0..32].copy_from_slice(&b_bytes[..]);\n let also_b = Scalar::from_bytes_mod_order_wide(&tmp);\n\n let expected_c = a * b;\n let also_expected_c = also_a * also_b;\n\n assert_eq!(c, expected_c);\n assert_eq!(c, also_expected_c);\n }\n\n #[test]\n fn non_adjacent_form_test_vector() {\n let naf = A_SCALAR.non_adjacent_form(5);\n for i in 0..256 {\n assert_eq!(naf[i], A_NAF[i]);\n }\n }\n\n #[test]\n fn non_adjacent_form_128_matches_generic() {\n let mut high_bit = [0u8; 32];\n high_bit[15] = 0x80;\n\n let cases = [\n Scalar::ZERO,\n Scalar::ONE,\n Scalar::from(u64::MAX),\n Scalar::from(0xfedc_ba98_7654_3210_0123_4567_89ab_cdefu128),\n Scalar::from(u128::MAX),\n Scalar { bytes: high_bit },\n ];\n\n for scalar in cases {\n for w in 2..=8 {\n let generic = scalar.non_adjacent_form(w);\n let naf_128 = scalar.non_adjacent_form_128(w);\n\n for i in 0..=HEEA_MAX_INDEX {\n assert_eq!(\n naf_128[i], generic[i],\n \"NAF mismatch at index {i} for width {w}\"\n );\n }\n\n assert!(\n generic[NAF_128_SIZE..].iter().all(|&digit| digit == 0),\n \"generic NAF has non-zero digits above 128-bit range for width {w}\"\n );\n }\n }\n }\n\n #[cfg(feature = \"rand_core\")]\n fn non_adjacent_form_iter(w: usize, x: &Scalar) {\n let naf = x.non_adjacent_form(w);\n\n // Reconstruct the scalar from the computed NAF\n let mut y = Scalar::ZERO;\n for i in (0..256).rev() {\n y += y;\n let digit = if naf[i] < 0 {\n -Scalar::from((-naf[i]) as u64)\n } else {\n Scalar::from(naf[i] as u64)\n };\n y += digit;\n }\n\n assert_eq!(*x, y);\n }\n\n #[cfg(feature = \"rand_core\")]\n #[test]\n fn non_adjacent_form_random() {\n let mut rng = rand::thread_rng();\n for _ in 0..1_000 {\n let x = Scalar::random(&mut rng);\n for w in &[5, 6, 7, 8] {\n non_adjacent_form_iter(*w, &x);\n }\n }\n }\n\n #[test]\n fn from_u64() {\n let val: u64 = 0xdeadbeefdeadbeef;\n let s = Scalar::from(val);\n assert_eq!(s[7], 0xde);\n assert_eq!(s[6], 0xad);\n assert_eq!(s[5], 0xbe);\n assert_eq!(s[4], 0xef);\n assert_eq!(s[3], 0xde);\n assert_eq!(s[2], 0xad);\n assert_eq!(s[1], 0xbe);\n assert_eq!(s[0], 0xef);\n }\n\n #[test]\n fn scalar_mul_by_one() {\n let test_scalar = X * Scalar::ONE;\n for i in 0..32 {\n assert!(test_scalar[i] == X[i]);\n }\n }\n\n #[test]\n fn add_reduces() {\n // Check that addition wraps around the modulus\n assert_eq!(BASEPOINT_ORDER_MINUS_ONE + Scalar::ONE, Scalar::ZERO);\n }\n\n #[test]\n fn sub_reduces() {\n // Check that subtraction wraps around the modulus\n assert_eq!(Scalar::ZERO - Scalar::ONE, BASEPOINT_ORDER_MINUS_ONE);\n }\n\n #[test]\n fn impl_add() {\n let two = Scalar::from(2u64);\n let one = Scalar::ONE;\n let should_be_two = one + one;\n assert_eq!(should_be_two, two);\n }\n\n #[allow(non_snake_case)]\n #[test]\n fn impl_mul() {\n let should_be_X_times_Y = X * Y;\n assert_eq!(should_be_X_times_Y, X_TIMES_Y);\n }\n\n #[allow(non_snake_case)]\n #[test]\n #[cfg(feature = \"alloc\")]\n fn impl_product() {\n // Test that product works for non-empty iterators\n let X_Y_vector = [X, Y];\n let should_be_X_times_Y: Scalar = X_Y_vector.iter().product();\n assert_eq!(should_be_X_times_Y, X_TIMES_Y);\n\n // Test that product works for the empty iterator\n let one = Scalar::ONE;\n let empty_vector = [];\n let should_be_one: Scalar = empty_vector.iter().product();\n assert_eq!(should_be_one, one);\n\n // Test that product works for iterators where Item = Scalar\n let xs = [Scalar::from(2u64); 10];\n let ys = [Scalar::from(3u64); 10];\n // now zs is an iterator with Item = Scalar\n let zs = xs.iter().zip(ys.iter()).map(|(x, y)| x * y);\n\n let x_prod: Scalar = xs.iter().product();\n let y_prod: Scalar = ys.iter().product();\n let z_prod: Scalar = zs.product();\n\n assert_eq!(x_prod, Scalar::from(1024u64));\n assert_eq!(y_prod, Scalar::from(59049u64));\n assert_eq!(z_prod, Scalar::from(60466176u64));\n assert_eq!(x_prod * y_prod, z_prod);\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn impl_sum() {\n // Test that sum works for non-empty iterators\n let two = Scalar::from(2u64);\n let one_vector = [Scalar::ONE, Scalar::ONE];\n let should_be_two: Scalar = one_vector.iter().sum();\n assert_eq!(should_be_two, two);\n\n // Test that sum works for the empty iterator\n let zero = Scalar::ZERO;\n let empty_vector = [];\n let should_be_zero: Scalar = empty_vector.iter().sum();\n assert_eq!(should_be_zero, zero);\n\n // Test that sum works for owned types\n let xs = [Scalar::from(1u64); 10];\n let ys = [Scalar::from(2u64); 10];\n // now zs is an iterator with Item = Scalar\n let zs = xs.iter().zip(ys.iter()).map(|(x, y)| x + y);\n\n let x_sum: Scalar = xs.iter().sum();\n let y_sum: Scalar = ys.iter().sum();\n let z_sum: Scalar = zs.sum();\n\n assert_eq!(x_sum, Scalar::from(10u64));\n assert_eq!(y_sum, Scalar::from(20u64));\n assert_eq!(z_sum, Scalar::from(30u64));\n assert_eq!(x_sum + y_sum, z_sum);\n }\n\n #[test]\n fn square() {\n let expected = X * X;\n let actual = X.unpack().square().pack();\n for i in 0..32 {\n assert!(expected[i] == actual[i]);\n }\n }\n\n #[test]\n fn div_by_2() {\n // test a range of small scalars\n for i in 0u64..32 {\n let scalar = Scalar::from(i);\n let dividend = scalar.div_by_2();\n assert_eq!(scalar, dividend + dividend);\n }\n\n // test a range of scalars near the modulus\n for i in 0u64..32 {\n let scalar = Scalar::ZERO - Scalar::from(i);\n let dividend = scalar.div_by_2();\n assert_eq!(scalar, dividend + dividend);\n }\n }\n\n #[test]\n fn reduce() {\n let biggest = Scalar::from_bytes_mod_order([0xff; 32]);\n assert_eq!(biggest, CANONICAL_2_256_MINUS_1);\n }\n\n #[test]\n fn from_bytes_mod_order_wide() {\n let mut bignum = [0u8; 64];\n // set bignum = x + 2^256x\n for i in 0..32 {\n bignum[i] = X[i];\n bignum[32 + i] = X[i];\n }\n // 3958878930004874126169954872055634648693766179881526445624823978500314864344\n // = x + 2^256x (mod l)\n let reduced = Scalar {\n bytes: [\n 216, 154, 179, 139, 210, 121, 2, 71, 69, 99, 158, 216, 23, 173, 63, 100, 204, 0,\n 91, 50, 219, 153, 57, 249, 28, 82, 31, 197, 100, 165, 192, 8,\n ],\n };\n let test_red = Scalar::from_bytes_mod_order_wide(&bignum);\n for i in 0..32 {\n assert!(test_red[i] == reduced[i]);\n }\n }\n\n #[allow(non_snake_case)]\n #[test]\n fn invert() {\n let inv_X = X.invert();\n assert_eq!(inv_X, XINV);\n let should_be_one = inv_X * X;\n assert_eq!(should_be_one, Scalar::ONE);\n }\n\n // Negating a scalar twice should result in the original scalar.\n #[allow(non_snake_case)]\n #[test]\n fn neg_twice_is_identity() {\n let negative_X = -&X;\n let should_be_X = -&negative_X;\n\n assert_eq!(should_be_X, X);\n }\n\n #[test]\n fn to_bytes_from_bytes_roundtrips() {\n let unpacked = X.unpack();\n let bytes = unpacked.to_bytes();\n let should_be_unpacked = UnpackedScalar::from_bytes(&bytes);\n\n assert_eq!(should_be_unpacked.0, unpacked.0);\n }\n\n #[test]\n fn montgomery_reduce_matches_from_bytes_mod_order_wide() {\n let mut bignum = [0u8; 64];\n\n // set bignum = x + 2^256x\n for i in 0..32 {\n bignum[i] = X[i];\n bignum[32 + i] = X[i];\n }\n // x + 2^256x (mod l)\n // = 3958878930004874126169954872055634648693766179881526445624823978500314864344\n let expected = Scalar {\n bytes: [\n 216, 154, 179, 139, 210, 121, 2, 71, 69, 99, 158, 216, 23, 173, 63, 100, 204, 0,\n 91, 50, 219, 153, 57, 249, 28, 82, 31, 197, 100, 165, 192, 8,\n ],\n };\n let reduced = Scalar::from_bytes_mod_order_wide(&bignum);\n\n // The reduced scalar should match the expected\n assert_eq!(reduced.bytes, expected.bytes);\n\n // (x + 2^256x) * R\n let interim =\n UnpackedScalar::mul_internal(&UnpackedScalar::from_bytes_wide(&bignum), &constants::R);\n // ((x + 2^256x) * R) / R (mod l)\n let montgomery_reduced = UnpackedScalar::montgomery_reduce(&interim);\n\n // The Montgomery reduced scalar should match the reduced one, as well as the expected\n assert_eq!(montgomery_reduced.0, reduced.unpack().0);\n assert_eq!(montgomery_reduced.0, expected.unpack().0)\n }\n\n #[test]\n fn canonical_decoding() {\n // canonical encoding of 1667457891\n let canonical_bytes = [\n 99, 99, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0,\n ];\n\n // encoding of\n // 7265385991361016183439748078976496179028704920197054998554201349516117938192\n // = 28380414028753969466561515933501938171588560817147392552250411230663687203 (mod l)\n // non_canonical because unreduced mod l\n let non_canonical_bytes_because_unreduced = [16; 32];\n\n // encoding with high bit set, to check that the parser isn't pre-masking the high bit\n let non_canonical_bytes_because_highbit = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 128,\n ];\n\n assert!(bool::from(\n Scalar::from_canonical_bytes(canonical_bytes).is_some()\n ));\n assert!(bool::from(\n Scalar::from_canonical_bytes(non_canonical_bytes_because_unreduced).is_none()\n ));\n assert!(bool::from(\n Scalar::from_canonical_bytes(non_canonical_bytes_because_highbit).is_none()\n ));\n }\n\n #[test]\n #[cfg(feature = \"serde\")]\n fn serde_bincode_scalar_roundtrip() {\n use bincode;\n let encoded = bincode::serialize(&X).unwrap();\n let parsed: Scalar = bincode::deserialize(&encoded).unwrap();\n assert_eq!(parsed, X);\n\n // Check that the encoding is 32 bytes exactly\n assert_eq!(encoded.len(), 32);\n\n // Check that the encoding itself matches the usual one\n assert_eq!(X, bincode::deserialize(X.as_bytes()).unwrap(),);\n }\n\n #[cfg(debug_assertions)]\n #[test]\n #[should_panic]\n fn invert_batch_with_a_zero_input_panics() {\n let mut xs = [Scalar::ONE; 16];\n xs[3] = Scalar::ZERO;\n // This should panic in debug mode.\n Scalar::invert_batch(&mut xs);\n }\n\n #[test]\n fn invert_batch_empty() {\n assert_eq!(Scalar::ONE, Scalar::invert_batch(&mut []));\n }\n\n #[test]\n fn invert_batch_consistency() {\n let mut x = Scalar::from(1u64);\n let mut v1: [Scalar; 16] = core::array::from_fn(|_| {\n let tmp = x;\n x = x + x;\n tmp\n });\n let v2 = v1;\n\n let expected: Scalar = v1.iter().product();\n let expected = expected.invert();\n let ret = Scalar::invert_batch(&mut v1);\n assert_eq!(ret, expected);\n\n for (a, b) in v1.iter().zip(v2.iter()) {\n assert_eq!(a * b, Scalar::ONE);\n }\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn batch_vec_invert_consistency() {\n let mut x = Scalar::from(1u64);\n let mut v1: Vec<_> = (0..16)\n .map(|_| {\n let tmp = x;\n x = x + x;\n tmp\n })\n .collect();\n let v2 = v1.clone();\n\n let expected: Scalar = v1.iter().product();\n let expected = expected.invert();\n let ret = Scalar::invert_batch_alloc(&mut v1);\n assert_eq!(ret, expected);\n\n for (a, b) in v1.iter().zip(v2.iter()) {\n assert_eq!(a * b, Scalar::ONE);\n }\n }\n\n #[cfg(feature = \"precomputed-tables\")]\n fn test_pippenger_radix_iter(scalar: Scalar, w: usize) {\n let digits_count = Scalar::to_radix_2w_size_hint(w);\n let digits = scalar.as_radix_2w(w);\n\n let radix = Scalar::from((1 << w) as u64);\n let mut term = Scalar::ONE;\n let mut recovered_scalar = Scalar::ZERO;\n for digit in &digits[0..digits_count] {\n let digit = *digit;\n if digit != 0 {\n let sdigit = if digit < 0 {\n -Scalar::from((-(digit as i64)) as u64)\n } else {\n Scalar::from(digit as u64)\n };\n recovered_scalar += term * sdigit;\n }\n term *= radix;\n }\n // When the input is unreduced, we may only recover the scalar mod l.\n assert_eq!(recovered_scalar, scalar.reduce());\n }\n\n #[test]\n #[cfg(feature = \"precomputed-tables\")]\n fn test_pippenger_radix() {\n use core::iter;\n // For each valid radix it tests that 1000 random-ish scalars can be restored\n // from the produced representation precisely.\n let cases = (2..100)\n .map(|s| Scalar::from(s as u64).invert())\n // The largest unreduced scalar, s = 2^255-1. This is not reduced mod l. Scalar mult\n // still works though.\n .chain(iter::once(LARGEST_UNREDUCED_SCALAR));\n\n for scalar in cases {\n test_pippenger_radix_iter(scalar, 6);\n test_pippenger_radix_iter(scalar, 7);\n test_pippenger_radix_iter(scalar, 8);\n }\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn test_read_le_u64_into() {\n let cases: &[(&[u8], &[u64])] = &[\n (\n &[0xFE, 0xEF, 0x10, 0x01, 0x1F, 0xF1, 0x0F, 0xF0],\n &[0xF00F_F11F_0110_EFFE],\n ),\n (\n &[\n 0xFE, 0xEF, 0x10, 0x01, 0x1F, 0xF1, 0x0F, 0xF0, 0x12, 0x34, 0x56, 0x78, 0x9A,\n 0xBC, 0xDE, 0xF0,\n ],\n &[0xF00F_F11F_0110_EFFE, 0xF0DE_BC9A_7856_3412],\n ),\n ];\n\n for (src, expected) in cases {\n let mut dst = vec![0; expected.len()];\n read_le_u64_into(src, &mut dst);\n\n assert_eq!(&dst, expected, \"Expected {:x?} got {:x?}\", expected, dst);\n }\n }\n\n // Tests consistency of From<{integer}> impls for Scalar\n #[test]\n fn test_scalar_from_int() {\n let s1 = Scalar::ONE;\n\n // For `x` in `u8`, `u16`, `u32`, `u64`, and `u128`, check that\n // `Scalar::from(x + 1) == Scalar::from(x) + Scalar::from(1)`\n\n let x = 0x23u8;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n\n let x = 0x2323u16;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n\n let x = 0x2323_2323u32;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n\n let x = 0x2323_2323_2323_2323u64;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n\n let x = 0x2323_2323_2323_2323_2323_2323_2323_2323u128;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n }\n\n #[cfg(feature = \"group\")]\n #[test]\n fn ff_constants() {\n assert_eq!(Scalar::from(2u64) * Scalar::TWO_INV, Scalar::ONE);\n\n assert_eq!(\n Scalar::ROOT_OF_UNITY * Scalar::ROOT_OF_UNITY_INV,\n Scalar::ONE,\n );\n\n // ROOT_OF_UNITY^{2^s} mod m == 1\n assert_eq!(\n Scalar::ROOT_OF_UNITY.pow(&[1u64 << Scalar::S, 0, 0, 0]),\n Scalar::ONE,\n );\n\n // DELTA^{t} mod m == 1\n assert_eq!(\n Scalar::DELTA.pow(&[\n 0x9604_98c6_973d_74fb,\n 0x0537_be77_a8bd_e735,\n 0x0000_0000_0000_0000,\n 0x0400_0000_0000_0000,\n ]),\n Scalar::ONE,\n );\n }\n\n #[cfg(feature = \"group\")]\n #[test]\n fn ff_impls() {\n assert!(bool::from(Scalar::ZERO.is_even()));\n assert!(bool::from(Scalar::ONE.is_odd()));\n assert!(bool::from(Scalar::from(2u64).is_even()));\n assert!(bool::from(Scalar::DELTA.is_even()));\n\n assert!(bool::from(Field::invert(&Scalar::ZERO).is_none()));\n assert_eq!(Field::invert(&X).unwrap(), XINV);\n\n let x_sq = X.square();\n // We should get back either the positive or negative root.\n assert!([X, -X].contains(&x_sq.sqrt().unwrap()));\n\n assert_eq!(Scalar::from_repr_vartime(X.to_repr()), Some(X));\n assert_eq!(Scalar::from_repr_vartime([0xff; 32]), None);\n\n assert_eq!(Scalar::from_repr(X.to_repr()).unwrap(), X);\n assert!(bool::from(Scalar::from_repr([0xff; 32]).is_none()));\n }\n\n #[test]\n #[should_panic]\n fn test_read_le_u64_into_should_panic_on_bad_input() {\n let mut dst = [0_u64; 1];\n // One byte short\n read_le_u64_into(&[0xFE, 0xEF, 0x10, 0x01, 0x1F, 0xF1, 0x0F], &mut dst);\n }\n\n #[test]\n fn test_scalar_clamp() {\n let input = A_SCALAR.bytes;\n let expected = [\n 0x18, 0x0e, 0x97, 0x8a, 0x90, 0xf6, 0x62, 0x2d, 0x37, 0x47, 0x02, 0x3f, 0x8a, 0xd8,\n 0x26, 0x4d, 0xa7, 0x58, 0xaa, 0x1b, 0x88, 0xe0, 0x40, 0xd1, 0x58, 0x9e, 0x7b, 0x7f,\n 0x23, 0x76, 0xef, 0x49,\n ];\n let actual = clamp_integer(input);\n assert_eq!(actual, expected);\n\n let expected = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0x40,\n ];\n let actual = clamp_integer([0; 32]);\n assert_eq!(expected, actual);\n let expected = [\n 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0x7f,\n ];\n let actual = clamp_integer([0xff; 32]);\n assert_eq!(actual, expected);\n\n assert_eq!(\n LARGEST_CLAMPED_INTEGER,\n clamp_integer(LARGEST_CLAMPED_INTEGER)\n );\n }\n\n // Check that a * b == a.reduce() * a.reduce() for ANY scalars a,b, even ones that violate\n // invariant #1, i.e., a,b > 2^255. Old versions of ed25519-dalek did multiplication where a\n // was reduced and b was clamped and unreduced. This checks that was always well-defined.\n #[test]\n fn test_mul_reduction_invariance() {\n let mut rng = rand::thread_rng();\n\n for _ in 0..10 {\n // Also define c that's clamped. We'll make sure that clamping doesn't affect\n // computation\n let (a, b, c) = {\n let mut a_bytes = [0u8; 32];\n let mut b_bytes = [0u8; 32];\n let mut c_bytes = [0u8; 32];\n rng.fill_bytes(&mut a_bytes);\n rng.fill_bytes(&mut b_bytes);\n rng.fill_bytes(&mut c_bytes);\n (\n Scalar { bytes: a_bytes },\n Scalar { bytes: b_bytes },\n Scalar {\n bytes: clamp_integer(c_bytes),\n },\n )\n };\n\n // Make sure this is the same product no matter how you cut it\n let reduced_mul_ab = a.reduce() * b.reduce();\n let reduced_mul_ac = a.reduce() * c.reduce();\n assert_eq!(a * b, reduced_mul_ab);\n assert_eq!(a.reduce() * b, reduced_mul_ab);\n assert_eq!(a * b.reduce(), reduced_mul_ab);\n assert_eq!(a * c, reduced_mul_ac);\n assert_eq!(a.reduce() * c, reduced_mul_ac);\n assert_eq!(a * c.reduce(), reduced_mul_ac);\n }\n }\n}\n"},{"id":29,"name":{"Local":"/rustc/library/core/src/result.rs"},"crate_name":"core","contents":null},{"id":30,"name":{"Local":"/rustc/library/core/src/macros/mod.rs"},"crate_name":"core","contents":null},{"id":31,"name":{"Local":"/rustc/library/core/src/ops/range.rs"},"crate_name":"core","contents":null},{"id":32,"name":{"Local":"/rustc/library/core/src/fmt/rt.rs"},"crate_name":"core","contents":null},{"id":33,"name":{"Local":"/rustc/library/core/src/ops/index.rs"},"crate_name":"core","contents":null},{"id":34,"name":{"Local":"/rustc/library/core/src/slice/index.rs"},"crate_name":"core","contents":null},{"id":35,"name":{"Local":"/rustc/library/core/src/slice/mod.rs"},"crate_name":"core","contents":null},{"id":36,"name":{"Local":"/rustc/library/core/src/fmt/num.rs"},"crate_name":"core","contents":null},{"id":37,"name":{"Local":"/rustc/library/core/src/option.rs"},"crate_name":"core","contents":null},{"id":38,"name":{"Local":"/rustc/library/core/src/iter/traits/collect.rs"},"crate_name":"core","contents":null},{"id":39,"name":{"Local":"/rustc/library/core/src/iter/range.rs"},"crate_name":"core","contents":null},{"id":40,"name":{"Local":"/rustc/library/core/src/panicking.rs"},"crate_name":"core","contents":null},{"id":41,"name":{"Local":"curve25519/solana-ed25519/src/montgomery.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Scalar multiplication on the Montgomery form of Curve25519.\n//!\n//! To avoid notational confusion with the Edwards code, we use\n//! variables \\\\( u, v \\\\) for the Montgomery curve, so that “Montgomery\n//! \\\\(u\\\\)” here corresponds to “Montgomery \\\\(x\\\\)” elsewhere.\n//!\n//! Montgomery arithmetic works not on the curve itself, but on the\n//! \\\\(u\\\\)-line, which discards sign information and unifies the curve\n//! and its quadratic twist. See [_Montgomery curves and their\n//! arithmetic_][costello-smith] by Costello and Smith for more details.\n//!\n//! The `MontgomeryPoint` struct contains the affine \\\\(u\\\\)-coordinate\n//! \\\\(u\\_0(P)\\\\) of a point \\\\(P\\\\) on either the curve or the twist.\n//! Here the map \\\\(u\\_0 : \\mathcal M \\rightarrow \\mathbb F\\_p \\\\) is\n//! defined by \\\\(u\\_0((u,v)) = u\\\\); \\\\(u\\_0(\\mathcal O) = 0\\\\). See\n//! section 5.4 of Costello-Smith for more details.\n//!\n//! # Scalar Multiplication\n//!\n//! Scalar multiplication on `MontgomeryPoint`s is provided by the `*`\n//! operator, which implements the Montgomery ladder.\n//!\n//! # Edwards Conversion\n//!\n//! The \\\\(2\\\\)-to-\\\\(1\\\\) map from the Edwards model to the Montgomery\n//! \\\\(u\\\\)-line is provided by `EdwardsPoint::to_montgomery()`.\n//!\n//! To lift a `MontgomeryPoint` to an `EdwardsPoint`, use\n//! `MontgomeryPoint::to_edwards()`, which takes a sign parameter.\n//! This function rejects `MontgomeryPoints` which correspond to points\n//! on the twist.\n//!\n//! [costello-smith]: https://eprint.iacr.org/2017/212.pdf\n\n// We allow non snake_case names because coordinates in projective space are\n// traditionally denoted by the capitalisation of their respective\n// counterparts in affine space. Yeah, you heard me, rustc, I'm gonna have my\n// affine and projective cakes and eat both of them too.\n#![allow(non_snake_case)]\n\nuse core::{\n hash::{Hash, Hasher},\n ops::{Mul, MulAssign},\n};\n\nuse crate::constants::APLUS2_OVER_FOUR;\n#[cfg(feature = \"digest\")]\nuse crate::constants::{MONTGOMERY_A, MONTGOMERY_A_NEG, SQRT_M1};\nuse crate::edwards::{CompressedEdwardsY, EdwardsPoint};\nuse crate::field::FieldElement;\nuse crate::scalar::{Scalar, clamp_integer};\n\nuse crate::traits::Identity;\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\n// We need the const 2^((p+3)/8) for elligator_encode. This def is checked in tests::consts()\n#[cfg(feature = \"digest\")]\nconst FE_C2: FieldElement = FieldElement::from_limbs([\n 1718705420411057,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n]);\n\n/// Holds the \\\\(u\\\\)-coordinate of a point on the Montgomery form of\n/// Curve25519 or its twist.\n#[derive(Copy, Clone, Debug, Default)]\n#[cfg_attr(feature = \"serde\", derive(serde::Serialize, serde::Deserialize))]\npub struct MontgomeryPoint(pub [u8; 32]);\n\n/// Equality of `MontgomeryPoint`s is defined mod p.\nimpl ConstantTimeEq for MontgomeryPoint {\n fn ct_eq(&self, other: &MontgomeryPoint) -> Choice {\n let self_fe = FieldElement::from_bytes(&self.0);\n let other_fe = FieldElement::from_bytes(&other.0);\n\n self_fe.ct_eq(&other_fe)\n }\n}\n\nimpl ConditionallySelectable for MontgomeryPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n Self(<[u8; 32]>::conditional_select(&a.0, &b.0, choice))\n }\n}\n\nimpl PartialEq for MontgomeryPoint {\n fn eq(&self, other: &MontgomeryPoint) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl Eq for MontgomeryPoint {}\n\n// Equal MontgomeryPoints must hash to the same value. So we have to get them into a canonical\n// encoding first\nimpl Hash for MontgomeryPoint {\n fn hash(&self, state: &mut H) {\n // Do a round trip through a `FieldElement`. `as_bytes` is guaranteed to give a canonical\n // 32-byte encoding\n let canonical_bytes = FieldElement::from_bytes(&self.0).to_bytes();\n canonical_bytes.hash(state);\n }\n}\n\nimpl Identity for MontgomeryPoint {\n /// Return the group identity element, which has order 4.\n fn identity() -> MontgomeryPoint {\n MontgomeryPoint([0u8; 32])\n }\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for MontgomeryPoint {\n fn zeroize(&mut self) {\n self.0.zeroize();\n }\n}\n\nimpl MontgomeryPoint {\n /// Fixed-base scalar multiplication (i.e. multiplication by the base point).\n pub fn mul_base(scalar: &Scalar) -> Self {\n EdwardsPoint::mul_base(scalar).to_montgomery()\n }\n\n /// Multiply this point by `clamp_integer(bytes)`. For a description of clamping, see\n /// [`clamp_integer`].\n pub fn mul_clamped(self, bytes: [u8; 32]) -> Self {\n // We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant\n // #2. But #2 is not necessary for correctness of variable-base multiplication. All that\n // needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed\n // by clamping.\n // Further, we don't do any reduction or arithmetic with this clamped value, so there's no\n // issues arising from the fact that the curve point is not necessarily in the prime-order\n // subgroup.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n s * self\n }\n\n /// Multiply the basepoint by `clamp_integer(bytes)`. For a description of clamping, see\n /// [`clamp_integer`].\n pub fn mul_base_clamped(bytes: [u8; 32]) -> Self {\n // See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We\n // note that fixed-base multiplication is also defined for all values of `bytes` less than\n // 2^255.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n Self::mul_base(&s)\n }\n\n /// Given `self` \\\\( = u\\_0(P) \\\\), and a big-endian bit representation of an integer\n /// \\\\(n\\\\), return \\\\( u\\_0(\\[n\\]P) \\\\). This is constant time in the length of `bits`.\n ///\n /// **NOTE:** You probably do not want to use this function. Almost every protocol built on\n /// Curve25519 uses _clamped multiplication_, explained\n /// [here](https://neilmadden.blog/2020/05/28/whats-the-curve25519-clamping-all-about/).\n /// When in doubt, use [`Self::mul_clamped`].\n pub fn mul_bits_be(&self, bits: impl Iterator) -> MontgomeryPoint {\n // Algorithm 8 of Costello-Smith 2017\n let affine_u = FieldElement::from_bytes(&self.0);\n let mut x0 = ProjectivePoint::identity();\n let mut x1 = ProjectivePoint {\n U: affine_u,\n W: FieldElement::ONE,\n };\n\n // Go through the bits from most to least significant, using a sliding window of 2\n let mut prev_bit = false;\n for cur_bit in bits {\n let choice: u8 = (prev_bit ^ cur_bit) as u8;\n\n debug_assert!(choice == 0 || choice == 1);\n\n ProjectivePoint::conditional_swap(&mut x0, &mut x1, choice.into());\n differential_add_and_double(&mut x0, &mut x1, &affine_u);\n\n prev_bit = cur_bit;\n }\n // The final value of prev_bit above is scalar.bits()[0], i.e., the LSB of scalar\n ProjectivePoint::conditional_swap(&mut x0, &mut x1, Choice::from(prev_bit as u8));\n // Don't leave the bit in the stack\n #[cfg(feature = \"zeroize\")]\n prev_bit.zeroize();\n\n x0.as_affine()\n }\n\n /// View this `MontgomeryPoint` as an array of bytes.\n pub const fn as_bytes(&self) -> &[u8; 32] {\n &self.0\n }\n\n /// Convert this `MontgomeryPoint` to an array of bytes.\n pub const fn to_bytes(&self) -> [u8; 32] {\n self.0\n }\n\n /// Attempt to convert to an `EdwardsPoint`, using the supplied\n /// choice of sign for the `EdwardsPoint`.\n ///\n /// # Inputs\n ///\n /// * `sign`: a `u8` donating the desired sign of the resulting\n /// `EdwardsPoint`. `0` denotes positive and `1` negative.\n ///\n /// # Return\n ///\n /// * `Some(EdwardsPoint)` if `self` is the \\\\(u\\\\)-coordinate of a\n /// point on (the Montgomery form of) Curve25519;\n ///\n /// * `None` if `self` is the \\\\(u\\\\)-coordinate of a point on the\n /// twist of (the Montgomery form of) Curve25519;\n ///\n pub fn to_edwards(&self, sign: u8) -> Option {\n // To decompress the Montgomery u coordinate to an\n // `EdwardsPoint`, we apply the birational map to obtain the\n // Edwards y coordinate, then do Edwards decompression.\n //\n // The birational map is y = (u-1)/(u+1).\n //\n // The exceptional points are the zeros of the denominator,\n // i.e., u = -1.\n //\n // But when u = -1, v^2 = u*(u^2+486662*u+1) = 486660.\n //\n // Since this is nonsquare mod p, u = -1 corresponds to a point\n // on the twist, not the curve, so we can reject it early.\n\n let u = FieldElement::from_bytes(&self.0);\n\n if u == FieldElement::MINUS_ONE {\n return None;\n }\n\n let one = FieldElement::ONE;\n\n let y = &(&u - &one) * &(&u + &one).invert();\n\n let mut y_bytes = y.to_bytes();\n y_bytes[31] ^= sign << 7;\n\n CompressedEdwardsY(y_bytes).decompress()\n }\n}\n\n#[cfg(feature = \"digest\")]\n/// Perform the Elligator2 mapping to a tuple `(xn, xd, yn, yd)` such that\n/// `(xn / xd, yn / yd)` is a point on curve25519.\n///\n/// See \npub(crate) fn elligator_encode(\n u: &FieldElement,\n) -> (FieldElement, FieldElement, FieldElement, FieldElement) {\n // We follow https://www.rfc-editor.org/rfc/rfc9380.html#appendix-G.2.1\n\n use core::ops::Neg;\n let one = FieldElement::ONE;\n let c2 = FE_C2;\n\n // 1. tv1 = u^2\n // 2. tv1 = 2 * tv1\n let tv1 = u.square2();\n // 3. xd = tv1 + 1\n let xd = &one + &tv1;\n // 4. x1n = -J\n let x1n = MONTGOMERY_A_NEG;\n // 5. tv2 = xd^2\n let tv2 = xd.square();\n // 6. gxd = tv2 * xd\n let gxd = &tv2 * &xd;\n // 7. gx1 = J * tv1\n let gx1 = &MONTGOMERY_A * &tv1;\n // 8. gx1 = gx1 * x1n\n let gx1 = &gx1 * &x1n;\n // 9. gx1 = gx1 + tv2\n let gx1 = &gx1 + &tv2;\n // 10. gx1 = gx1 * x1n\n let gx1 = &gx1 * &x1n;\n // 11. tv3 = gxd^2\n let tv3 = gxd.square();\n // 12. tv2 = tv3^2\n let tv2 = tv3.square();\n // 13. tv3 = tv3 * gxd\n let tv3 = &tv3 * &gxd;\n // 14. tv3 = tv3 * gx1\n let tv3 = &tv3 * &gx1;\n // 15. tv2 = tv2 * tv3\n let tv2 = &tv2 * &tv3;\n // 16. y11 = tv2^c4\n let y11 = tv2.pow_p58();\n // 17. y11 = y11 * tv3\n let y11 = &y11 * &tv3;\n // 18. y12 = y11 * c3\n let y12 = &y11 * &SQRT_M1;\n // 19. tv2 = y11^2\n let tv2 = y11.square();\n // 20. tv2 = tv2 * gxd\n let tv2 = &tv2 * &gxd;\n // 21. e1 = tv2 == gx1\n let e1 = tv2.ct_eq(&gx1);\n // 22. y1 = CMOV(y12, y11, e1)\n let y1 = FieldElement::conditional_select(&y12, &y11, e1);\n // 23. x2n = x1n * tv1\n let x2n = &x1n * &tv1;\n // 24. y21 = y11 * u\n let y21 = &y11 * u;\n // 25. y21 = y21 * c2\n let y21 = &y21 * &c2;\n // 26. y22 = y21 * c3\n let y22 = &y21 * &SQRT_M1;\n // 27. gx2 = gx1 * tv1\n let gx2 = &gx1 * &tv1;\n // 28. tv2 = y21^2\n let tv2 = y21.square();\n // 29. tv2 = tv2 * gxd\n let tv2 = &tv2 * &gxd;\n // 30. e2 = tv2 == gx2\n let e2 = tv2.ct_eq(&gx2);\n // 31. y2 = CMOV(y22, y21, e2)\n let y2 = FieldElement::conditional_select(&y22, &y21, e2);\n // 32. tv2 = y1^2\n let tv2 = y1.square();\n // 33. tv2 = tv2 * gxd\n let tv2 = &tv2 * &gxd;\n // 34. e3 = tv2 == gx1\n let e3 = tv2.ct_eq(&gx1);\n // 35. xn = CMOV(x2n, x1n, e3)\n let xn = FieldElement::conditional_select(&x2n, &x1n, e3);\n // 36. y = CMOV(y2, y1, e3)\n let y = FieldElement::conditional_select(&y2, &y1, e3);\n // 37. e4 = sgn0(y) == 1\n let e4 = y.is_negative();\n // 38. y = CMOV(y, -y, e3 XOR e4)\n let y = FieldElement::conditional_select(&y, &y.neg(), e3 ^ e4);\n // 39. return (xn, xd, y, 1)\n\n (xn, xd, y, one)\n}\n\n/// A `ProjectivePoint` holds a point on the projective line\n/// \\\\( \\mathbb P(\\mathbb F\\_p) \\\\), which we identify with the Kummer\n/// line of the Montgomery curve.\n#[derive(Copy, Clone, Debug)]\nstruct ProjectivePoint {\n pub U: FieldElement,\n pub W: FieldElement,\n}\n\nimpl Identity for ProjectivePoint {\n fn identity() -> ProjectivePoint {\n ProjectivePoint {\n U: FieldElement::ONE,\n W: FieldElement::ZERO,\n }\n }\n}\n\nimpl Default for ProjectivePoint {\n fn default() -> ProjectivePoint {\n ProjectivePoint::identity()\n }\n}\n\nimpl ConditionallySelectable for ProjectivePoint {\n fn conditional_select(\n a: &ProjectivePoint,\n b: &ProjectivePoint,\n choice: Choice,\n ) -> ProjectivePoint {\n ProjectivePoint {\n U: FieldElement::conditional_select(&a.U, &b.U, choice),\n W: FieldElement::conditional_select(&a.W, &b.W, choice),\n }\n }\n}\n\nimpl ProjectivePoint {\n /// Dehomogenize this point to affine coordinates.\n ///\n /// # Return\n ///\n /// * \\\\( u = U / W \\\\) if \\\\( W \\neq 0 \\\\);\n /// * \\\\( 0 \\\\) if \\\\( W \\eq 0 \\\\);\n pub fn as_affine(&self) -> MontgomeryPoint {\n let u = &self.U * &self.W.invert();\n MontgomeryPoint(u.to_bytes())\n }\n}\n\n/// Perform the double-and-add step of the Montgomery ladder.\n///\n/// Given projective points\n/// \\\\( (U\\_P : W\\_P) = u(P) \\\\),\n/// \\\\( (U\\_Q : W\\_Q) = u(Q) \\\\),\n/// and the affine difference\n/// \\\\( u\\_{P-Q} = u(P-Q) \\\\), set\n/// $$\n/// (U\\_P : W\\_P) \\gets u(\\[2\\]P)\n/// $$\n/// and\n/// $$\n/// (U\\_Q : W\\_Q) \\gets u(P + Q).\n/// $$\n#[rustfmt::skip] // keep alignment of explanatory comments\nfn differential_add_and_double(\n P: &mut ProjectivePoint,\n Q: &mut ProjectivePoint,\n affine_PmQ: &FieldElement,\n) {\n let t0 = &P.U + &P.W;\n let t1 = &P.U - &P.W;\n let t2 = &Q.U + &Q.W;\n let t3 = &Q.U - &Q.W;\n\n let t4 = t0.square(); // (U_P + W_P)^2 = U_P^2 + 2 U_P W_P + W_P^2\n let t5 = t1.square(); // (U_P - W_P)^2 = U_P^2 - 2 U_P W_P + W_P^2\n\n let t6 = &t4 - &t5; // 4 U_P W_P\n\n let t7 = &t0 * &t3; // (U_P + W_P) (U_Q - W_Q) = U_P U_Q + W_P U_Q - U_P W_Q - W_P W_Q\n let t8 = &t1 * &t2; // (U_P - W_P) (U_Q + W_Q) = U_P U_Q - W_P U_Q + U_P W_Q - W_P W_Q\n\n let t9 = &t7 + &t8; // 2 (U_P U_Q - W_P W_Q)\n let t10 = &t7 - &t8; // 2 (W_P U_Q - U_P W_Q)\n\n let t11 = t9.square(); // 4 (U_P U_Q - W_P W_Q)^2\n let t12 = t10.square(); // 4 (W_P U_Q - U_P W_Q)^2\n\n let t13 = &APLUS2_OVER_FOUR * &t6; // (A + 2) U_P U_Q\n\n let t14 = &t4 * &t5; // ((U_P + W_P)(U_P - W_P))^2 = (U_P^2 - W_P^2)^2\n let t15 = &t13 + &t5; // (U_P - W_P)^2 + (A + 2) U_P W_P\n\n let t16 = &t6 * &t15; // 4 (U_P W_P) ((U_P - W_P)^2 + (A + 2) U_P W_P)\n\n let t17 = affine_PmQ * &t12; // U_D * 4 (W_P U_Q - U_P W_Q)^2\n let t18 = t11; // W_D * 4 (U_P U_Q - W_P W_Q)^2\n\n P.U = t14; // U_{P'} = (U_P + W_P)^2 (U_P - W_P)^2\n P.W = t16; // W_{P'} = (4 U_P W_P) ((U_P - W_P)^2 + ((A + 2)/4) 4 U_P W_P)\n Q.U = t18; // U_{Q'} = W_D * 4 (U_P U_Q - W_P W_Q)^2\n Q.W = t17; // W_{Q'} = U_D * 4 (W_P U_Q - U_P W_Q)^2\n}\n\ndefine_mul_assign_variants!(LHS = MontgomeryPoint, RHS = Scalar);\n\ndefine_mul_variants!(\n LHS = MontgomeryPoint,\n RHS = Scalar,\n Output = MontgomeryPoint\n);\ndefine_mul_variants!(\n LHS = Scalar,\n RHS = MontgomeryPoint,\n Output = MontgomeryPoint\n);\n\n/// Multiply this `MontgomeryPoint` by a `Scalar`.\nimpl Mul<&Scalar> for &MontgomeryPoint {\n type Output = MontgomeryPoint;\n\n /// Given `self` \\\\( = u\\_0(P) \\\\), and a `Scalar` \\\\(n\\\\), return \\\\( u\\_0(\\[n\\]P) \\\\)\n fn mul(self, scalar: &Scalar) -> MontgomeryPoint {\n // We multiply by the integer representation of the given Scalar. By scalar invariant #1,\n // the MSB is 0, so we can skip it.\n self.mul_bits_be(scalar.bits_le().rev().skip(1))\n }\n}\n\nimpl MulAssign<&Scalar> for MontgomeryPoint {\n fn mul_assign(&mut self, scalar: &Scalar) {\n *self = (self as &MontgomeryPoint) * scalar;\n }\n}\n\nimpl Mul<&MontgomeryPoint> for &Scalar {\n type Output = MontgomeryPoint;\n\n fn mul(self, point: &MontgomeryPoint) -> MontgomeryPoint {\n point * self\n }\n}\n\n// ------------------------------------------------------------------------\n// Tests\n// ------------------------------------------------------------------------\n\n#[cfg(test)]\nmod test {\n use super::*;\n use crate::constants;\n\n #[cfg(feature = \"rand_core\")]\n use rand::CryptoRng;\n use rand::RngCore;\n\n #[test]\n fn identity_in_different_coordinates() {\n let id_projective = ProjectivePoint::identity();\n let id_montgomery = id_projective.as_affine();\n\n assert!(id_montgomery == MontgomeryPoint::identity());\n }\n\n #[test]\n fn identity_in_different_models() {\n assert!(EdwardsPoint::identity().to_montgomery() == MontgomeryPoint::identity());\n }\n\n #[test]\n #[cfg(feature = \"serde\")]\n fn serde_bincode_basepoint_roundtrip() {\n use bincode;\n\n let encoded = bincode::serialize(&constants::X25519_BASEPOINT).unwrap();\n let decoded: MontgomeryPoint = bincode::deserialize(&encoded).unwrap();\n\n assert_eq!(encoded.len(), 32);\n assert_eq!(decoded, constants::X25519_BASEPOINT);\n\n let raw_bytes = constants::X25519_BASEPOINT.as_bytes();\n let bp: MontgomeryPoint = bincode::deserialize(raw_bytes).unwrap();\n assert_eq!(bp, constants::X25519_BASEPOINT);\n }\n\n /// Test Montgomery -> Edwards on the X/Ed25519 basepoint\n #[test]\n fn basepoint_montgomery_to_edwards() {\n // sign bit = 0 => basepoint\n assert_eq!(\n constants::ED25519_BASEPOINT_POINT,\n constants::X25519_BASEPOINT\n .to_edwards(0)\n .expect(\"sign bit 0 should decompress\")\n );\n // sign bit = 1 => minus basepoint\n assert_eq!(\n -constants::ED25519_BASEPOINT_POINT,\n constants::X25519_BASEPOINT\n .to_edwards(1)\n .expect(\"sign bit 1 should decompress\")\n );\n }\n\n /// Test Edwards -> Montgomery on the X/Ed25519 basepoint\n #[test]\n fn basepoint_edwards_to_montgomery() {\n assert_eq!(\n constants::ED25519_BASEPOINT_POINT.to_montgomery(),\n constants::X25519_BASEPOINT\n );\n }\n\n /// Check that Montgomery -> Edwards fails for points on the twist.\n #[test]\n fn montgomery_to_edwards_rejects_twist() {\n let one = FieldElement::ONE;\n\n // u = 2 corresponds to a point on the twist.\n let two = MontgomeryPoint((&one + &one).to_bytes());\n\n assert!(two.to_edwards(0).is_none());\n\n // u = -1 corresponds to a point on the twist, but should be\n // checked explicitly because it's an exceptional point for the\n // birational map. For instance, libsignal will accept it.\n let minus_one = MontgomeryPoint((-&one).to_bytes());\n\n assert!(minus_one.to_edwards(0).is_none());\n }\n\n #[test]\n fn eq_defined_mod_p() {\n let mut u18_bytes = [0u8; 32];\n u18_bytes[0] = 18;\n let u18 = MontgomeryPoint(u18_bytes);\n let u18_unred = MontgomeryPoint([255; 32]);\n\n assert_eq!(u18, u18_unred);\n }\n\n /// Returns a random point on the prime-order subgroup\n #[cfg(feature = \"rand_core\")]\n fn rand_prime_order_point(rng: &mut R) -> EdwardsPoint {\n let s: Scalar = Scalar::random(rng);\n EdwardsPoint::mul_base(&s)\n }\n\n /// Given a bytestring that's little-endian at the byte level, return an iterator over all the\n /// bits, in little-endian order.\n fn bytestring_bits_le(x: &[u8]) -> impl DoubleEndedIterator + Clone + '_ {\n let bitlen = x.len() * 8;\n (0..bitlen).map(|i| {\n // As i runs from 0..256, the bottom 3 bits index the bit, while the upper bits index\n // the byte. Since self.bytes is little-endian at the byte level, this iterator is\n // little-endian on the bit level\n ((x[i >> 3] >> (i & 7)) & 1u8) == 1\n })\n }\n\n #[cfg(feature = \"rand_core\")]\n #[test]\n fn montgomery_ladder_matches_edwards_scalarmult() {\n let mut csprng = rand::thread_rng();\n\n for _ in 0..100 {\n let p_edwards = rand_prime_order_point(&mut csprng);\n let p_montgomery: MontgomeryPoint = p_edwards.to_montgomery();\n\n let s: Scalar = Scalar::random(&mut csprng);\n let expected = s * p_edwards;\n let result = s * p_montgomery;\n\n assert_eq!(result, expected.to_montgomery())\n }\n }\n\n // Tests that, on the prime-order subgroup, MontgomeryPoint::mul_bits_be is the same as\n // multiplying by the Scalar representation of the same bits\n #[cfg(feature = \"rand_core\")]\n #[test]\n fn montgomery_mul_bits_be() {\n let mut csprng = rand::thread_rng();\n\n for _ in 0..100 {\n // Make a random prime-order point P\n let p_edwards = rand_prime_order_point(&mut csprng);\n let p_montgomery: MontgomeryPoint = p_edwards.to_montgomery();\n\n // Make a random integer b\n let mut bigint = [0u8; 64];\n csprng.fill_bytes(&mut bigint[..]);\n let bigint_bits_be = bytestring_bits_le(&bigint).rev();\n\n // Check that bP is the same whether calculated as scalar-times-edwards or\n // integer-times-montgomery.\n let expected = Scalar::from_bytes_mod_order_wide(&bigint) * p_edwards;\n let result = p_montgomery.mul_bits_be(bigint_bits_be);\n assert_eq!(result, expected.to_montgomery())\n }\n }\n\n // Tests that MontgomeryPoint::mul_bits_be is consistent on any point, even ones that might be\n // on the curve's twist. Specifically, this tests that b₁(b₂P) == b₂(b₁P) for random\n // integers b₁, b₂ and random (curve or twist) point P.\n #[test]\n fn montgomery_mul_bits_be_twist() {\n let mut csprng = rand::rngs::OsRng;\n\n for _ in 0..100 {\n // Make a random point P on the curve or its twist\n let p_montgomery = {\n let mut buf = [0u8; 32];\n csprng.fill_bytes(&mut buf);\n MontgomeryPoint(buf)\n };\n\n // Compute two big integers b₁ and b₂\n let mut bigint1 = [0u8; 64];\n let mut bigint2 = [0u8; 64];\n csprng.fill_bytes(&mut bigint1[..]);\n csprng.fill_bytes(&mut bigint2[..]);\n\n // Compute b₁P and b₂P\n let bigint1_bits_be = bytestring_bits_le(&bigint1).rev();\n let bigint2_bits_be = bytestring_bits_le(&bigint2).rev();\n let prod1 = p_montgomery.mul_bits_be(bigint1_bits_be.clone());\n let prod2 = p_montgomery.mul_bits_be(bigint2_bits_be.clone());\n\n // Check that b₁(b₂P) == b₂(b₁P)\n assert_eq!(\n prod1.mul_bits_be(bigint2_bits_be),\n prod2.mul_bits_be(bigint1_bits_be)\n );\n }\n }\n\n /// Check that mul_base_clamped and mul_clamped agree\n #[test]\n fn mul_base_clamped() {\n let mut csprng = rand::rngs::OsRng;\n\n // Test agreement on a large integer. Even after clamping, this is not reduced mod l.\n let a_bytes = [0xff; 32];\n assert_eq!(\n MontgomeryPoint::mul_base_clamped(a_bytes),\n constants::X25519_BASEPOINT.mul_clamped(a_bytes)\n );\n\n // Test agreement on random integers\n for _ in 0..100 {\n // This will be reduced mod l with probability l / 2^256 ≈ 6.25%\n let mut a_bytes = [0u8; 32];\n csprng.fill_bytes(&mut a_bytes);\n\n assert_eq!(\n MontgomeryPoint::mul_base_clamped(a_bytes),\n constants::X25519_BASEPOINT.mul_clamped(a_bytes)\n );\n }\n }\n\n #[cfg(feature = \"alloc\")]\n #[cfg(feature = \"digest\")]\n const ELLIGATOR_CORRECT_OUTPUT: [u8; 32] = [\n 0x5f, 0x35, 0x20, 0x00, 0x1c, 0x6c, 0x99, 0x36, 0xa3, 0x12, 0x06, 0xaf, 0xe7, 0xc7, 0xac,\n 0x22, 0x4e, 0x88, 0x61, 0x61, 0x9b, 0xf9, 0x88, 0x72, 0x44, 0x49, 0x15, 0x89, 0x9d, 0x95,\n 0xf4, 0x6e,\n ];\n\n #[test]\n #[cfg(feature = \"alloc\")]\n #[cfg(feature = \"digest\")]\n fn montgomery_elligator_correct() {\n use alloc::vec::Vec;\n let bytes: Vec = (0u8..32u8).collect();\n let bits_in: [u8; 32] = (&bytes[..]).try_into().expect(\"Range invariant broken\");\n\n let fe = FieldElement::from_bytes(&bits_in);\n let (un, ud, ..) = elligator_encode(&fe);\n let u = &un * &ud.invert();\n assert_eq!(u.to_bytes(), ELLIGATOR_CORRECT_OUTPUT);\n }\n\n #[test]\n #[cfg(feature = \"digest\")]\n fn montgomery_elligator_zero_zero() {\n let zero = [0u8; 32];\n let fe = FieldElement::from_bytes(&zero);\n let (un, ud, ..) = elligator_encode(&fe);\n let u = &un * &ud.invert();\n assert_eq!(u.to_bytes(), zero);\n }\n\n // Check that FE_C2 is correctly defined\n #[test]\n #[cfg(feature = \"digest\")]\n fn c2() {\n let one = FieldElement::ONE;\n let two = &one + &one;\n // c2 = 2^((p+3)/8) = 2^((p-5)/8 + 8/8) = 2*2^((p-5)/8)\n let c2 = &two * &(two.pow_p58());\n\n assert_eq!(c2, FE_C2);\n }\n}\n"},{"id":42,"name":{"Local":"/rustc/library/core/src/array/iter.rs"},"crate_name":"core","contents":null},{"id":43,"name":{"Local":"/rustc/library/core/src/num/nonzero.rs"},"crate_name":"core","contents":null},{"id":44,"name":{"Local":"/rustc/library/core/src/num/mod.rs"},"crate_name":"core","contents":null},{"id":45,"name":{"Local":"/rustc/library/core/src/iter/adapters/step_by.rs"},"crate_name":"core","contents":null},{"id":46,"name":{"Local":"/rustc/library/core/src/iter/adapters/mod.rs"},"crate_name":"core","contents":null},{"id":47,"name":{"Local":"/rustc/library/core/src/iter/adapters/chain.rs"},"crate_name":"core","contents":null},{"id":48,"name":{"Local":"/rustc/library/core/src/iter/adapters/zip.rs"},"crate_name":"core","contents":null},{"id":49,"name":{"Local":"/rustc/library/core/src/iter/adapters/intersperse.rs"},"crate_name":"core","contents":null},{"id":50,"name":{"Local":"/rustc/library/core/src/ops/function.rs"},"crate_name":"core","contents":null},{"id":51,"name":{"Local":"/rustc/library/core/src/iter/adapters/map.rs"},"crate_name":"core","contents":null},{"id":52,"name":{"Local":"/rustc/library/core/src/iter/adapters/filter.rs"},"crate_name":"core","contents":null},{"id":53,"name":{"Local":"/rustc/library/core/src/iter/adapters/filter_map.rs"},"crate_name":"core","contents":null},{"id":54,"name":{"Local":"/rustc/library/core/src/iter/adapters/enumerate.rs"},"crate_name":"core","contents":null},{"id":55,"name":{"Local":"/rustc/library/core/src/iter/adapters/peekable.rs"},"crate_name":"core","contents":null},{"id":56,"name":{"Local":"/rustc/library/core/src/iter/adapters/skip_while.rs"},"crate_name":"core","contents":null},{"id":57,"name":{"Local":"/rustc/library/core/src/iter/adapters/take_while.rs"},"crate_name":"core","contents":null},{"id":58,"name":{"Local":"/rustc/library/core/src/iter/adapters/map_while.rs"},"crate_name":"core","contents":null},{"id":59,"name":{"Local":"/rustc/library/core/src/iter/adapters/skip.rs"},"crate_name":"core","contents":null},{"id":60,"name":{"Local":"/rustc/library/core/src/iter/adapters/take.rs"},"crate_name":"core","contents":null},{"id":61,"name":{"Local":"/rustc/library/core/src/iter/adapters/scan.rs"},"crate_name":"core","contents":null},{"id":62,"name":{"Local":"/rustc/library/core/src/iter/adapters/flatten.rs"},"crate_name":"core","contents":null},{"id":63,"name":{"Local":"/rustc/library/core/src/iter/adapters/map_windows.rs"},"crate_name":"core","contents":null},{"id":64,"name":{"Local":"/rustc/library/core/src/iter/adapters/fuse.rs"},"crate_name":"core","contents":null},{"id":65,"name":{"Local":"/rustc/library/core/src/iter/adapters/inspect.rs"},"crate_name":"core","contents":null},{"id":66,"name":{"Local":"/rustc/library/core/src/ops/try_trait.rs"},"crate_name":"core","contents":null},{"id":67,"name":{"Local":"/rustc/library/core/src/iter/traits/double_ended.rs"},"crate_name":"core","contents":null},{"id":68,"name":{"Local":"/rustc/library/core/src/iter/traits/exact_size.rs"},"crate_name":"core","contents":null},{"id":69,"name":{"Local":"/rustc/library/core/src/iter/adapters/rev.rs"},"crate_name":"core","contents":null},{"id":70,"name":{"Local":"/rustc/library/core/src/iter/adapters/copied.rs"},"crate_name":"core","contents":null},{"id":71,"name":{"Local":"/rustc/library/core/src/iter/adapters/cloned.rs"},"crate_name":"core","contents":null},{"id":72,"name":{"Local":"/rustc/library/core/src/iter/adapters/cycle.rs"},"crate_name":"core","contents":null},{"id":73,"name":{"Local":"/rustc/library/core/src/iter/adapters/array_chunks.rs"},"crate_name":"core","contents":null},{"id":74,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/u64/constants.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! This module contains backend-specific constant values, such as the 64-bit limbs of curve constants.\n\nuse super::field::FieldElement51;\nuse super::scalar::Scalar52;\nuse crate::edwards::EdwardsPoint;\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::{\n backend::serial::curve_models::{AffineNielsPoint, ProjectiveNielsPoint},\n edwards::EdwardsBasepointTable,\n window::{LookupTable, NafLookupTable5, NafLookupTable8},\n};\n\n/// The value of minus one, equal to `-&FieldElement::ONE`\npub(crate) const MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n]);\n\n/// sqrt(-486664)\n#[cfg(feature = \"digest\")]\npub(crate) const ED25519_SQRTAM2: FieldElement51 = FieldElement51::from_limbs([\n 1693982333959686,\n 608509411481997,\n 2235573344831311,\n 947681270984193,\n 266558006233600,\n]);\n\n/// Edwards `d` value, equal to `-121665/121666 mod p`.\npub(crate) const EDWARDS_D: FieldElement51 = FieldElement51::from_limbs([\n 929955233495203,\n 466365720129213,\n 1662059464998953,\n 2033849074728123,\n 1442794654840575,\n]);\n\n/// Edwards `2*d` value, equal to `2*(-121665/121666) mod p`.\npub(crate) const EDWARDS_D2: FieldElement51 = FieldElement51::from_limbs([\n 1859910466990425,\n 932731440258426,\n 1072319116312658,\n 1815898335770999,\n 633789495995903,\n]);\n\n/// One minus edwards `d` value squared, equal to `(1 - (-121665/121666) mod p) pow 2`\npub(crate) const ONE_MINUS_EDWARDS_D_SQUARED: FieldElement51 = FieldElement51::from_limbs([\n 1136626929484150,\n 1998550399581263,\n 496427632559748,\n 118527312129759,\n 45110755273534,\n]);\n\n/// Edwards `d` value minus one squared, equal to `(((-121665/121666) mod p) - 1) pow 2`\npub(crate) const EDWARDS_D_MINUS_ONE_SQUARED: FieldElement51 = FieldElement51::from_limbs([\n 1507062230895904,\n 1572317787530805,\n 683053064812840,\n 317374165784489,\n 1572899562415810,\n]);\n\n/// `= sqrt(a*d - 1)`, where `a = -1 (mod p)`, `d` are the Edwards curve parameters.\npub(crate) const SQRT_AD_MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2241493124984347,\n 425987919032274,\n 2207028919301688,\n 1220490630685848,\n 974799131293748,\n]);\n\n/// `= 1/sqrt(a-d)`, where `a = -1 (mod p)`, `d` are the Edwards curve parameters.\npub(crate) const INVSQRT_A_MINUS_D: FieldElement51 = FieldElement51::from_limbs([\n 278908739862762,\n 821645201101625,\n 8113234426968,\n 1777959178193151,\n 2118520810568447,\n]);\n\n/// Precomputed value of one of the square roots of -1 (mod p)\npub(crate) const SQRT_M1: FieldElement51 = FieldElement51::from_limbs([\n 1718705420411056,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n]);\n\n/// `APLUS2_OVER_FOUR` is (A+2)/4. (This is used internally within the Montgomery ladder.)\npub(crate) const APLUS2_OVER_FOUR: FieldElement51 =\n FieldElement51::from_limbs([121666, 0, 0, 0, 0]);\n\n#[cfg(feature = \"digest\")]\n/// `MONTGOMERY_A` is equal to 486662, which is a constant of the curve equation\n/// for Curve25519 in its Montgomery form. (This is used internally within the\n/// Elligator map.)\npub(crate) const MONTGOMERY_A: FieldElement51 = FieldElement51::from_limbs([486662, 0, 0, 0, 0]);\n\n#[cfg(feature = \"digest\")]\n/// `MONTGOMERY_A_NEG` is equal to -486662. (This is used internally within the\n/// Elligator map.)\npub(crate) const MONTGOMERY_A_NEG: FieldElement51 = FieldElement51::from_limbs([\n 2251799813198567,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n]);\n\n/// `L` is the order of base point, i.e. 2^252 + 27742317777372353535851937790883648493\npub(crate) const L: Scalar52 = Scalar52([\n 0x0002631a5cf5d3ed,\n 0x000dea2f79cd6581,\n 0x000000000014def9,\n 0x0000000000000000,\n 0x0000100000000000,\n]);\n\n/// `L` * `LFACTOR` = -1 (mod 2^52)\npub(crate) const LFACTOR: u64 = 0x51da312547e1b;\n\n/// `R` = R % L where R = 2^260\npub(crate) const R: Scalar52 = Scalar52([\n 0x000f48bd6721e6ed,\n 0x0003bab5ac67e45a,\n 0x000fffffeb35e51b,\n 0x000fffffffffffff,\n 0x00000fffffffffff,\n]);\n\n/// `RR` = (R^2) % L where R = 2^260\npub(crate) const RR: Scalar52 = Scalar52([\n 0x0009d265e952d13b,\n 0x000d63c715bea69f,\n 0x0005be65cb687604,\n 0x0003dceec73d217f,\n 0x000009411b7c309a,\n]);\n\n/// The Ed25519 basepoint, as an `EdwardsPoint`.\n///\n/// This is called `_POINT` to distinguish it from\n/// `ED25519_BASEPOINT_TABLE`, which should be used for scalar\n/// multiplication (it's much faster).\npub const ED25519_BASEPOINT_POINT: EdwardsPoint = EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1738742601995546,\n 1146398526822698,\n 2070867633025821,\n 562264141797630,\n 587772402128613,\n ]),\n Y: FieldElement51::from_limbs([\n 1801439850948184,\n 1351079888211148,\n 450359962737049,\n 900719925474099,\n 1801439850948198,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1841354044333475,\n 16398895984059,\n 755974180946558,\n 900171276175154,\n 1821297809914039,\n ]),\n};\n\n/// The Ed25519 basepoint, mul by 2^128, as an `EdwardsPoint`.\npub const ED25519_BASEPOINT_128_POINT: EdwardsPoint = EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1573694877509226,\n 2118644427590872,\n 940662180141619,\n 707110682864191,\n 1255997186674731,\n ]),\n Y: FieldElement51::from_limbs([\n 1162474291335259,\n 820106152083656,\n 523232807607258,\n 2134608004007539,\n 729879497843472,\n ]),\n Z: FieldElement51::from_limbs([\n 445134475408207,\n 1820906444767788,\n 40212681131971,\n 1448661247201044,\n 965705781338211,\n ]),\n T: FieldElement51::from_limbs([\n 1855274855831337,\n 1818119365171423,\n 269991889323070,\n 1370944576683708,\n 140790155072480,\n ]),\n};\n\n/// The 8-torsion subgroup \\\\(\\mathcal E \\[8\\]\\\\).\n///\n/// In the case of Curve25519, it is cyclic; the \\\\(i\\\\)-th element of\n/// the array is \\\\(\\[i\\]P\\\\), where \\\\(P\\\\) is a point of order \\\\(8\\\\)\n/// generating \\\\(\\mathcal E\\[8\\]\\\\).\n///\n/// Thus \\\\(\\mathcal E\\[4\\]\\\\) is the points indexed by `0,2,4,6`, and\n/// \\\\(\\mathcal E\\[2\\]\\\\) is the points indexed by `0,4`.\npub const EIGHT_TORSION: [EdwardsPoint; 8] = EIGHT_TORSION_INNER_DOC_HIDDEN;\n\n/// Inner item used to hide limb constants from cargo doc output.\n#[doc(hidden)]\npub const EIGHT_TORSION_INNER_DOC_HIDDEN: [EdwardsPoint; 8] = [\n EdwardsPoint {\n X: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n Y: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 358744748052810,\n 1691584618240980,\n 977650209285361,\n 1429865912637724,\n 560044844278676,\n ]),\n Y: FieldElement51::from_limbs([\n 84926274344903,\n 473620666599931,\n 365590438845504,\n 1028470286882429,\n 2146499180330972,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1448326834587521,\n 1857896831960481,\n 1093722731865333,\n 1677408490711241,\n 1915505153018406,\n ]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 533094393274173,\n 2016890930128738,\n 18285341111199,\n 134597186663265,\n 1486323764102114,\n ]),\n Y: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 358744748052810,\n 1691584618240980,\n 977650209285361,\n 1429865912637724,\n 560044844278676,\n ]),\n Y: FieldElement51::from_limbs([\n 2166873539340326,\n 1778179147085316,\n 1886209374839743,\n 1223329526802818,\n 105300633354275,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 803472979097708,\n 393902981724766,\n 1158077081819914,\n 574391322974006,\n 336294660666841,\n ]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n Y: FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1893055065632419,\n 560215195444267,\n 1274149604399886,\n 821933901047523,\n 1691754969406571,\n ]),\n Y: FieldElement51::from_limbs([\n 2166873539340326,\n 1778179147085316,\n 1886209374839743,\n 1223329526802818,\n 105300633354275,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1448326834587521,\n 1857896831960481,\n 1093722731865333,\n 1677408490711241,\n 1915505153018406,\n ]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1718705420411056,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n ]),\n Y: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1893055065632419,\n 560215195444267,\n 1274149604399886,\n 821933901047523,\n 1691754969406571,\n ]),\n Y: FieldElement51::from_limbs([\n 84926274344903,\n 473620666599931,\n 365590438845504,\n 1028470286882429,\n 2146499180330972,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 803472979097708,\n 393902981724766,\n 1158077081819914,\n 574391322974006,\n 336294660666841,\n ]),\n },\n];\n\n/// Table containing precomputed multiples of the Ed25519 basepoint \\\\(B = (x, 4/5)\\\\).\n#[cfg(feature = \"precomputed-tables\")]\npub static ED25519_BASEPOINT_TABLE: &EdwardsBasepointTable =\n &ED25519_BASEPOINT_TABLE_INNER_DOC_HIDDEN;\n\n/// Inner constant, used to avoid filling the docs with precomputed points.\n#[doc(hidden)]\n#[cfg(feature = \"precomputed-tables\")]\nstatic ED25519_BASEPOINT_TABLE_INNER_DOC_HIDDEN: EdwardsBasepointTable = EdwardsBasepointTable([\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3540182452943730,\n 2497478415033846,\n 2521227595762870,\n 1462984067271729,\n 2389212253076811,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 62697248952638,\n 204681361388450,\n 631292143396476,\n 338455783676468,\n 1213667448819585,\n ]),\n xy2d: FieldElement51::from_limbs([\n 301289933810280,\n 1259582250014073,\n 1422107436869536,\n 796239922652654,\n 1953934009299142,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3632771708514775,\n 790832306631235,\n 2067202295274102,\n 1995808275510000,\n 1566530869037010,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 463307831301544,\n 432984605774163,\n 1610641361907204,\n 750899048855000,\n 1894842303421586,\n ]),\n xy2d: FieldElement51::from_limbs([\n 748439484463711,\n 1033211726465151,\n 1396005112841647,\n 1611506220286469,\n 1972177495910992,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1601611775252272,\n 1720807796594148,\n 1132070835939856,\n 3512254832574799,\n 2147779492816910,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 316559037616741,\n 2177824224946892,\n 1459442586438991,\n 1461528397712656,\n 751590696113597,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1850748884277385,\n 1200145853858453,\n 1068094770532492,\n 672251375690438,\n 1586055907191707,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 934282339813791,\n 1846903124198670,\n 1172395437954843,\n 1007037127761661,\n 1830588347719256,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1694390458783935,\n 1735906047636159,\n 705069562067493,\n 648033061693059,\n 696214010414170,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1121406372216585,\n 192876649532226,\n 190294192191717,\n 1994165897297032,\n 2245000007398739,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 769950342298400,\n 2384754244604994,\n 3095885746880802,\n 3225892188161580,\n 2977876099231263,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 425251763115706,\n 608463272472562,\n 442562545713235,\n 837766094556764,\n 374555092627893,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1086255230780037,\n 274979815921559,\n 1960002765731872,\n 929474102396301,\n 1190409889297339,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1388594989461809,\n 316767091099457,\n 2646098655878230,\n 1230079486801004,\n 1440737038838979,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 7380825640100,\n 146210432690483,\n 304903576448906,\n 1198869323871120,\n 997689833219095,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1181317918772081,\n 114573476638901,\n 262805072233344,\n 265712217171332,\n 294181933805782,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2916800678241215,\n 2065379846933858,\n 2622030924071124,\n 2602788184473875,\n 1233371373142984,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2019367628972465,\n 676711900706637,\n 110710997811333,\n 1108646842542025,\n 517791959672113,\n ]),\n xy2d: FieldElement51::from_limbs([\n 965130719900578,\n 247011430587952,\n 526356006571389,\n 91986625355052,\n 2157223321444601,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4320419353804412,\n 4218074731744053,\n 957728544705548,\n 729906502578991,\n 2411634706750414,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2073601412052185,\n 31021124762708,\n 264500969797082,\n 248034690651703,\n 1030252227928288,\n ]),\n xy2d: FieldElement51::from_limbs([\n 551790716293402,\n 1989538725166328,\n 801169423371717,\n 2052451893578887,\n 678432056995012,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1368953770187805,\n 3042147450398169,\n 2689308289352409,\n 2142576377050579,\n 1932081720066286,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 953638594433374,\n 1092333936795051,\n 1419774766716690,\n 805677984380077,\n 859228993502513,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1200766035879111,\n 20142053207432,\n 1465634435977050,\n 1645256912097844,\n 295121984874596,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1735718747031538,\n 1248237894295956,\n 1204753118328107,\n 976066523550493,\n 2317743583219840,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1060098822528990,\n 1586825862073490,\n 212301317240126,\n 1975302711403555,\n 666724059764335,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1091990273418756,\n 1572899409348578,\n 80968014455247,\n 306009358661350,\n 1520450739132526,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3732317023121341,\n 1511153322193951,\n 3496143672676420,\n 2556587964178488,\n 2620936670181690,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2151330273626164,\n 762045184746182,\n 1688074332551515,\n 823046109005759,\n 907602769079491,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2047386910586836,\n 168470092900250,\n 1552838872594810,\n 340951180073789,\n 360819374702533,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1982622644432037,\n 2014393600336956,\n 2380709022489462,\n 3869592437614438,\n 2357094095599062,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 980234343912898,\n 1712256739246056,\n 588935272190264,\n 204298813091998,\n 841798321043288,\n ]),\n xy2d: FieldElement51::from_limbs([\n 197561292938973,\n 454817274782871,\n 1963754960082318,\n 2113372252160468,\n 971377527342673,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2416499262514576,\n 2254927265442919,\n 3451304785234000,\n 1766155447043651,\n 1899238924683527,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 732262946680281,\n 1674412764227063,\n 2182456405662809,\n 1350894754474250,\n 558458873295247,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2103305098582922,\n 1960809151316468,\n 715134605001343,\n 1454892949167181,\n 40827143824949,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1239289043050193,\n 1744654158124578,\n 758702410031698,\n 4048562808759936,\n 2253402870349013,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2232056027107988,\n 987343914584615,\n 2115594492994461,\n 1819598072792159,\n 1119305654014850,\n ]),\n xy2d: FieldElement51::from_limbs([\n 320153677847348,\n 939613871605645,\n 641883205761567,\n 1930009789398224,\n 329165806634126,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3232730304159378,\n 1242488692177892,\n 1251446316964684,\n 1086618677993530,\n 1961430968465772,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 276821765317453,\n 1536835591188030,\n 1305212741412361,\n 61473904210175,\n 2051377036983058,\n ]),\n xy2d: FieldElement51::from_limbs([\n 833449923882501,\n 1750270368490475,\n 1123347002068295,\n 185477424765687,\n 278090826653186,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 794524995833413,\n 1849907304548286,\n 2305148486158393,\n 1272368559505216,\n 1147304168324779,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1504846112759364,\n 1203096289004681,\n 562139421471418,\n 274333017451844,\n 1284344053775441,\n ]),\n xy2d: FieldElement51::from_limbs([\n 483048732424432,\n 2116063063343382,\n 30120189902313,\n 292451576741007,\n 1156379271702225,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3180171966714267,\n 2147692869914563,\n 1455665844462196,\n 1986737809425946,\n 2437006863943337,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 137732961814206,\n 706670923917341,\n 1387038086865771,\n 1965643813686352,\n 1384777115696347,\n ]),\n xy2d: FieldElement51::from_limbs([\n 481144981981577,\n 2053319313589856,\n 2065402289827512,\n 617954271490316,\n 1106602634668125,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2948097833334040,\n 3145099472726142,\n 1148636718636008,\n 2278533891034865,\n 2203955659340680,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 657390353372855,\n 998499966885562,\n 991893336905797,\n 810470207106761,\n 343139804608786,\n ]),\n xy2d: FieldElement51::from_limbs([\n 791736669492960,\n 934767652997115,\n 824656780392914,\n 1759463253018643,\n 361530362383518,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2022541353055578,\n 4346500076272714,\n 3802807888710933,\n 2494585331103411,\n 2947785218648809,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1287487199965223,\n 2215311941380308,\n 1552928390931986,\n 1664859529680196,\n 1125004975265243,\n ]),\n xy2d: FieldElement51::from_limbs([\n 677434665154918,\n 989582503122485,\n 1817429540898386,\n 1052904935475344,\n 1143826298169798,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2619066141993637,\n 2570231002607651,\n 2947429167440602,\n 2885885471266079,\n 2276381426249673,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 773360688841258,\n 1815381330538070,\n 363773437667376,\n 539629987070205,\n 783280434248437,\n ]),\n xy2d: FieldElement51::from_limbs([\n 180820816194166,\n 168937968377394,\n 748416242794470,\n 1227281252254508,\n 1567587861004268,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2730575372268893,\n 2062896624554806,\n 2951191072970647,\n 2609899222113120,\n 1277310261461760,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1984740906540026,\n 1079164179400229,\n 1056021349262661,\n 1659958556483663,\n 1088529069025527,\n ]),\n xy2d: FieldElement51::from_limbs([\n 580736401511151,\n 1842931091388998,\n 1177201471228238,\n 2075460256527244,\n 1301133425678027,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1515728832059163,\n 1575261009617579,\n 1510246567196186,\n 2442877836294952,\n 2368461529974388,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1295295738269652,\n 1714742313707026,\n 545583042462581,\n 2034411676262552,\n 1513248090013606,\n ]),\n xy2d: FieldElement51::from_limbs([\n 230710545179830,\n 30821514358353,\n 760704303452229,\n 390668103790604,\n 573437871383156,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3421179921230875,\n 2514967047430861,\n 4274701112739695,\n 3071700566936367,\n 4275698278559832,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2102254323485823,\n 1570832666216754,\n 34696906544624,\n 1993213739807337,\n 70638552271463,\n ]),\n xy2d: FieldElement51::from_limbs([\n 894132856735058,\n 548675863558441,\n 845349339503395,\n 1942269668326667,\n 1615682209874691,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3539470031223082,\n 1222355136884919,\n 1846481788678694,\n 1150426571265110,\n 1613523400722047,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 793388516527298,\n 1315457083650035,\n 1972286999342417,\n 1901825953052455,\n 338269477222410,\n ]),\n xy2d: FieldElement51::from_limbs([\n 550201530671806,\n 778605267108140,\n 2063911101902983,\n 115500557286349,\n 2041641272971022,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 717255318455100,\n 519313764361315,\n 2080406977303708,\n 541981206705521,\n 774328150311600,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 261715221532238,\n 1795354330069993,\n 1496878026850283,\n 499739720521052,\n 389031152673770,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1997217696294013,\n 1717306351628065,\n 1684313917746180,\n 1644426076011410,\n 1857378133465451,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3727234538477877,\n 2328731709971226,\n 3368528843456914,\n 2002544139318041,\n 2977347647489186,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2022306639183567,\n 726296063571875,\n 315345054448644,\n 1058733329149221,\n 1448201136060677,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1710065158525665,\n 1895094923036397,\n 123988286168546,\n 1145519900776355,\n 1607510767693874,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2813405189107769,\n 1071733543815036,\n 2383296312486238,\n 1946868434569998,\n 3079937947649451,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1548495173745801,\n 442310529226540,\n 998072547000384,\n 553054358385281,\n 644824326376171,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1445526537029440,\n 2225519789662536,\n 914628859347385,\n 1064754194555068,\n 1660295614401091,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3451490036797185,\n 2275827949507588,\n 2318438102929588,\n 2309425969971222,\n 2816893781664854,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 876926774220824,\n 554618976488214,\n 1012056309841565,\n 839961821554611,\n 1414499340307677,\n ]),\n xy2d: FieldElement51::from_limbs([\n 703047626104145,\n 1266841406201770,\n 165556500219173,\n 486991595001879,\n 1011325891650656,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1622861044480487,\n 1156394801573634,\n 4120932379100752,\n 2578903799462977,\n 2095342781472283,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 334886927423922,\n 489511099221528,\n 129160865966726,\n 1720809113143481,\n 619700195649254,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1646545795166119,\n 1758370782583567,\n 714746174550637,\n 1472693650165135,\n 898994790308209,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2585203586724508,\n 2547572356138185,\n 1693106465353609,\n 912330357530760,\n 2723035471635610,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1811196219982022,\n 1068969825533602,\n 289602974833439,\n 1988956043611592,\n 863562343398367,\n ]),\n xy2d: FieldElement51::from_limbs([\n 906282429780072,\n 2108672665779781,\n 432396390473936,\n 150625823801893,\n 1708930497638539,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 925664675702309,\n 2273216662253932,\n 4083236455546587,\n 601157008940112,\n 2623617868729744,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1479786007267725,\n 1738881859066675,\n 68646196476567,\n 2146507056100328,\n 1247662817535471,\n ]),\n xy2d: FieldElement51::from_limbs([\n 52035296774456,\n 939969390708103,\n 312023458773250,\n 59873523517659,\n 1231345905848899,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2895154920100990,\n 2541986621181021,\n 2013561737429022,\n 2571447883196794,\n 2645536492181409,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 129358342392716,\n 1932811617704777,\n 1176749390799681,\n 398040349861790,\n 1170779668090425,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2051980782668029,\n 121859921510665,\n 2048329875753063,\n 1235229850149665,\n 519062146124755,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3859970785658325,\n 2667608874045675,\n 1350468408164765,\n 2038620059057678,\n 3278704299674360,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1837656083115103,\n 1510134048812070,\n 906263674192061,\n 1821064197805734,\n 565375124676301,\n ]),\n xy2d: FieldElement51::from_limbs([\n 578027192365650,\n 2034800251375322,\n 2128954087207123,\n 478816193810521,\n 2196171989962750,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1633188840273120,\n 3104586986058956,\n 1548762607215795,\n 1266275218902681,\n 3359018017010381,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 462189358480054,\n 1784816734159228,\n 1611334301651368,\n 1303938263943540,\n 707589560319424,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1038829280972848,\n 38176604650029,\n 753193246598573,\n 1136076426528122,\n 595709990562434,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3660251634545082,\n 2194984964010832,\n 2198361797561729,\n 1061962440055713,\n 1645147963442934,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 4701053362120,\n 1647641066302348,\n 1047553002242085,\n 1923635013395977,\n 206970314902065,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1750479161778571,\n 1362553355169293,\n 1891721260220598,\n 966109370862782,\n 1024913988299801,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2464498862816952,\n 1117950018299774,\n 1873945661751056,\n 3655602735669306,\n 2382695896337945,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 636808533673210,\n 1262201711667560,\n 390951380330599,\n 1663420692697294,\n 561951321757406,\n ]),\n xy2d: FieldElement51::from_limbs([\n 520731594438141,\n 1446301499955692,\n 273753264629267,\n 1565101517999256,\n 1019411827004672,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3178327305714638,\n 3443653291096626,\n 734233225181170,\n 2435838701226518,\n 4042225960010590,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1464651961852572,\n 1483737295721717,\n 1519450561335517,\n 1161429831763785,\n 405914998179977,\n ]),\n xy2d: FieldElement51::from_limbs([\n 996126634382301,\n 796204125879525,\n 127517800546509,\n 344155944689303,\n 615279846169038,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2990523894660505,\n 2188666632415295,\n 1961313708559162,\n 1506545807547587,\n 3403101452654988,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 622917337413835,\n 1218989177089035,\n 1284857712846592,\n 970502061709359,\n 351025208117090,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2067814584765580,\n 1677855129927492,\n 2086109782475197,\n 235286517313238,\n 1416314046739645,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2838644076315587,\n 2559244195637442,\n 458399356043425,\n 2853867838192310,\n 3280348017100490,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 678489922928203,\n 2016657584724032,\n 90977383049628,\n 1026831907234582,\n 615271492942522,\n ]),\n xy2d: FieldElement51::from_limbs([\n 301225714012278,\n 1094837270268560,\n 1202288391010439,\n 644352775178361,\n 1647055902137983,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1210746697896459,\n 1416608304244708,\n 2938287290903104,\n 3496931005119382,\n 3303038150540984,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1135604073198207,\n 1683322080485474,\n 769147804376683,\n 2086688130589414,\n 900445683120379,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1971518477615628,\n 401909519527336,\n 448627091057375,\n 1409486868273821,\n 1214789035034363,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1364039144731711,\n 1897497433586190,\n 2203097701135459,\n 2397261210496499,\n 1349844460790698,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1045230323257973,\n 818206601145807,\n 630513189076103,\n 1672046528998132,\n 807204017562437,\n ]),\n xy2d: FieldElement51::from_limbs([\n 439961968385997,\n 386362664488986,\n 1382706320807688,\n 309894000125359,\n 2207801346498567,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3480804500082836,\n 3172443782216110,\n 2375775707596425,\n 2933223806901024,\n 1400559197080972,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2003766096898049,\n 170074059235165,\n 1141124258967971,\n 1485419893480973,\n 1573762821028725,\n ]),\n xy2d: FieldElement51::from_limbs([\n 729905708611432,\n 1270323270673202,\n 123353058984288,\n 426460209632942,\n 2195574535456672,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1271140255321216,\n 2044363183174497,\n 2303925201319937,\n 3696920060379952,\n 3194341800024331,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1761608437466135,\n 583360847526804,\n 1586706389685493,\n 2157056599579261,\n 1170692369685772,\n ]),\n xy2d: FieldElement51::from_limbs([\n 871476219910823,\n 1878769545097794,\n 2241832391238412,\n 548957640601001,\n 690047440233174,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2548994545820755,\n 1366347803776819,\n 3552985325930849,\n 561849853336293,\n 1533554921345731,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 999628998628371,\n 1132836708493400,\n 2084741674517453,\n 469343353015612,\n 678782988708035,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2189427607417022,\n 699801937082607,\n 412764402319267,\n 1478091893643349,\n 2244675696854460,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3964091869651792,\n 2456213404310121,\n 3657538451018088,\n 2660781114515010,\n 3112882032961968,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 508561155940631,\n 966928475686665,\n 2236717801150132,\n 424543858577297,\n 2089272956986143,\n ]),\n xy2d: FieldElement51::from_limbs([\n 221245220129925,\n 1156020201681217,\n 491145634799213,\n 542422431960839,\n 828100817819207,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2405556784925632,\n 1299874139923976,\n 2644898978945750,\n 1058234455773021,\n 996989038681183,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 559086812798481,\n 573177704212711,\n 1629737083816402,\n 1399819713462595,\n 1646954378266038,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1887963056288059,\n 228507035730124,\n 1468368348640282,\n 930557653420194,\n 613513962454686,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1224529808187534,\n 1577022856702685,\n 2206946542980843,\n 625883007765001,\n 2531730607197406,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1076287717051609,\n 1114455570543035,\n 187297059715481,\n 250446884292121,\n 1885187512550540,\n ]),\n xy2d: FieldElement51::from_limbs([\n 902497362940219,\n 76749815795675,\n 1657927525633846,\n 1420238379745202,\n 1340321636548352,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1129576631190765,\n 3533793823712575,\n 996844254743017,\n 2509676177174497,\n 3402650555740265,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 628740660038789,\n 1943038498527841,\n 467786347793886,\n 1093341428303375,\n 235413859513003,\n ]),\n xy2d: FieldElement51::from_limbs([\n 237425418909360,\n 469614029179605,\n 1512389769174935,\n 1241726368345357,\n 441602891065214,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3988217766743784,\n 726531315520507,\n 1833335034432527,\n 1629442561574747,\n 2876218732971333,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1960754663920689,\n 497040957888962,\n 1909832851283095,\n 1271432136996826,\n 2219780368020940,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1537037379417136,\n 1358865369268262,\n 2130838645654099,\n 828733687040705,\n 1999987652890901,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 629042105241795,\n 1098854999137608,\n 887281544569320,\n 3674901833560025,\n 2259711072636808,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1811562332665373,\n 1501882019007673,\n 2213763501088999,\n 359573079719636,\n 36370565049116,\n ]),\n xy2d: FieldElement51::from_limbs([\n 218907117361280,\n 1209298913016966,\n 1944312619096112,\n 1130690631451061,\n 1342327389191701,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1369976867854685,\n 1396479602419169,\n 4017456468084104,\n 2203659200586298,\n 3250127649802489,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2230701885562825,\n 1348173180338974,\n 2172856128624598,\n 1426538746123771,\n 444193481326151,\n ]),\n xy2d: FieldElement51::from_limbs([\n 784210426627951,\n 918204562375674,\n 1284546780452985,\n 1324534636134684,\n 1872449409642708,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2571438643225542,\n 2848082470493653,\n 2037902696412607,\n 1557219121643918,\n 341938082688094,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1901860206695915,\n 2004489122065736,\n 1625847061568236,\n 973529743399879,\n 2075287685312905,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1371853944110545,\n 1042332820512553,\n 1949855697918254,\n 1791195775521505,\n 37487364849293,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 687200189577836,\n 1082536651125675,\n 2896024754556794,\n 2592723009743198,\n 2595381160432643,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2082717129583892,\n 27829425539422,\n 145655066671970,\n 1690527209845512,\n 1865260509673478,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1059729620568824,\n 2163709103470266,\n 1440302280256872,\n 1769143160546397,\n 869830310425069,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3861316033464273,\n 777277757338816,\n 2101121130363987,\n 550762194946473,\n 1905542338659364,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2024821921041576,\n 426948675450149,\n 595133284085473,\n 471860860885970,\n 600321679413000,\n ]),\n xy2d: FieldElement51::from_limbs([\n 598474602406721,\n 1468128276358244,\n 1191923149557635,\n 1501376424093216,\n 1281662691293476,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1721138489890688,\n 1264336102277790,\n 2684864359106535,\n 1359988423149465,\n 3813671107094695,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 719520245587143,\n 393380711632345,\n 132350400863381,\n 1543271270810729,\n 1819543295798660,\n ]),\n xy2d: FieldElement51::from_limbs([\n 396397949784152,\n 1811354474471839,\n 1362679985304303,\n 2117033964846756,\n 498041172552279,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1812471844975748,\n 1856491995543149,\n 126579494584102,\n 3288044672967868,\n 1975108050082549,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 650623932407995,\n 1137551288410575,\n 2125223403615539,\n 1725658013221271,\n 2134892965117796,\n ]),\n xy2d: FieldElement51::from_limbs([\n 522584000310195,\n 1241762481390450,\n 1743702789495384,\n 2227404127826575,\n 1686746002148897,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 427904865186293,\n 1703211129693455,\n 1585368107547509,\n 3688784302429584,\n 3012988348299225,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 318101947455002,\n 248138407995851,\n 1481904195303927,\n 309278454311197,\n 1258516760217879,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1275068538599310,\n 513726919533379,\n 349926553492294,\n 688428871968420,\n 1702400196000666,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3313663849950481,\n 3213411074010628,\n 2573659446386085,\n 3297400443644764,\n 1985130202504037,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1558816436882417,\n 1962896332636523,\n 1337709822062152,\n 1501413830776938,\n 294436165831932,\n ]),\n xy2d: FieldElement51::from_limbs([\n 818359826554971,\n 1862173000996177,\n 626821592884859,\n 573655738872376,\n 1749691246745455,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1988022651432119,\n 3333911312271288,\n 1834020786104820,\n 3706626690108935,\n 692929915223121,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2146513703733331,\n 584788900394667,\n 464965657279958,\n 2183973639356127,\n 238371159456790,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1129007025494441,\n 2197883144413266,\n 265142755578169,\n 971864464758890,\n 1983715884903702,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1291366624493056,\n 2633256531874362,\n 1711482489312443,\n 1815233647702022,\n 3144079596677715,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 444548969917454,\n 1452286453853356,\n 2113731441506810,\n 645188273895859,\n 810317625309512,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2242724082797924,\n 1373354730327868,\n 1006520110883049,\n 2147330369940688,\n 1151816104883620,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3997520014069025,\n 4163522956860564,\n 2056329390702073,\n 2607026987995097,\n 3131032608056347,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 163723479936298,\n 115424889803150,\n 1156016391581227,\n 1894942220753364,\n 1970549419986329,\n ]),\n xy2d: FieldElement51::from_limbs([\n 681981452362484,\n 267208874112496,\n 1374683991933094,\n 638600984916117,\n 646178654558546,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2265178468539480,\n 2358037120714814,\n 1944412051589650,\n 4093776581610705,\n 2482502633520820,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 260683893467075,\n 854060306077237,\n 913639551980112,\n 4704576840123,\n 280254810808712,\n ]),\n xy2d: FieldElement51::from_limbs([\n 715374893080287,\n 1173334812210491,\n 1806524662079626,\n 1894596008000979,\n 398905715033393,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2751826223412909,\n 3848231101880618,\n 1420380351989369,\n 3237011375206737,\n 392444930785632,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2096421546958141,\n 1922523000950363,\n 789831022876840,\n 427295144688779,\n 320923973161730,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1927770723575450,\n 1485792977512719,\n 1850996108474547,\n 551696031508956,\n 2126047405475647,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2112099158080129,\n 2994370617594963,\n 2258284371762679,\n 1951119898618915,\n 2344890196388664,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 383905201636970,\n 859946997631870,\n 855623867637644,\n 1017125780577795,\n 794250831877809,\n ]),\n xy2d: FieldElement51::from_limbs([\n 77571826285752,\n 999304298101753,\n 487841111777762,\n 1038031143212339,\n 339066367948762,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2926794589205781,\n 2517835660016036,\n 826951213393477,\n 1405007746162285,\n 1781791018620876,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1001412661522686,\n 348196197067298,\n 1666614366723946,\n 888424995032760,\n 580747687801357,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1939560076207777,\n 1409892634407635,\n 552574736069277,\n 383854338280405,\n 190706709864139,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2177087163428741,\n 1439255351721944,\n 3459870654068041,\n 2230616362004768,\n 1396886392021913,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 676962063230039,\n 1880275537148808,\n 2046721011602706,\n 888463247083003,\n 1318301552024067,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1466980508178206,\n 617045217998949,\n 652303580573628,\n 757303753529064,\n 207583137376902,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3762856566592150,\n 2357202940576524,\n 2745234706458093,\n 1091943425335975,\n 1802717338077427,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1853982405405128,\n 1878664056251147,\n 1528011020803992,\n 1019626468153565,\n 1128438412189035,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1963939888391106,\n 293456433791664,\n 697897559513649,\n 985882796904380,\n 796244541237972,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2668570812315008,\n 2641455366112301,\n 1314476859406755,\n 1749382513022778,\n 3413705412424739,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1428358296490651,\n 1027115282420478,\n 304840698058337,\n 441410174026628,\n 1819358356278573,\n ]),\n xy2d: FieldElement51::from_limbs([\n 204943430200135,\n 1554861433819175,\n 216426658514651,\n 264149070665950,\n 2047097371738319,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1934415182909015,\n 1393285083565062,\n 2768209145458208,\n 3409490548679139,\n 2372839480279515,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 662035583584445,\n 286736105093098,\n 1131773000510616,\n 818494214211439,\n 472943792054479,\n ]),\n xy2d: FieldElement51::from_limbs([\n 665784778135882,\n 1893179629898606,\n 808313193813106,\n 276797254706413,\n 1563426179676396,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 945205108984213,\n 2778077376644543,\n 1324180513733565,\n 1666970227868664,\n 2405347422974421,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2031433403516252,\n 203996615228162,\n 170487168837083,\n 981513604791390,\n 843573964916831,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1476570093962618,\n 838514669399805,\n 1857930577281364,\n 2017007352225784,\n 317085545220047,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1461557121912823,\n 1600674043318359,\n 2157134900399597,\n 1670641601940616,\n 2379565397488531,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1293543509393474,\n 2143624609202546,\n 1058361566797508,\n 214097127393994,\n 946888515472729,\n ]),\n xy2d: FieldElement51::from_limbs([\n 357067959932916,\n 1290876214345711,\n 521245575443703,\n 1494975468601005,\n 800942377643885,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2817916472785262,\n 820247422481739,\n 994464017954148,\n 2578957425371613,\n 2344391131796991,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 617256647603209,\n 1652107761099439,\n 1857213046645471,\n 1085597175214970,\n 817432759830522,\n ]),\n xy2d: FieldElement51::from_limbs([\n 771808161440705,\n 1323510426395069,\n 680497615846440,\n 851580615547985,\n 1320806384849017,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1219260086131896,\n 2898968820282063,\n 2331400938444953,\n 2161724213426747,\n 2656661710745446,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1327968293887866,\n 1335500852943256,\n 1401587164534264,\n 558137311952440,\n 1551360549268902,\n ]),\n xy2d: FieldElement51::from_limbs([\n 417621685193956,\n 1429953819744454,\n 396157358457099,\n 1940470778873255,\n 214000046234152,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1268047918491954,\n 2172375426948536,\n 1533916099229249,\n 1761293575457130,\n 3842422480712013,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1627072914981959,\n 2211603081280073,\n 1912369601616504,\n 1191770436221309,\n 2187309757525860,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1149147819689533,\n 378692712667677,\n 828475842424202,\n 2218619146419342,\n 70688125792186,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3551539230764990,\n 3690416477138006,\n 3788528892189659,\n 2053896748919837,\n 3260220846276494,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2040723824657366,\n 399555637875075,\n 632543375452995,\n 872649937008051,\n 1235394727030233,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2211311599327900,\n 2139787259888175,\n 938706616835350,\n 12609661139114,\n 2081897930719789,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1324994503390431,\n 2588782144267879,\n 1183998925654176,\n 3343454479598522,\n 2300527487656566,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1845522914617879,\n 1222198248335542,\n 150841072760134,\n 1927029069940982,\n 1189913404498011,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1079559557592645,\n 2215338383666441,\n 1903569501302605,\n 49033973033940,\n 305703433934152,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2346453219102138,\n 3637921163538246,\n 3313930291577009,\n 2288353761164521,\n 3085469462634093,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1432015813136298,\n 440364795295369,\n 1395647062821501,\n 1976874522764578,\n 934452372723352,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1296625309219774,\n 2068273464883862,\n 1858621048097805,\n 1492281814208508,\n 2235868981918946,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1490330266465551,\n 1858795661361448,\n 3688040948655011,\n 2546373032584894,\n 3459939824714180,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1282462923712748,\n 741885683986255,\n 2027754642827561,\n 518989529541027,\n 1826610009555945,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1525827120027511,\n 723686461809551,\n 1597702369236987,\n 244802101764964,\n 1502833890372311,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2365421849929742,\n 3485539881431101,\n 2925909765963743,\n 2114345180342964,\n 2418564326541511,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2041668749310338,\n 2184405322203901,\n 1633400637611036,\n 2110682505536899,\n 2048144390084644,\n ]),\n xy2d: FieldElement51::from_limbs([\n 503058759232932,\n 760293024620937,\n 2027152777219493,\n 666858468148475,\n 1539184379870952,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1916168475367211,\n 3167426246226591,\n 883217071712574,\n 363427871374304,\n 1976029821251593,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 678039535434506,\n 570587290189340,\n 1605302676614120,\n 2147762562875701,\n 1706063797091704,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1439489648586438,\n 2194580753290951,\n 832380563557396,\n 561521973970522,\n 584497280718389,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2439789269177838,\n 681223515948274,\n 1933493571072456,\n 1872921007304880,\n 2739962177820919,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1413466089534451,\n 410844090765630,\n 1397263346404072,\n 408227143123410,\n 1594561803147811,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2102170800973153,\n 719462588665004,\n 1479649438510153,\n 1097529543970028,\n 1302363283777685,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3193865531532443,\n 3321113493038208,\n 2007341951411050,\n 2322773230131539,\n 1419433790163705,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1146565545556377,\n 1661971299445212,\n 406681704748893,\n 564452436406089,\n 1109109865829139,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2214421081775077,\n 1165671861210569,\n 1890453018796184,\n 3556249878661,\n 442116172656317,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3005630360306059,\n 1666955059895018,\n 1530775289309243,\n 3371786842789394,\n 2164156153857579,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 615171919212796,\n 1523849404854568,\n 854560460547503,\n 2067097370290715,\n 1765325848586042,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1094538949313667,\n 1796592198908825,\n 870221004284388,\n 2025558921863561,\n 1699010892802384,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1951351290725195,\n 1916457206844795,\n 2449824998123274,\n 1909076887557594,\n 1938542290318919,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1014323197538413,\n 869150639940606,\n 1756009942696599,\n 1334952557375672,\n 1544945379082874,\n ]),\n xy2d: FieldElement51::from_limbs([\n 764055910920305,\n 1603590757375439,\n 146805246592357,\n 1843313433854297,\n 954279890114939,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 80113526615731,\n 764536758732259,\n 3306939158785481,\n 2721052465444637,\n 2869697326116762,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 74497112547268,\n 740094153192149,\n 1745254631717581,\n 727713886503130,\n 1283034364416928,\n ]),\n xy2d: FieldElement51::from_limbs([\n 525892105991110,\n 1723776830270342,\n 1476444848991936,\n 573789489857760,\n 133864092632978,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2794411533877810,\n 1986812262899320,\n 1162535242465837,\n 2733298779828712,\n 2796400347268869,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 64123227344372,\n 1239927720647794,\n 1360722983445904,\n 222610813654661,\n 62429487187991,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1793193323953132,\n 91096687857833,\n 70945970938921,\n 2158587638946380,\n 1537042406482111,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1895854577604590,\n 3646695522634664,\n 1728548428495943,\n 3392664713925397,\n 2815445147288308,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 141358280486863,\n 91435889572504,\n 1087208572552643,\n 1829599652522921,\n 1193307020643647,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1611230858525381,\n 950720175540785,\n 499589887488610,\n 2001656988495019,\n 88977313255908,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3440880315164906,\n 2184348804772596,\n 3292618539427567,\n 2018318290311833,\n 1712060030915354,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 873966876953756,\n 1090638350350440,\n 1708559325189137,\n 672344594801910,\n 1320437969700239,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1508590048271766,\n 1131769479776094,\n 101550868699323,\n 428297785557897,\n 561791648661744,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3008217384184691,\n 2489682092917849,\n 2136263418594015,\n 1701968045454886,\n 2955512998822720,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1781187809325462,\n 1697624151492346,\n 1381393690939988,\n 175194132284669,\n 1483054666415238,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2175517777364616,\n 708781536456029,\n 955668231122942,\n 1967557500069555,\n 2021208005604118,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3366935780292116,\n 2476017186636029,\n 915967306279221,\n 593866251291540,\n 2813546907893254,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1443163092879439,\n 391875531646162,\n 2180847134654632,\n 464538543018753,\n 1594098196837178,\n ]),\n xy2d: FieldElement51::from_limbs([\n 850858855888869,\n 319436476624586,\n 327807784938441,\n 740785849558761,\n 17128415486016,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2132756334090048,\n 2788047633840893,\n 2300706964962114,\n 2860273011285942,\n 3513489358708031,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1525176236978354,\n 974205476721062,\n 293436255662638,\n 148269621098039,\n 137961998433963,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1121075518299410,\n 2071745529082111,\n 1265567917414828,\n 1648196578317805,\n 496232102750820,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2374121042985030,\n 3274721891178932,\n 2001275453369483,\n 2017441881607947,\n 3245005694463250,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 654925550560074,\n 1168810995576858,\n 575655959430926,\n 905758704861388,\n 496774564663534,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1954109525779738,\n 2117022646152485,\n 338102630417180,\n 1194140505732026,\n 107881734943492,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1714785840001267,\n 4288299832366837,\n 1876380234251965,\n 2056717182974196,\n 1645855254384642,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 106431476499341,\n 62482972120563,\n 1513446655109411,\n 807258751769522,\n 538491469114,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2002850762893643,\n 1243624520538135,\n 1486040410574605,\n 2184752338181213,\n 378495998083531,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 922510868424903,\n 1089502620807680,\n 402544072617374,\n 1131446598479839,\n 1290278588136533,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1867998812076769,\n 715425053580701,\n 39968586461416,\n 2173068014586163,\n 653822651801304,\n ]),\n xy2d: FieldElement51::from_limbs([\n 162892278589453,\n 182585796682149,\n 75093073137630,\n 497037941226502,\n 133871727117371,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4166396390264918,\n 1608999621851577,\n 1987629837704609,\n 1519655314857977,\n 1819193753409464,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1949315551096831,\n 1069003344994464,\n 1939165033499916,\n 1548227205730856,\n 1933767655861407,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1730519386931635,\n 1393284965610134,\n 1597143735726030,\n 416032382447158,\n 1429665248828629,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 360275475604546,\n 2799635544748326,\n 2467160717872776,\n 2848446553564254,\n 2584509464110332,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 47602113726801,\n 1522314509708010,\n 437706261372925,\n 814035330438027,\n 335930650933545,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1291597595523886,\n 1058020588994081,\n 402837842324045,\n 1363323695882781,\n 2105763393033193,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2361321796251793,\n 3967057562270386,\n 1112231216891515,\n 2046641005101484,\n 2386048970842261,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2156991030936798,\n 2227544497153325,\n 1869050094431622,\n 754875860479115,\n 1754242344267058,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1846089562873800,\n 98894784984326,\n 1412430299204844,\n 171351226625762,\n 1100604760929008,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2335972195815721,\n 2751510784385293,\n 425749630620777,\n 1762872794206857,\n 2864642415813208,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 868309334532756,\n 1703010512741873,\n 1952690008738057,\n 4325269926064,\n 2071083554962116,\n ]),\n xy2d: FieldElement51::from_limbs([\n 523094549451158,\n 401938899487815,\n 1407690589076010,\n 2022387426254453,\n 158660516411257,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 612867287630009,\n 2700012425789062,\n 2823428891104443,\n 1466796750919375,\n 1728478129663858,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1723848973783452,\n 2208822520534681,\n 1718748322776940,\n 1974268454121942,\n 1194212502258141,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1254114807944608,\n 977770684047110,\n 2010756238954993,\n 1783628927194099,\n 1525962994408256,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2484263871921055,\n 1948628555342433,\n 1835348780427694,\n 1031609499437291,\n 2316271920603621,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 767338676040683,\n 754089548318405,\n 1523192045639075,\n 435746025122062,\n 512692508440385,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1255955808701983,\n 1700487367990941,\n 1166401238800299,\n 1175121994891534,\n 1190934801395380,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2600943821853521,\n 1337012557669161,\n 1475912332999108,\n 3573418268585706,\n 2299411105589567,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 877519947135419,\n 2172838026132651,\n 272304391224129,\n 1655143327559984,\n 886229406429814,\n ]),\n xy2d: FieldElement51::from_limbs([\n 375806028254706,\n 214463229793940,\n 572906353144089,\n 572168269875638,\n 697556386112979,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1168827102357825,\n 823864273033637,\n 4323338565789945,\n 788062026895923,\n 2851378154428610,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1948116082078088,\n 2054898304487796,\n 2204939184983900,\n 210526805152138,\n 786593586607626,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1915320147894736,\n 156481169009469,\n 655050471180417,\n 592917090415421,\n 2165897438660879,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1726336468579724,\n 1119932070398949,\n 1929199510967666,\n 2285718602008207,\n 1836837863503149,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 829996854845988,\n 217061778005138,\n 1686565909803640,\n 1346948817219846,\n 1723823550730181,\n ]),\n xy2d: FieldElement51::from_limbs([\n 384301494966394,\n 687038900403062,\n 2211195391021739,\n 254684538421383,\n 1245698430589680,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1247567493562669,\n 4229981908141095,\n 2435671288478202,\n 806570235643434,\n 2540261331753164,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1449077384734201,\n 38285445457996,\n 2136537659177832,\n 2146493000841573,\n 725161151123125,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1201928866368855,\n 800415690605445,\n 1703146756828343,\n 997278587541744,\n 1858284414104014,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2608268623334125,\n 3034173730618399,\n 1718002439402869,\n 3644022065904502,\n 663171266061950,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 759628738230460,\n 1012693474275852,\n 353780233086498,\n 246080061387552,\n 2030378857679162,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2040672435071076,\n 888593182036908,\n 1298443657189359,\n 1804780278521327,\n 354070726137060,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1894938527423184,\n 3715012855162525,\n 2726210319182898,\n 2499094776718546,\n 877975941029127,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 207937160991127,\n 12966911039119,\n 820997788283092,\n 1010440472205286,\n 1701372890140810,\n ]),\n xy2d: FieldElement51::from_limbs([\n 218882774543183,\n 533427444716285,\n 1233243976733245,\n 435054256891319,\n 1509568989549904,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4140638349397055,\n 3303977572025869,\n 3465353617009382,\n 2420981822812579,\n 2715174081801119,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 299137589460312,\n 1594371588983567,\n 868058494039073,\n 257771590636681,\n 1805012993142921,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1806842755664364,\n 2098896946025095,\n 1356630998422878,\n 1458279806348064,\n 347755825962072,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1402334161391744,\n 3811883484731547,\n 1008585416617746,\n 1147797150908892,\n 1420416683642459,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 665506704253369,\n 273770475169863,\n 799236974202630,\n 848328990077558,\n 1811448782807931,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1468412523962641,\n 771866649897997,\n 1931766110147832,\n 799561180078482,\n 524837559150077,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2223212657821831,\n 2882216061048914,\n 2144451165500327,\n 3068710944633039,\n 3276150872095279,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1266603897524861,\n 156378408858100,\n 1275649024228779,\n 447738405888420,\n 253186462063095,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2022215964509735,\n 136144366993649,\n 1800716593296582,\n 1193970603800203,\n 871675847064218,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1862751661970309,\n 851596246739884,\n 1519315554814041,\n 3794598280232697,\n 3669775149586767,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1228168094547481,\n 334133883362894,\n 587567568420081,\n 433612590281181,\n 603390400373205,\n ]),\n xy2d: FieldElement51::from_limbs([\n 121893973206505,\n 1843345804916664,\n 1703118377384911,\n 497810164760654,\n 101150811654673,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2710146069631716,\n 2542709749304591,\n 1452768413850678,\n 2802722688939463,\n 1537286854336537,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 584322311184395,\n 380661238802118,\n 114839394528060,\n 655082270500073,\n 2111856026034852,\n ]),\n xy2d: FieldElement51::from_limbs([\n 996965581008991,\n 2148998626477022,\n 1012273164934654,\n 1073876063914522,\n 1688031788934939,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3175286832534829,\n 2085106799623354,\n 2779882615305384,\n 1606206360876187,\n 2987706905397772,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1697697887804317,\n 1335343703828273,\n 831288615207040,\n 949416685250051,\n 288760277392022,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1419122478109648,\n 1325574567803701,\n 602393874111094,\n 2107893372601700,\n 1314159682671307,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2201150872731785,\n 2180241023425241,\n 2349463270108411,\n 1633405770247823,\n 3100744856129234,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1173339555550611,\n 818605084277583,\n 47521504364289,\n 924108720564965,\n 735423405754506,\n ]),\n xy2d: FieldElement51::from_limbs([\n 830104860549448,\n 1886653193241086,\n 1600929509383773,\n 1475051275443631,\n 286679780900937,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3828911108518224,\n 3282698983453994,\n 2396700729978777,\n 4216472406664814,\n 2820189914640497,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 278388655910247,\n 487143369099838,\n 927762205508727,\n 181017540174210,\n 1616886700741287,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1191033906638969,\n 940823957346562,\n 1606870843663445,\n 861684761499847,\n 658674867251089,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1875032594195527,\n 1427106132796197,\n 2976536204647406,\n 3153660325729987,\n 2887068310954007,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 622869792298357,\n 1903919278950367,\n 1922588621661629,\n 1520574711600434,\n 1087100760174640,\n ]),\n xy2d: FieldElement51::from_limbs([\n 25465949416618,\n 1693639527318811,\n 1526153382657203,\n 125943137857169,\n 145276964043999,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2466539671654587,\n 920212862967914,\n 4191701364657517,\n 3463662605460468,\n 2336897329405367,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2006245852772938,\n 734762734836159,\n 254642929763427,\n 1406213292755966,\n 239303749517686,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1619678837192149,\n 1919424032779215,\n 1357391272956794,\n 1525634040073113,\n 1310226789796241,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3292563523447371,\n 1704449869235351,\n 2857062884141577,\n 1998838089036354,\n 1312142911487502,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1996723311435669,\n 1844342766567060,\n 985455700466044,\n 1165924681400960,\n 311508689870129,\n ]),\n xy2d: FieldElement51::from_limbs([\n 43173156290518,\n 2202883069785309,\n 1137787467085917,\n 1733636061944606,\n 1394992037553852,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 670078326344559,\n 2807454838744604,\n 2723759199967685,\n 2141455487356408,\n 849015953823125,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2197214573372804,\n 794254097241315,\n 1030190060513737,\n 267632515541902,\n 2040478049202624,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1812516004670529,\n 1609256702920783,\n 1706897079364493,\n 258549904773295,\n 996051247540686,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1540374301420565,\n 1764656898914615,\n 1810104162020396,\n 3175608592848336,\n 2916189887881826,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1323460699404750,\n 1262690757880991,\n 871777133477900,\n 1060078894988977,\n 1712236889662886,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1696163952057966,\n 1391710137550823,\n 608793846867416,\n 1034391509472039,\n 1780770894075012,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1367603834210822,\n 4383788460268472,\n 890353773628143,\n 1908908219165595,\n 2522636708938139,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 597536315471731,\n 40375058742586,\n 1942256403956049,\n 1185484645495932,\n 312666282024145,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1919411405316294,\n 1234508526402192,\n 1066863051997083,\n 1008444703737597,\n 1348810787701552,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2102881477513865,\n 3822074379630609,\n 1573617900503707,\n 2270462449417831,\n 2232324307922097,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1853931367696942,\n 8107973870707,\n 350214504129299,\n 775206934582587,\n 1752317649166792,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1417148368003523,\n 721357181628282,\n 505725498207811,\n 373232277872983,\n 261634707184480,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2186733281493248,\n 2250694917008620,\n 1014829812957440,\n 2731797975137637,\n 2335366007561721,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1268116367301224,\n 560157088142809,\n 802626839600444,\n 2210189936605713,\n 1129993785579988,\n ]),\n xy2d: FieldElement51::from_limbs([\n 615183387352312,\n 917611676109240,\n 878893615973325,\n 978940963313282,\n 938686890583575,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 522024729211672,\n 3296859129001056,\n 1892245413707789,\n 1907891107684253,\n 2059998109500714,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1799679152208884,\n 912132775900387,\n 25967768040979,\n 432130448590461,\n 274568990261996,\n ]),\n xy2d: FieldElement51::from_limbs([\n 98698809797682,\n 2144627600856209,\n 1907959298569602,\n 811491302610148,\n 1262481774981493,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1791451399743152,\n 1713538728337276,\n 2370149810942738,\n 1882306388849953,\n 158235232210248,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1217809823321928,\n 2173947284933160,\n 1986927836272325,\n 1388114931125539,\n 12686131160169,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1650875518872272,\n 1136263858253897,\n 1732115601395988,\n 734312880662190,\n 1252904681142109,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2624786269799113,\n 2777230729143418,\n 2116279931702134,\n 2753222527273063,\n 1907002872974924,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 803147181835288,\n 868941437997146,\n 316299302989663,\n 943495589630550,\n 571224287904572,\n ]),\n xy2d: FieldElement51::from_limbs([\n 227742695588364,\n 1776969298667369,\n 628602552821802,\n 457210915378118,\n 2041906378111140,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 815000523470260,\n 3164885502413555,\n 3303859931956420,\n 1345536665214222,\n 541623413135555,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1580216071604333,\n 1877997504342444,\n 857147161260913,\n 703522726778478,\n 2182763974211603,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1870080310923419,\n 71988220958492,\n 1783225432016732,\n 615915287105016,\n 1035570475990230,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2982787564515398,\n 857613889540279,\n 1083813157271766,\n 1002817255970169,\n 1719228484436074,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 377616581647602,\n 1581980403078513,\n 804044118130621,\n 2034382823044191,\n 643844048472185,\n ]),\n xy2d: FieldElement51::from_limbs([\n 176957326463017,\n 1573744060478586,\n 528642225008045,\n 1816109618372371,\n 1515140189765006,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1888911448245718,\n 3638910709296328,\n 4176303607751676,\n 1731539523700948,\n 2230378382645454,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 443392177002051,\n 233793396845137,\n 2199506622312416,\n 1011858706515937,\n 974676837063129,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1846351103143623,\n 1949984838808427,\n 671247021915253,\n 1946756846184401,\n 1929296930380217,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 849646212451983,\n 1410198775302919,\n 2325567699868943,\n 1641663456615811,\n 3014056086137659,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 692017667358279,\n 723305578826727,\n 1638042139863265,\n 748219305990306,\n 334589200523901,\n ]),\n xy2d: FieldElement51::from_limbs([\n 22893968530686,\n 2235758574399251,\n 1661465835630252,\n 925707319443452,\n 1203475116966621,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3053098849470395,\n 3985092410411378,\n 1664508947088595,\n 2719548934677170,\n 3899298398220870,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 903105258014366,\n 427141894933047,\n 561187017169777,\n 1884330244401954,\n 1914145708422219,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1344191060517578,\n 1960935031767890,\n 1518838929955259,\n 1781502350597190,\n 1564784025565682,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2925523165433334,\n 1979969272514922,\n 3427087126180756,\n 1187589090978665,\n 1881897672213940,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1917185587363432,\n 1098342571752737,\n 5935801044414,\n 2000527662351839,\n 1538640296181569,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2495540013192,\n 678856913479236,\n 224998292422872,\n 219635787698590,\n 1972465269000940,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 271413961212179,\n 3604851875156899,\n 2596511104968730,\n 2014925838520661,\n 2006221033113941,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 194583029968109,\n 514316781467765,\n 829677956235672,\n 1676415686873082,\n 810104584395840,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1980510813313589,\n 1948645276483975,\n 152063780665900,\n 129968026417582,\n 256984195613935,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1860190562533083,\n 1936576191345085,\n 2712900106391212,\n 1811043097042829,\n 3209286562992083,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 796664815624365,\n 1543160838872951,\n 1500897791837765,\n 1667315977988401,\n 599303877030711,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1151480509533204,\n 2136010406720455,\n 738796060240027,\n 319298003765044,\n 1150614464349587,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1731069268103131,\n 2987442261301335,\n 1364750481334267,\n 2669032653668119,\n 3178908082812908,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1017222050227968,\n 1987716148359,\n 2234319589635701,\n 621282683093392,\n 2132553131763026,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1567828528453324,\n 1017807205202360,\n 565295260895298,\n 829541698429100,\n 307243822276582,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 249079270936229,\n 1501514259790706,\n 3199709537890096,\n 944551802437486,\n 2804458577667728,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2089966982947227,\n 1854140343916181,\n 2151980759220007,\n 2139781292261749,\n 158070445864917,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1338766321464554,\n 1906702607371284,\n 1519569445519894,\n 115384726262267,\n 1393058953390992,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3616421371950629,\n 3764188048593604,\n 1926731583198685,\n 2041482526432505,\n 3172200936019022,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1884844597333588,\n 601480070269079,\n 620203503079537,\n 1079527400117915,\n 1202076693132015,\n ]),\n xy2d: FieldElement51::from_limbs([\n 840922919763324,\n 727955812569642,\n 1303406629750194,\n 522898432152867,\n 294161410441865,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2605560604520539,\n 1598361541848742,\n 3374705511887547,\n 4174333403844152,\n 2670907514351827,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 359856369838236,\n 180914355488683,\n 861726472646627,\n 218807937262986,\n 575626773232501,\n ]),\n xy2d: FieldElement51::from_limbs([\n 755467689082474,\n 909202735047934,\n 730078068932500,\n 936309075711518,\n 2007798262842972,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1609384177904054,\n 2614544999293875,\n 1335318541768200,\n 3052765584121496,\n 2799677792952659,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 984339177776787,\n 815727786505884,\n 1645154585713747,\n 1659074964378553,\n 1686601651984156,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1697863093781930,\n 599794399429786,\n 1104556219769607,\n 830560774794755,\n 12812858601017,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1168737550514982,\n 897832437380552,\n 463140296333799,\n 2554364413707795,\n 2008360505135500,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1856930662813910,\n 678090852002597,\n 1920179140755167,\n 1259527833759868,\n 55540971895511,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1158643631044921,\n 476554103621892,\n 178447851439725,\n 1305025542653569,\n 103433927680625,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2176793111709008,\n 3828525530035639,\n 2009350167273522,\n 2012390194631546,\n 2125297410909580,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 825403285195098,\n 2144208587560784,\n 1925552004644643,\n 1915177840006985,\n 1015952128947864,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1807108316634472,\n 1534392066433717,\n 347342975407218,\n 1153820745616376,\n 7375003497471,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3234860815484973,\n 2683011703586488,\n 2201903782961092,\n 3069193724749589,\n 2214616493042166,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 228567918409756,\n 865093958780220,\n 358083886450556,\n 159617889659320,\n 1360637926292598,\n ]),\n xy2d: FieldElement51::from_limbs([\n 234147501399755,\n 2229469128637390,\n 2175289352258889,\n 1397401514549353,\n 1885288963089922,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3363562226636810,\n 2504649386192636,\n 3300514047508588,\n 2397910909286693,\n 1237505378776769,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1113790697840279,\n 1051167139966244,\n 1045930658550944,\n 2011366241542643,\n 1686166824620755,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1054097349305049,\n 1872495070333352,\n 182121071220717,\n 1064378906787311,\n 100273572924182,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3558210666856834,\n 1627717417672446,\n 2302783034773665,\n 1109249951172249,\n 3122001602766640,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 104233794644221,\n 1548919791188248,\n 2224541913267306,\n 2054909377116478,\n 1043803389015153,\n ]),\n xy2d: FieldElement51::from_limbs([\n 216762189468802,\n 707284285441622,\n 190678557969733,\n 973969342604308,\n 1403009538434867,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3530824104723725,\n 2596576648903557,\n 2525521909702446,\n 4086000250496689,\n 634517197663803,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 343805853118335,\n 1302216857414201,\n 566872543223541,\n 2051138939539004,\n 321428858384280,\n ]),\n xy2d: FieldElement51::from_limbs([\n 470067171324852,\n 1618629234173951,\n 2000092177515639,\n 7307679772789,\n 1117521120249968,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2529951391976704,\n 1810282338562946,\n 1771599529530998,\n 3635459223356879,\n 2937173228157088,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 577009397403102,\n 1791440261786291,\n 2177643735971638,\n 174546149911960,\n 1412505077782326,\n ]),\n xy2d: FieldElement51::from_limbs([\n 893719721537457,\n 1201282458018197,\n 1522349501711173,\n 58011597740583,\n 1130406465887139,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 412607348255434,\n 1280455764199780,\n 2233277987330768,\n 2265979894086913,\n 2583384512102412,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 262483770854550,\n 990511055108216,\n 526885552771698,\n 571664396646158,\n 354086190278723,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1820352417585487,\n 24495617171480,\n 1547899057533253,\n 10041836186225,\n 480457105094042,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2023310314989233,\n 2889705151211129,\n 2106474638900686,\n 2809620524769320,\n 1687858215057825,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1144168702609745,\n 604444390410187,\n 1544541121756138,\n 1925315550126027,\n 626401428894002,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1922168257351784,\n 2018674099908659,\n 1776454117494445,\n 956539191509034,\n 36031129147635,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2796444352433270,\n 1039872944430373,\n 3128550222815858,\n 2962457525011798,\n 3468752501170219,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 58242421545916,\n 2035812695641843,\n 2118491866122923,\n 1191684463816273,\n 46921517454099,\n ]),\n xy2d: FieldElement51::from_limbs([\n 272268252444639,\n 1374166457774292,\n 2230115177009552,\n 1053149803909880,\n 1354288411641016,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1857910905368338,\n 1754729879288912,\n 3137745277795125,\n 1516096106802165,\n 1602902393369811,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1193437069800958,\n 901107149704790,\n 999672920611411,\n 477584824802207,\n 364239578697845,\n ]),\n xy2d: FieldElement51::from_limbs([\n 886299989548838,\n 1538292895758047,\n 1590564179491896,\n 1944527126709657,\n 837344427345298,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3006358179063534,\n 1712186480903617,\n 3955456640022779,\n 3002110732175033,\n 2770795853936147,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1309847803895382,\n 1462151862813074,\n 211370866671570,\n 1544595152703681,\n 1027691798954090,\n ]),\n xy2d: FieldElement51::from_limbs([\n 803217563745370,\n 1884799722343599,\n 1357706345069218,\n 2244955901722095,\n 730869460037413,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2941099284981214,\n 1831210565161070,\n 3626987155270686,\n 3358084791231418,\n 1893781834054268,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 696351368613042,\n 1494385251239250,\n 738037133616932,\n 636385507851544,\n 927483222611406,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1949114198209333,\n 1104419699537997,\n 783495707664463,\n 1747473107602770,\n 2002634765788641,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1607325776830197,\n 2782683755100581,\n 1451089452727894,\n 3833490970768671,\n 496100432831153,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1068900648804224,\n 2006891997072550,\n 1134049269345549,\n 1638760646180091,\n 2055396084625778,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2222475519314561,\n 1870703901472013,\n 1884051508440561,\n 1344072275216753,\n 1318025677799069,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 155711679280637,\n 681100400509288,\n 389811735211209,\n 2135723811340709,\n 2660533024889373,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 7813206966729,\n 194444201427550,\n 2071405409526507,\n 1065605076176312,\n 1645486789731291,\n ]),\n xy2d: FieldElement51::from_limbs([\n 16625790644959,\n 1647648827778410,\n 1579910185572704,\n 436452271048548,\n 121070048451050,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3289062842237779,\n 2820185594063076,\n 2549752917829677,\n 3810384325616458,\n 2238221839292470,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 190565267697443,\n 672855706028058,\n 338796554369226,\n 337687268493904,\n 853246848691734,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1763863028400139,\n 766498079432444,\n 1321118624818005,\n 69494294452268,\n 858786744165651,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3543856582248253,\n 1456632109855637,\n 3352431060735432,\n 1386133165675320,\n 3484698163879000,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 366253102478259,\n 525676242508811,\n 1449610995265438,\n 1183300845322183,\n 185960306491545,\n ]),\n xy2d: FieldElement51::from_limbs([\n 28315355815982,\n 460422265558930,\n 1799675876678724,\n 1969256312504498,\n 1051823843138725,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2408714813047231,\n 3857948219405196,\n 1665208410108429,\n 2569443092377519,\n 1383783705665319,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 54684536365732,\n 2210010038536222,\n 1194984798155308,\n 535239027773705,\n 1516355079301361,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1484387703771650,\n 198537510937949,\n 2186282186359116,\n 617687444857508,\n 647477376402122,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2147715541830533,\n 2751832352131065,\n 2898179830570073,\n 2604027669016369,\n 1488268620408051,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 159386186465542,\n 1877626593362941,\n 618737197060512,\n 1026674284330807,\n 1158121760792685,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1744544377739822,\n 1964054180355661,\n 1685781755873170,\n 2169740670377448,\n 1286112621104591,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2333777063470241,\n 3919742931398333,\n 3920783633320113,\n 1605016835177614,\n 1353960708075544,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1602253788689063,\n 439542044889886,\n 2220348297664483,\n 657877410752869,\n 157451572512238,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1029287186166717,\n 65860128430192,\n 525298368814832,\n 1491902500801986,\n 1461064796385400,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2660016802414475,\n 2121095722306988,\n 913562102267595,\n 1879708920318308,\n 2492861262121979,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1185483484383269,\n 1356339572588553,\n 584932367316448,\n 102132779946470,\n 1792922621116791,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1966196870701923,\n 2230044620318636,\n 1425982460745905,\n 261167817826569,\n 46517743394330,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2358877405280588,\n 3136759755857592,\n 2279106683482647,\n 2224911448949389,\n 3216151871930471,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1730194207717538,\n 431790042319772,\n 1831515233279467,\n 1372080552768581,\n 1074513929381760,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1450880638731607,\n 1019861580989005,\n 1229729455116861,\n 1174945729836143,\n 826083146840706,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1899935429242705,\n 1602068751520477,\n 940583196550370,\n 2334230882739107,\n 1540863155745695,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2136688454840028,\n 2099509000964294,\n 1690800495246475,\n 1217643678575476,\n 828720645084218,\n ]),\n xy2d: FieldElement51::from_limbs([\n 765548025667841,\n 462473984016099,\n 998061409979798,\n 546353034089527,\n 2212508972466858,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2298375097456408,\n 3144370785258318,\n 1281983193144089,\n 1491520128287375,\n 75847005908304,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1801436127943107,\n 1734436817907890,\n 1268728090345068,\n 167003097070711,\n 2233597765834956,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1997562060465113,\n 1048700225534011,\n 7615603985628,\n 1855310849546841,\n 2242557647635213,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1161017320376250,\n 2744424393854291,\n 2169815802355236,\n 3228296595417790,\n 1770879511019628,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1357044908364776,\n 729130645262438,\n 1762469072918979,\n 1365633616878458,\n 181282906404941,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1080413443139865,\n 1155205815510486,\n 1848782073549786,\n 622566975152580,\n 124965574467971,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1184526762066993,\n 247622751762817,\n 2943928830891604,\n 3071818503097743,\n 2188697339828084,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2020536369003019,\n 202261491735136,\n 1053169669150884,\n 2056531979272544,\n 778165514694311,\n ]),\n xy2d: FieldElement51::from_limbs([\n 237404399610207,\n 1308324858405118,\n 1229680749538400,\n 720131409105291,\n 1958958863624906,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2767383321724075,\n 2269456792542436,\n 1717918437373988,\n 1568052070792483,\n 2298775616809171,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 281527309158085,\n 36970532401524,\n 866906920877543,\n 2222282602952734,\n 1289598729589882,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1278207464902042,\n 494742455008756,\n 1262082121427081,\n 1577236621659884,\n 1888786707293291,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 353042527954210,\n 1830056151907359,\n 1111731275799225,\n 2426760769524072,\n 404312815582674,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2064251142068628,\n 1666421603389706,\n 1419271365315441,\n 468767774902855,\n 191535130366583,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1716987058588002,\n 1859366439773457,\n 1767194234188234,\n 64476199777924,\n 1117233614485261,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3236091949205521,\n 2386938060636506,\n 2220652137473166,\n 1722843421165029,\n 2442282371698157,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 298845952651262,\n 1166086588952562,\n 1179896526238434,\n 1347812759398693,\n 1412945390096208,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1143239552672925,\n 906436640714209,\n 2177000572812152,\n 2075299936108548,\n 325186347798433,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2972824668060020,\n 2936287674948563,\n 3625238557779406,\n 2193186935276994,\n 1387043709851261,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 418098668140962,\n 715065997721283,\n 1471916138376055,\n 2168570337288357,\n 937812682637044,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1043584187226485,\n 2143395746619356,\n 2209558562919611,\n 482427979307092,\n 847556718384018,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1248731221520740,\n 1465200936117687,\n 2792603306395388,\n 2304778448366139,\n 2513234303861356,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1057329623869501,\n 620334067429122,\n 461700859268034,\n 2012481616501857,\n 297268569108938,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1055352180870759,\n 1553151421852298,\n 1510903185371259,\n 1470458349428097,\n 1226259419062731,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3744788603986897,\n 3042126439258578,\n 3441906842094992,\n 3641194565844440,\n 3872208010289441,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 47000654413729,\n 1004754424173864,\n 1868044813557703,\n 173236934059409,\n 588771199737015,\n ]),\n xy2d: FieldElement51::from_limbs([\n 30498470091663,\n 1082245510489825,\n 576771653181956,\n 806509986132686,\n 1317634017056939,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2672107869436803,\n 3745154677001249,\n 2417006535213335,\n 4136645508605033,\n 2065456951573058,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1115636332012334,\n 1854340990964155,\n 83792697369514,\n 1972177451994021,\n 457455116057587,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1698968457310898,\n 1435137169051090,\n 1083661677032510,\n 938363267483709,\n 340103887207182,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1995325341336555,\n 911500251774648,\n 2415810569088940,\n 855378419194761,\n 3825401211214090,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 241719380661528,\n 310028521317150,\n 1215881323380194,\n 1408214976493624,\n 2141142156467363,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1315157046163473,\n 727368447885818,\n 1363466668108618,\n 1668921439990361,\n 1398483384337907,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2326829491984875,\n 3267188020145720,\n 1849729037055211,\n 4191614430138232,\n 2696204044080201,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2053597130993710,\n 2024431685856332,\n 2233550957004860,\n 2012407275509545,\n 872546993104440,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1217269667678610,\n 599909351968693,\n 1390077048548598,\n 1471879360694802,\n 739586172317596,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3970118453066023,\n 1560510726633957,\n 3156262694845170,\n 1418028351780051,\n 2346204163137185,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2132502667405250,\n 214379346175414,\n 1502748313768060,\n 1960071701057800,\n 1353971822643138,\n ]),\n xy2d: FieldElement51::from_limbs([\n 319394212043702,\n 2127459436033571,\n 717646691535162,\n 663366796076914,\n 318459064945314,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2657789238608841,\n 1960452633787082,\n 2919148848086913,\n 3744474074452359,\n 1451061489880786,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 947085906234007,\n 323284730494107,\n 1485778563977200,\n 728576821512394,\n 901584347702286,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1575783124125742,\n 2126210792434375,\n 1569430791264065,\n 1402582372904727,\n 1891780248341114,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3090232019245924,\n 4249503325136911,\n 3270591693593114,\n 1662001808174330,\n 2330127946643001,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 739152638255629,\n 2074935399403557,\n 505483666745895,\n 1611883356514088,\n 628654635394878,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1822054032121349,\n 643057948186973,\n 7306757352712,\n 577249257962099,\n 284735863382083,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3618358370049178,\n 1448606567552085,\n 3730680834630016,\n 2417602993041145,\n 1115718458123497,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 204146226972102,\n 1630511199034723,\n 2215235214174763,\n 174665910283542,\n 956127674017216,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1562934578796716,\n 1070893489712745,\n 11324610642270,\n 958989751581897,\n 2172552325473805,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1770564423056008,\n 2987323445349813,\n 1326060113795288,\n 1509650369341127,\n 2317692235267932,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 623682558650637,\n 1337866509471512,\n 990313350206649,\n 1314236615762469,\n 1164772974270275,\n ]),\n xy2d: FieldElement51::from_limbs([\n 223256821462517,\n 723690150104139,\n 1000261663630601,\n 933280913953265,\n 254872671543046,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1969087237026022,\n 2876595539132372,\n 1335555107635968,\n 2069986355593023,\n 3963899963027150,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1236103475266979,\n 1837885883267218,\n 1026072585230455,\n 1025865513954973,\n 1801964901432134,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1115241013365517,\n 1712251818829143,\n 2148864332502771,\n 2096001471438138,\n 2235017246626125,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3551068012286861,\n 2047148477845620,\n 2165648650132450,\n 1612539282026145,\n 2765997725314138,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 118352772338543,\n 1067608711804704,\n 1434796676193498,\n 1683240170548391,\n 230866769907437,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1850689576796636,\n 1601590730430274,\n 1139674615958142,\n 1954384401440257,\n 76039205311,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1723387471374172,\n 3249101280723658,\n 2785727448808904,\n 2272728458379212,\n 1756575222802512,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2146711623855116,\n 503278928021499,\n 625853062251406,\n 1109121378393107,\n 1033853809911861,\n ]),\n xy2d: FieldElement51::from_limbs([\n 571005965509422,\n 2005213373292546,\n 1016697270349626,\n 56607856974274,\n 914438579435146,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1346698876211176,\n 2076651707527589,\n 3336561384795453,\n 2517134292513653,\n 1068954492309670,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1769967932677654,\n 1695893319756416,\n 1151863389675920,\n 1781042784397689,\n 400287774418285,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1851867764003121,\n 403841933237558,\n 820549523771987,\n 761292590207581,\n 1743735048551143,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 410915148140008,\n 2107072311871739,\n 3256167275561751,\n 2351484709082008,\n 1180818713503223,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 285945406881439,\n 648174397347453,\n 1098403762631981,\n 1366547441102991,\n 1505876883139217,\n ]),\n xy2d: FieldElement51::from_limbs([\n 672095903120153,\n 1675918957959872,\n 636236529315028,\n 1569297300327696,\n 2164144194785875,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1902708175321798,\n 3287143344600686,\n 1178560808893262,\n 2552895497743394,\n 1280977479761117,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1615357281742403,\n 404257611616381,\n 2160201349780978,\n 1160947379188955,\n 1578038619549541,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2013087639791217,\n 822734930507457,\n 1785668418619014,\n 1668650702946164,\n 389450875221715,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2705718263383616,\n 2358206633614248,\n 2072540975937134,\n 308588860670238,\n 1304394580755385,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1295082798350326,\n 2091844511495996,\n 1851348972587817,\n 3375039684596,\n 789440738712837,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2083069137186154,\n 848523102004566,\n 993982213589257,\n 1405313299916317,\n 1532824818698468,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3747761112537659,\n 1397203457344778,\n 4026750030752190,\n 2391102557240943,\n 2318403398028034,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1782411379088302,\n 1096724939964781,\n 27593390721418,\n 542241850291353,\n 1540337798439873,\n ]),\n xy2d: FieldElement51::from_limbs([\n 693543956581437,\n 171507720360750,\n 1557908942697227,\n 1074697073443438,\n 1104093109037196,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 345288228393400,\n 3351443383432420,\n 2386681722088990,\n 1740551994106739,\n 2500011992985018,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 231429562203065,\n 1526290236421172,\n 2021375064026423,\n 1520954495658041,\n 806337791525116,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1079623667189886,\n 872403650198613,\n 766894200588288,\n 2163700860774109,\n 2023464507911816,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 854645372543796,\n 1936406001954827,\n 2403260476226501,\n 3077125552956802,\n 1554306377287555,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1497138821904622,\n 1044820250515590,\n 1742593886423484,\n 1237204112746837,\n 849047450816987,\n ]),\n xy2d: FieldElement51::from_limbs([\n 667962773375330,\n 1897271816877105,\n 1399712621683474,\n 1143302161683099,\n 2081798441209593,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2378947665252234,\n 1936114012888109,\n 1704424366552046,\n 3108474694401560,\n 2968403435020606,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1072409664800960,\n 2146937497077528,\n 1508780108920651,\n 935767602384853,\n 1112800433544068,\n ]),\n xy2d: FieldElement51::from_limbs([\n 333549023751292,\n 280219272863308,\n 2104176666454852,\n 1036466864875785,\n 536135186520207,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2625466093568366,\n 2398257055215356,\n 2555916080813104,\n 2667888562832962,\n 3510376944868638,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1186115062588401,\n 2251609796968486,\n 1098944457878953,\n 1153112761201374,\n 1791625503417267,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1870078460219737,\n 2129630962183380,\n 852283639691142,\n 292865602592851,\n 401904317342226,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1361070124828016,\n 815664541425524,\n 3278598711049919,\n 1951790935390646,\n 2807674705520038,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1546301003424277,\n 459094500062839,\n 1097668518375311,\n 1780297770129643,\n 720763293687608,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1212405311403990,\n 1536693382542438,\n 61028431067459,\n 1863929423417129,\n 1223219538638038,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1294303766540260,\n 3435357279640341,\n 3134071170918340,\n 2315654383110622,\n 2213283684565086,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 339050984211414,\n 601386726509773,\n 413735232134068,\n 966191255137228,\n 1839475899458159,\n ]),\n xy2d: FieldElement51::from_limbs([\n 235605972169408,\n 2174055643032978,\n 1538335001838863,\n 1281866796917192,\n 1815940222628465,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1632352921721536,\n 1833328609514701,\n 2092779091951987,\n 4175756015558474,\n 2210068022482918,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 35271216625062,\n 1712350667021807,\n 983664255668860,\n 98571260373038,\n 1232645608559836,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1998172393429622,\n 1798947921427073,\n 784387737563581,\n 1589352214827263,\n 1589861734168180,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1733739258725305,\n 2283515530744786,\n 2453769758904107,\n 3243892858242237,\n 1194308773174555,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 846415389605137,\n 746163495539180,\n 829658752826080,\n 592067705956946,\n 957242537821393,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1758148849754419,\n 619249044817679,\n 168089007997045,\n 1371497636330523,\n 1867101418880350,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2578433797894864,\n 2513559319756263,\n 1700682323676192,\n 1577907266349064,\n 3469447477068264,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1714182387328607,\n 1477856482074168,\n 574895689942184,\n 2159118410227270,\n 1555532449716575,\n ]),\n xy2d: FieldElement51::from_limbs([\n 853828206885131,\n 998498946036955,\n 1835887550391235,\n 207627336608048,\n 258363815956050,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2392941288336925,\n 3488528558590503,\n 2894901233585134,\n 1646615130509172,\n 1208239602291765,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1501663228068911,\n 1354879465566912,\n 1444432675498247,\n 897812463852601,\n 855062598754348,\n ]),\n xy2d: FieldElement51::from_limbs([\n 714380763546606,\n 1032824444965790,\n 1774073483745338,\n 1063840874947367,\n 1738680636537158,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1640635546696233,\n 2884968766877360,\n 2212651044092395,\n 2282390772269100,\n 2620315074574625,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1171650314802029,\n 1567085444565577,\n 1453660792008405,\n 757914533009261,\n 1619511342778196,\n ]),\n xy2d: FieldElement51::from_limbs([\n 420958967093237,\n 971103481109486,\n 2169549185607107,\n 1301191633558497,\n 1661514101014240,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3158923465503550,\n 1332556122804145,\n 4075855067109735,\n 3619414031128206,\n 1982558335973171,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1121533090144639,\n 1021251337022187,\n 110469995947421,\n 1511059774758394,\n 2110035908131662,\n ]),\n xy2d: FieldElement51::from_limbs([\n 303213233384524,\n 2061932261128138,\n 352862124777736,\n 40828818670255,\n 249879468482660,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 856559257852200,\n 2760317478634258,\n 3629993581580163,\n 3975258940632376,\n 1962275756614520,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1445691340537320,\n 40614383122127,\n 402104303144865,\n 485134269878232,\n 1659439323587426,\n ]),\n xy2d: FieldElement51::from_limbs([\n 20057458979482,\n 1183363722525800,\n 2140003847237215,\n 2053873950687614,\n 2112017736174909,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2228654250927986,\n 3735391177100515,\n 1368661293910955,\n 3328311098862539,\n 526650682059607,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 709481497028540,\n 531682216165724,\n 316963769431931,\n 1814315888453765,\n 258560242424104,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1053447823660455,\n 1955135194248683,\n 1010900954918985,\n 1182614026976701,\n 1240051576966610,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1957943897155478,\n 1788667368028035,\n 2389492723714354,\n 2252839333292309,\n 3078204576998275,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1848942433095597,\n 1582009882530495,\n 1849292741020143,\n 1068498323302788,\n 2001402229799484,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1528282417624269,\n 2142492439828191,\n 2179662545816034,\n 362568973150328,\n 1591374675250271,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2411826493119617,\n 2484141002903963,\n 2149181472355544,\n 598041771119831,\n 2435658815595421,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2013278155187349,\n 662660471354454,\n 793981225706267,\n 411706605985744,\n 804490933124791,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2051892037280204,\n 488391251096321,\n 2230187337030708,\n 930221970662692,\n 679002758255210,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1530723630438670,\n 875873929577927,\n 2593359947955236,\n 2701702933216000,\n 1055551308214178,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1461835919309432,\n 1955256480136428,\n 180866187813063,\n 1551979252664528,\n 557743861963950,\n ]),\n xy2d: FieldElement51::from_limbs([\n 359179641731115,\n 1324915145732949,\n 902828372691474,\n 294254275669987,\n 1887036027752957,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4295071423139571,\n 2038225437857463,\n 1317528426475850,\n 1398989128982787,\n 2027639881006861,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2072902725256516,\n 312132452743412,\n 309930885642209,\n 996244312618453,\n 1590501300352303,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1397254305160710,\n 695734355138021,\n 2233992044438756,\n 1776180593969996,\n 1085588199351115,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2692366865016258,\n 2506694600041928,\n 2745669038615469,\n 1556322069683365,\n 3819256354004466,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1950722461391320,\n 1907845598854797,\n 1822757481635527,\n 2121567704750244,\n 73811931471221,\n ]),\n xy2d: FieldElement51::from_limbs([\n 387139307395758,\n 2058036430315676,\n 1220915649965325,\n 1794832055328951,\n 1230009312169328,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1765973779329498,\n 2911143873132225,\n 2271621715291913,\n 3553728154996461,\n 3368065817761132,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1127572801181483,\n 1224743760571696,\n 1276219889847274,\n 1529738721702581,\n 1589819666871853,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2181229378964934,\n 2190885205260020,\n 1511536077659137,\n 1246504208580490,\n 668883326494241,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2689666469258543,\n 2920826224880015,\n 2333696811665585,\n 523874406393177,\n 2496851874620484,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1975438052228868,\n 1071801519999806,\n 594652299224319,\n 1877697652668809,\n 1489635366987285,\n ]),\n xy2d: FieldElement51::from_limbs([\n 958592545673770,\n 233048016518599,\n 851568750216589,\n 567703851596087,\n 1740300006094761,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2014540178270324,\n 192672779514432,\n 2465676996326778,\n 2194819933853410,\n 1716422829364835,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1540769606609725,\n 2148289943846077,\n 1597804156127445,\n 1230603716683868,\n 815423458809453,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1738560251245018,\n 1779576754536888,\n 1783765347671392,\n 1880170990446751,\n 1088225159617541,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2911103727614740,\n 1956447718227572,\n 1830568515922666,\n 3092868863429656,\n 1669607124206367,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1143465490433355,\n 1532194726196059,\n 1093276745494697,\n 481041706116088,\n 2121405433561163,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1686424298744462,\n 1451806974487153,\n 266296068846582,\n 1834686947542675,\n 1720762336132256,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3141016840074207,\n 3295090436969907,\n 3107924901237156,\n 1669272323124635,\n 1603340330827879,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1206396181488998,\n 333158148435054,\n 1402633492821422,\n 1120091191722026,\n 1945474114550509,\n ]),\n xy2d: FieldElement51::from_limbs([\n 766720088232571,\n 1512222781191002,\n 1189719893490790,\n 2091302129467914,\n 2141418006894941,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2671463460991841,\n 1998875112167986,\n 3678399683938955,\n 3406728169064757,\n 2738338345823434,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 938160078005954,\n 1421776319053174,\n 1941643234741774,\n 180002183320818,\n 1414380336750546,\n ]),\n xy2d: FieldElement51::from_limbs([\n 398001940109652,\n 1577721237663248,\n 1012748649830402,\n 1540516006905144,\n 1011684812884559,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1653276489969611,\n 2257881638852872,\n 1921777941170835,\n 1604139841794531,\n 3113010867325889,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 996661541407379,\n 1455877387952927,\n 744312806857277,\n 139213896196746,\n 1000282908547789,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1450817495603008,\n 1476865707053229,\n 1030490562252053,\n 620966950353376,\n 1744760161539058,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2811528223687828,\n 2288856475326432,\n 2038622963352005,\n 1637244893271723,\n 3278365165924196,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 962165956135846,\n 1116599660248791,\n 182090178006815,\n 1455605467021751,\n 196053588803284,\n ]),\n xy2d: FieldElement51::from_limbs([\n 796863823080135,\n 1897365583584155,\n 420466939481601,\n 2165972651724672,\n 932177357788289,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 877047233620613,\n 1375632631944375,\n 2895573425567369,\n 2911822552533124,\n 2271153746017078,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2216943882299338,\n 394841323190322,\n 2222656898319671,\n 558186553950529,\n 1077236877025190,\n ]),\n xy2d: FieldElement51::from_limbs([\n 801118384953213,\n 1914330175515892,\n 574541023311511,\n 1471123787903705,\n 1526158900256288,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3201417702772463,\n 2207116611267330,\n 3164719852826535,\n 2752958352884036,\n 2314162374456719,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1474518386765335,\n 1760793622169197,\n 1157399790472736,\n 1622864308058898,\n 165428294422792,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1961673048027128,\n 102619413083113,\n 1051982726768458,\n 1603657989805485,\n 1941613251499678,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1401939116319247,\n 2587106153588320,\n 2323846009771033,\n 862423201496005,\n 3102318568216632,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1234706593321979,\n 1083343891215917,\n 898273974314935,\n 1640859118399498,\n 157578398571149,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1143483057726416,\n 1992614991758919,\n 674268662140796,\n 1773370048077526,\n 674318359920189,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1835401379538542,\n 173900035308392,\n 818247630716732,\n 4013900225838034,\n 1021506399448290,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1506632088156630,\n 2127481795522179,\n 513812919490255,\n 140643715928370,\n 442476620300318,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2056683376856736,\n 219094741662735,\n 2193541883188309,\n 1841182310235800,\n 556477468664293,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3566819241596075,\n 1049075855992602,\n 4318372866671791,\n 2518704280870781,\n 2040482348591519,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 94096246544434,\n 922482381166992,\n 24517828745563,\n 2139430508542503,\n 2097139044231004,\n ]),\n xy2d: FieldElement51::from_limbs([\n 537697207950515,\n 1399352016347350,\n 1563663552106345,\n 2148749520888918,\n 549922092988516,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1747985413252415,\n 680511052635695,\n 1809559829982725,\n 2846074064615302,\n 2453472984431229,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 323583936109569,\n 1973572998577657,\n 1192219029966558,\n 79354804385273,\n 1374043025560347,\n ]),\n xy2d: FieldElement51::from_limbs([\n 213277331329947,\n 416202017849623,\n 1950535221091783,\n 1313441578103244,\n 2171386783823658,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2440888617915079,\n 993969372859109,\n 3147669935222235,\n 3799101348983503,\n 1477373024911349,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1620578418245010,\n 541035331188469,\n 2235785724453865,\n 2154865809088198,\n 1974627268751826,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1346805451740245,\n 1350981335690626,\n 942744349501813,\n 2155094562545502,\n 1012483751693409,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2107080134091762,\n 1132567062788208,\n 1824935377687210,\n 769194804343737,\n 1857941799971888,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1074666112436467,\n 249279386739593,\n 1174337926625354,\n 1559013532006480,\n 1472287775519121,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1872620123779532,\n 1892932666768992,\n 1921559078394978,\n 1270573311796160,\n 1438913646755037,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3089190001333428,\n 3264053113908846,\n 989780015893986,\n 1351393287739814,\n 2580427560230798,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1028328827183114,\n 1711043289969857,\n 1350832470374933,\n 1923164689604327,\n 1495656368846911,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1900828492104143,\n 430212361082163,\n 687437570852799,\n 832514536673512,\n 1685641495940794,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3094432661621646,\n 605670026766215,\n 290836444839585,\n 2415010588577604,\n 2213815011799644,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1176336383453996,\n 1725477294339771,\n 12700622672454,\n 678015708818208,\n 162724078519879,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1448049969043497,\n 1789411762943521,\n 385587766217753,\n 90201620913498,\n 832999441066823,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2767886146978542,\n 2240508292484615,\n 3603469341851756,\n 3475055379001735,\n 3002035638112385,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1263624896582495,\n 1102602401673328,\n 526302183714372,\n 2152015839128799,\n 1483839308490010,\n ]),\n xy2d: FieldElement51::from_limbs([\n 442991718646863,\n 1599275157036458,\n 1925389027579192,\n 899514691371390,\n 350263251085160,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1689713572022124,\n 2845654372939621,\n 3229894858477217,\n 1985127338729498,\n 3927868934032873,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1557207018622683,\n 340631692799603,\n 1477725909476187,\n 614735951619419,\n 2033237123746766,\n ]),\n xy2d: FieldElement51::from_limbs([\n 968764929340557,\n 1225534776710944,\n 662967304013036,\n 1155521416178595,\n 791142883466590,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1487081286167458,\n 3244839255500182,\n 1792378982844639,\n 2950452258685122,\n 2153908693179753,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1123181311102823,\n 685575944875442,\n 507605465509927,\n 1412590462117473,\n 568017325228626,\n ]),\n xy2d: FieldElement51::from_limbs([\n 560258797465417,\n 2193971151466401,\n 1824086900849026,\n 579056363542056,\n 1690063960036441,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1918407319222397,\n 2605567366745211,\n 1930426334528098,\n 1564816146005724,\n 4113142195393344,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2131325168777276,\n 1176636658428908,\n 1756922641512981,\n 1390243617176012,\n 1966325177038383,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2063958120364491,\n 2140267332393533,\n 699896251574968,\n 273268351312140,\n 375580724713232,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2024297515263178,\n 2668759143407935,\n 3330814048702549,\n 2423412039258430,\n 1031677520051052,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2033900009388450,\n 1744902869870788,\n 2190580087917640,\n 1949474984254121,\n 231049754293748,\n ]),\n xy2d: FieldElement51::from_limbs([\n 343868674606581,\n 550155864008088,\n 1450580864229630,\n 481603765195050,\n 896972360018042,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2151139328380127,\n 2566545695770176,\n 2311556639460451,\n 1676664391494650,\n 2048348075599360,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1528930066340597,\n 1605003907059576,\n 1055061081337675,\n 1458319101947665,\n 1234195845213142,\n ]),\n xy2d: FieldElement51::from_limbs([\n 830430507734812,\n 1780282976102377,\n 1425386760709037,\n 362399353095425,\n 2168861579799910,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3407562046415562,\n 980662895504005,\n 2053766700883521,\n 2742766027762854,\n 2762205690726604,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1683750316716132,\n 652278688286128,\n 1221798761193539,\n 1897360681476669,\n 319658166027343,\n ]),\n xy2d: FieldElement51::from_limbs([\n 618808732869972,\n 72755186759744,\n 2060379135624181,\n 1730731526741822,\n 48862757828238,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3714971784278753,\n 3394840525452699,\n 614590986558882,\n 1409210575145591,\n 1882816996436803,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2230133264691131,\n 563950955091024,\n 2042915975426398,\n 827314356293472,\n 672028980152815,\n ]),\n xy2d: FieldElement51::from_limbs([\n 264204366029760,\n 1654686424479449,\n 2185050199932931,\n 2207056159091748,\n 506015669043634,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1784446333136550,\n 1973746527984364,\n 334856327359575,\n 3408569589569858,\n 3275749938360725,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2065270940578383,\n 31477096270353,\n 306421879113491,\n 181958643936686,\n 1907105536686083,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1496516440779464,\n 1748485652986458,\n 872778352227340,\n 818358834654919,\n 97932669284220,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2723435829455580,\n 2924255216478824,\n 1804995246884102,\n 1842309243470804,\n 3753662318666930,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1013216974933691,\n 538921919682598,\n 1915776722521558,\n 1742822441583877,\n 1886550687916656,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2094270000643336,\n 303971879192276,\n 40801275554748,\n 649448917027930,\n 1818544418535447,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2241737709499146,\n 549397817447461,\n 838180519319392,\n 1725686958520781,\n 3957438894582995,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1216074541925116,\n 50120933933509,\n 1565829004133810,\n 721728156134580,\n 349206064666188,\n ]),\n xy2d: FieldElement51::from_limbs([\n 948617110470858,\n 346222547451945,\n 1126511960599975,\n 1759386906004538,\n 493053284802266,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1454933046815146,\n 3126495827951610,\n 1467170975468587,\n 1432316382418897,\n 2111710746366763,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2105387117364450,\n 1996463405126433,\n 1303008614294500,\n 851908115948209,\n 1353742049788635,\n ]),\n xy2d: FieldElement51::from_limbs([\n 750300956351719,\n 1487736556065813,\n 15158817002104,\n 1511998221598392,\n 971739901354129,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1874648163531674,\n 2124487685930551,\n 1810030029384882,\n 918400043048335,\n 2838148440985898,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1235084464747900,\n 1166111146432082,\n 1745394857881591,\n 1405516473883040,\n 4463504151617,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1663810156463827,\n 327797390285791,\n 1341846161759410,\n 1964121122800605,\n 1747470312055380,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 660005247548214,\n 2071860029952887,\n 3610548013635355,\n 911703252219106,\n 3266179736709079,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2206641276178231,\n 1690587809721504,\n 1600173622825126,\n 2156096097634421,\n 1106822408548216,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1344788193552206,\n 1949552134239140,\n 1735915881729557,\n 675891104100469,\n 1834220014427292,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1920949492387945,\n 2410685102072778,\n 2322108077349280,\n 2877838278583064,\n 3719881539786256,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 622221042073383,\n 1210146474039168,\n 1742246422343683,\n 1403839361379025,\n 417189490895736,\n ]),\n xy2d: FieldElement51::from_limbs([\n 22727256592983,\n 168471543384997,\n 1324340989803650,\n 1839310709638189,\n 504999476432775,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3565040332441556,\n 1721896294296941,\n 2304063388272514,\n 2065069734239231,\n 3056710287109878,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1337466662091884,\n 1287645354669772,\n 2018019646776184,\n 652181229374245,\n 898011753211715,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1969792547910734,\n 779969968247557,\n 2011350094423418,\n 1823964252907487,\n 1058949448296945,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2459143550747250,\n 1118176942430252,\n 3010694408233412,\n 806764629546265,\n 1157700123092949,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1273565321399022,\n 1638509681964574,\n 759235866488935,\n 666015124346707,\n 897983460943405,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1717263794012298,\n 1059601762860786,\n 1837819172257618,\n 1054130665797229,\n 680893204263559,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2237039662793603,\n 2249022333361206,\n 2058613546633703,\n 2401253908530527,\n 2215176649164581,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 79472182719605,\n 1851130257050174,\n 1825744808933107,\n 821667333481068,\n 781795293511946,\n ]),\n xy2d: FieldElement51::from_limbs([\n 755822026485370,\n 152464789723500,\n 1178207602290608,\n 410307889503239,\n 156581253571278,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3669985309815545,\n 2736319981413860,\n 3898537095128197,\n 3653287498355512,\n 1349185550126960,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1495380034400429,\n 325049476417173,\n 46346894893933,\n 1553408840354856,\n 828980101835683,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1280337889310282,\n 2070832742866672,\n 1640940617225222,\n 2098284908289951,\n 450929509534434,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2659503167684029,\n 2378371955168899,\n 2537839641198868,\n 1999255076709337,\n 2030511179441770,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1254958221100483,\n 1153235960999843,\n 942907704968834,\n 637105404087392,\n 1149293270147267,\n ]),\n xy2d: FieldElement51::from_limbs([\n 894249020470196,\n 400291701616810,\n 406878712230981,\n 1599128793487393,\n 1145868722604026,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3749755063888563,\n 2361916158338507,\n 1128535642171975,\n 1900106496009660,\n 2381592531146157,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 452487513298665,\n 1352120549024569,\n 1173495883910956,\n 1999111705922009,\n 367328130454226,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1717539401269642,\n 1475188995688487,\n 891921989653942,\n 836824441505699,\n 1885988485608364,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3493583935107776,\n 2439136865632830,\n 3370281625921440,\n 2680547565621609,\n 2282158712612572,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2022432361201842,\n 1088816090685051,\n 1977843398539868,\n 1854834215890724,\n 564238862029357,\n ]),\n xy2d: FieldElement51::from_limbs([\n 938868489100585,\n 1100285072929025,\n 1017806255688848,\n 1957262154788833,\n 152787950560442,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3119119231364171,\n 2872271776627789,\n 2477832016990963,\n 2593801257642876,\n 1761675818237335,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1295072362439987,\n 931227904689414,\n 1355731432641687,\n 922235735834035,\n 892227229410209,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1680989767906154,\n 535362787031440,\n 2136691276706570,\n 1942228485381244,\n 1267350086882274,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2617818047455756,\n 2684460443440843,\n 2378209521329782,\n 1973842949591661,\n 2897427157127624,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 535509430575217,\n 546885533737322,\n 1524675609547799,\n 2138095752851703,\n 1260738089896827,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1159906385590467,\n 2198530004321610,\n 714559485023225,\n 81880727882151,\n 1484020820037082,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1377485731340769,\n 2046328105512000,\n 1802058637158797,\n 2313945950453421,\n 1356993908853900,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2013612215646735,\n 1830770575920375,\n 536135310219832,\n 609272325580394,\n 270684344495013,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1237542585982777,\n 2228682050256790,\n 1385281931622824,\n 593183794882890,\n 493654978552689,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2299141301692989,\n 1891414891220256,\n 983894663308928,\n 2427961581972066,\n 3378060928864955,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1694030170963455,\n 502038567066200,\n 1691160065225467,\n 949628319562187,\n 275110186693066,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1124515748676336,\n 1661673816593408,\n 1499640319059718,\n 1584929449166988,\n 558148594103306,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1784525599998356,\n 1619698033617383,\n 2097300287550715,\n 2510065271789004,\n 1905684794832757,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1288941072872766,\n 931787902039402,\n 190731008859042,\n 2006859954667190,\n 1005931482221702,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1465551264822703,\n 152905080555927,\n 680334307368453,\n 173227184634745,\n 666407097159852,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2111017076203943,\n 3630560299479595,\n 1248583954016455,\n 3604089008549670,\n 1895180776543895,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 171348223915638,\n 662766099800389,\n 462338943760497,\n 466917763340314,\n 656911292869115,\n ]),\n xy2d: FieldElement51::from_limbs([\n 488623681976577,\n 866497561541722,\n 1708105560937768,\n 1673781214218839,\n 1506146329818807,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2412225278142205,\n 950394373239688,\n 2682296937026182,\n 711676555398831,\n 320964687779005,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 988979367990485,\n 1359729327576302,\n 1301834257246029,\n 294141160829308,\n 29348272277475,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1434382743317910,\n 100082049942065,\n 221102347892623,\n 186982837860588,\n 1305765053501834,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2205916462268190,\n 2751663643476068,\n 961960554686615,\n 2409862576442233,\n 1841471168298304,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1191737341426592,\n 1847042034978363,\n 1382213545049056,\n 1039952395710448,\n 788812858896859,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1346965964571152,\n 1291881610839830,\n 2142916164336056,\n 786821641205979,\n 1571709146321039,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 787164375951248,\n 2454669019058437,\n 3608390234717387,\n 1431233331032509,\n 786341368775957,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 492448143532951,\n 304105152670757,\n 1761767168301056,\n 233782684697790,\n 1981295323106089,\n ]),\n xy2d: FieldElement51::from_limbs([\n 665807507761866,\n 1343384868355425,\n 895831046139653,\n 439338948736892,\n 1986828765695105,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3007896024559801,\n 1721699973539148,\n 2510565115413133,\n 1390588532210644,\n 1212530909934781,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 852891097972275,\n 1816988871354562,\n 1543772755726524,\n 1174710635522444,\n 202129090724628,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1205281565824323,\n 22430498399418,\n 992947814485516,\n 1392458699738672,\n 688441466734558,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3302427242100220,\n 1955849529137134,\n 2171162376368357,\n 2343545681983462,\n 447733118757825,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1287181461435438,\n 622722465530711,\n 880952150571872,\n 741035693459198,\n 311565274989772,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1003649078149734,\n 545233927396469,\n 1849786171789880,\n 1318943684880434,\n 280345687170552,\n ]),\n },\n ]),\n]);\n\n/// Odd multiples of the basepoint `[B, 3B, 5B, 7B, 9B, 11B, 13B, 15B, ..., 127B]`.\n#[cfg(feature = \"precomputed-tables\")]\n#[allow(dead_code)]\npub(crate) const AFFINE_ODD_MULTIPLES_OF_BASEPOINT: NafLookupTable8 =\n NafLookupTable8([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3540182452943730,\n 2497478415033846,\n 2521227595762870,\n 1462984067271729,\n 2389212253076811,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 62697248952638,\n 204681361388450,\n 631292143396476,\n 338455783676468,\n 1213667448819585,\n ]),\n xy2d: FieldElement51::from_limbs([\n 301289933810280,\n 1259582250014073,\n 1422107436869536,\n 796239922652654,\n 1953934009299142,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1601611775252272,\n 1720807796594148,\n 1132070835939856,\n 3512254832574799,\n 2147779492816910,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 316559037616741,\n 2177824224946892,\n 1459442586438991,\n 1461528397712656,\n 751590696113597,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1850748884277385,\n 1200145853858453,\n 1068094770532492,\n 672251375690438,\n 1586055907191707,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 769950342298400,\n 2384754244604994,\n 3095885746880802,\n 3225892188161580,\n 2977876099231263,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 425251763115706,\n 608463272472562,\n 442562545713235,\n 837766094556764,\n 374555092627893,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1086255230780037,\n 274979815921559,\n 1960002765731872,\n 929474102396301,\n 1190409889297339,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2916800678241215,\n 2065379846933858,\n 2622030924071124,\n 2602788184473875,\n 1233371373142984,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2019367628972465,\n 676711900706637,\n 110710997811333,\n 1108646842542025,\n 517791959672113,\n ]),\n xy2d: FieldElement51::from_limbs([\n 965130719900578,\n 247011430587952,\n 526356006571389,\n 91986625355052,\n 2157223321444601,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1802695059464988,\n 1664899123557221,\n 2845359304426105,\n 2160434469266658,\n 3179370264440279,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1725674970513508,\n 1933645953859181,\n 1542344539275782,\n 1767788773573747,\n 1297447965928905,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1381809363726107,\n 1430341051343062,\n 2061843536018959,\n 1551778050872521,\n 2036394857967624,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4222693909998302,\n 2779866139518454,\n 1619374932191226,\n 2207306624415883,\n 1169170329061080,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2070390218572616,\n 1458919061857835,\n 624171843017421,\n 1055332792707765,\n 433987520732508,\n ]),\n xy2d: FieldElement51::from_limbs([\n 893653801273833,\n 1168026499324677,\n 1242553501121234,\n 1306366254304474,\n 1086752658510815,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2465253816303469,\n 3191571337672685,\n 1159882208056013,\n 2569188183312765,\n 621213314200686,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1971678598905747,\n 338026507889165,\n 762398079972271,\n 655096486107477,\n 42299032696322,\n ]),\n xy2d: FieldElement51::from_limbs([\n 177130678690680,\n 1754759263300204,\n 1864311296286618,\n 1180675631479880,\n 1292726903152791,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1913163449625248,\n 2712579013977241,\n 2193883288642313,\n 1008900146920800,\n 1721983679009502,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1070401523076875,\n 1272492007800961,\n 1910153608563310,\n 2075579521696771,\n 1191169788841221,\n ]),\n xy2d: FieldElement51::from_limbs([\n 692896803108118,\n 500174642072499,\n 2068223309439677,\n 1162190621851337,\n 1426986007309901,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1819621230288238,\n 2735700366193240,\n 1755134670739586,\n 3080648199451191,\n 4172807995775876,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 992069868904071,\n 799011518185730,\n 1777586403832768,\n 1134820506145684,\n 1999461475558530,\n ]),\n xy2d: FieldElement51::from_limbs([\n 425204543703124,\n 2040469794090382,\n 1651690622153809,\n 1500530168597569,\n 1253908377065966,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2105824306960939,\n 1387520302709358,\n 3633176580451016,\n 2211816663841753,\n 1629085891776489,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1485201376284999,\n 1022406647424656,\n 504181009209019,\n 962621520820995,\n 590876713147230,\n ]),\n xy2d: FieldElement51::from_limbs([\n 265873406365287,\n 1192742653492898,\n 88553098803050,\n 525037770869640,\n 1266933811251234,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3552316659826612,\n 1254279525791875,\n 1609927932077699,\n 3578654071679972,\n 3750681296069893,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 37186803519861,\n 1404297334376301,\n 578519728836650,\n 1740727951192592,\n 2095534282477028,\n ]),\n xy2d: FieldElement51::from_limbs([\n 833234263154399,\n 2023862470013762,\n 1854137933982069,\n 853924318090959,\n 1589812702805850,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3679150557957763,\n 1319179453661745,\n 497496853611112,\n 2665464286942351,\n 1208137952365560,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1654513078530905,\n 907489875842908,\n 126098711296368,\n 1726320004173677,\n 28269495058173,\n ]),\n xy2d: FieldElement51::from_limbs([\n 114436686957443,\n 532739313025996,\n 115428841215897,\n 2191499400074366,\n 370280402676434,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1111146849833253,\n 2016430049079759,\n 1860522747477948,\n 3537164738290194,\n 4137142824844184,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 429069864577128,\n 975327637149449,\n 237881983565075,\n 1654761232378630,\n 2122527599091807,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2093793463548278,\n 754827233241879,\n 1420389751719629,\n 1829952782588138,\n 2011865756773717,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 676293365438898,\n 2850296017886344,\n 1205350322490195,\n 2763699392265669,\n 2133931188538142,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 48340340349120,\n 1299261101494832,\n 1137329686775218,\n 1534848106674340,\n 1351662218216799,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1904520614137939,\n 1590301001714014,\n 215781420985270,\n 2043534301034629,\n 1970888949300424,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2365217962409710,\n 2061307169694064,\n 1887478590157603,\n 2169639621284316,\n 2373810867477200,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1020052624656948,\n 1260412094216707,\n 366721640607121,\n 585331442306596,\n 345876457758061,\n ]),\n xy2d: FieldElement51::from_limbs([\n 975390299880933,\n 1066555195234642,\n 12651997758352,\n 1184252205433068,\n 1058378155074223,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1431537716602643,\n 2024827957433813,\n 3746434518400495,\n 1087794891033550,\n 2156817571680455,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 929288033346881,\n 255179964546973,\n 711057989588035,\n 208899572612840,\n 185348357387383,\n ]),\n xy2d: FieldElement51::from_limbs([\n 823689746424808,\n 47266130989546,\n 209403309368097,\n 1100966895202707,\n 710792075292719,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2311213117823762,\n 3296668540922318,\n 2004276520649823,\n 1861500579441125,\n 3148029033359833,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1563693677475261,\n 1843782073741194,\n 1950700654453170,\n 911540858113949,\n 2085151496302359,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1427880892005482,\n 106216431121745,\n 42608394782284,\n 1217295886989793,\n 1514235272796882,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3544335535746750,\n 2367994491347456,\n 2567261456502612,\n 1854058085060971,\n 2263545563461076,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 787426011300053,\n 2105981035769060,\n 1130476291127206,\n 1748659348100075,\n 53470983013756,\n ]),\n xy2d: FieldElement51::from_limbs([\n 553548273865386,\n 5927805718390,\n 65184587381926,\n 633576679686953,\n 576048559439973,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 993787326657446,\n 3868807161609258,\n 1615796046728943,\n 2514644292681953,\n 2059021068660907,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 251010270518880,\n 1681684095763484,\n 1521949356387564,\n 431593457045116,\n 1855308922422910,\n ]),\n xy2d: FieldElement51::from_limbs([\n 618490909691959,\n 1257497595618257,\n 202952467594088,\n 35577762721238,\n 1494883566841973,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1673474571932262,\n 2409784519770613,\n 2636095316260487,\n 2761112584601925,\n 3333713288149876,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1600640202645197,\n 1019569075331823,\n 1041916487915822,\n 1680448171313267,\n 2126903137527901,\n ]),\n xy2d: FieldElement51::from_limbs([\n 894964745143659,\n 106116880092678,\n 1009869382959477,\n 317866368542032,\n 1986983122763912,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1765281781276487,\n 2863247187455184,\n 2589075472439062,\n 1386435905543054,\n 2182338478845320,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1144730936996693,\n 2213315231278180,\n 1489676672185125,\n 665039429138074,\n 1131283313040268,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2004734176670602,\n 1738311085075235,\n 418866995976618,\n 1050782508034394,\n 577747313404652,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2185209688340293,\n 1309276076461009,\n 2514740038571278,\n 3994889904012999,\n 3018098826231021,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1405936970888515,\n 1754621155316654,\n 1211862168554999,\n 1813045702919083,\n 997853418197172,\n ]),\n xy2d: FieldElement51::from_limbs([\n 82037622045021,\n 1646398333621944,\n 613095452763466,\n 1312329542583705,\n 81014679202721,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2389287991277873,\n 403851022333257,\n 1597473361477193,\n 2953351602509212,\n 2135174663049062,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1826548187201150,\n 302299893734126,\n 1475477168615781,\n 842617616347376,\n 1438600873676130,\n ]),\n xy2d: FieldElement51::from_limbs([\n 663049852468609,\n 1649295727846569,\n 1048009692742781,\n 628866177992421,\n 1914360327429204,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1795645928096646,\n 306878154408959,\n 2924901319092394,\n 2801261341654799,\n 1653782432983523,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2077597317438627,\n 212642017882064,\n 674844477518888,\n 875487498687554,\n 2060550250171182,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1420448018683809,\n 1032663994771382,\n 1341927003385267,\n 1340360916546159,\n 1988547473895228,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1082660122598844,\n 2545055705583789,\n 3888919679589007,\n 1670283344995811,\n 3403239134794618,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 90430593339788,\n 1838338032241275,\n 571293238480915,\n 1639938867416883,\n 257378872001111,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1528535658865034,\n 1516636853043960,\n 787000569996728,\n 1464531394704506,\n 1684822625133795,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 811329918113934,\n 2783463529007378,\n 1769095754634835,\n 2970819621866866,\n 881037178164325,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1784566501964517,\n 433890943689325,\n 1186055625589419,\n 1496077405487512,\n 1731807117886548,\n ]),\n xy2d: FieldElement51::from_limbs([\n 424909811816304,\n 1355993963741797,\n 409606483251841,\n 455665350637068,\n 1617009023642808,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2478728492077816,\n 2780289048655501,\n 2328687177473769,\n 4107341333582032,\n 1316147724308250,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1617420574301156,\n 1741273341070467,\n 667135503486508,\n 2100436564640123,\n 1032223920000865,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1753947659404033,\n 247279202390193,\n 1819288880178945,\n 737334285670249,\n 1037873664856104,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1762568490530034,\n 673742465299012,\n 2054571050635888,\n 2040165159255111,\n 3040123733327257,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1627187989987422,\n 1686331580821752,\n 1309895873498183,\n 719718719104086,\n 300063199808722,\n ]),\n xy2d: FieldElement51::from_limbs([\n 238176707016164,\n 1440454788877048,\n 203336037573144,\n 1437789888677072,\n 101522256664211,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1895216760098480,\n 1934324337975022,\n 3677350688973167,\n 2536415965456176,\n 714678003308640,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 508185358728815,\n 1691320535341855,\n 2168887448239256,\n 1035124393070661,\n 1936603999698584,\n ]),\n xy2d: FieldElement51::from_limbs([\n 390562831571647,\n 1390223890708972,\n 1383183990676371,\n 435998174196410,\n 1882086414390730,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3747620842612921,\n 2081794785291195,\n 3284594056262745,\n 2090090346797895,\n 2581692978935809,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 244144781251265,\n 1290834426417077,\n 1888701171101942,\n 1233922456644870,\n 241117402207491,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1266169390045455,\n 1148042013187970,\n 878921907853942,\n 1815738019658093,\n 908920199341621,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2521768507305118,\n 953557056811112,\n 2015863732865770,\n 1358382511861315,\n 2835421647899992,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2239837206240498,\n 330928973149665,\n 422268062913642,\n 1481280019493032,\n 619879520439841,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1360166735366017,\n 1770556573948510,\n 1395061284191031,\n 1814003148068126,\n 522781147076884,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2611794802645686,\n 707234844948070,\n 1314059396506491,\n 2919250341703934,\n 2161831667832785,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 934831784182383,\n 433734253968318,\n 1660867106725771,\n 1968393082772831,\n 873946300968490,\n ]),\n xy2d: FieldElement51::from_limbs([\n 26306827827554,\n 430884999378685,\n 1504310424376419,\n 1761358720837522,\n 542195685418530,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1762131062631725,\n 3123952634417535,\n 3619918390837537,\n 2909990877347294,\n 1411594230004385,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 538272372224622,\n 1425714779586199,\n 588313661410172,\n 1497062084392578,\n 1602174047128512,\n ]),\n xy2d: FieldElement51::from_limbs([\n 907490361939255,\n 1963620338391363,\n 626927432296975,\n 1250748516081414,\n 959901171882527,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1335066153744413,\n 2887804660779657,\n 2653073855954038,\n 2765226981667422,\n 938831784476763,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 296699434737224,\n 2047543711075683,\n 2076451038937139,\n 227783599906901,\n 1602062110967627,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1574834773194203,\n 1384279952062839,\n 393652417255803,\n 2166968242848859,\n 1552890441390820,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1619646774410947,\n 1576090644023562,\n 3035228391320965,\n 1735328519940543,\n 2355324535937066,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1024074573633446,\n 957088456885874,\n 1690425531356997,\n 2102187380180052,\n 1082544623222033,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1871906170635853,\n 1719383891167200,\n 1584032250247862,\n 823764804192117,\n 2244048510084261,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 642147846489775,\n 3334304977145699,\n 305205716788147,\n 2589176626729533,\n 2224680511484174,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1734162377166545,\n 260713621840346,\n 157174591942595,\n 952544272517991,\n 222818702471733,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1213115494182947,\n 286778704335711,\n 2130189536016490,\n 308349182281342,\n 1217623948685491,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3360052266973635,\n 1843486583624091,\n 1561693837124349,\n 1084041964025479,\n 1866270922024009,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 460705465481210,\n 1968151453817859,\n 497005926994844,\n 625618055866751,\n 2176893440866887,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1655800250476757,\n 2036588542300609,\n 666447448675243,\n 1615721995750683,\n 1508669225186765,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2245948203759141,\n 1058306669699396,\n 1452898014240582,\n 3961024141962768,\n 1633235287338608,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 986647273684279,\n 1507266907811370,\n 1260572633649005,\n 2071672342077446,\n 695976026010857,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1312356620823495,\n 1635278548098567,\n 901946076841033,\n 585120475533168,\n 1240667113237384,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2313723935779695,\n 1506054666773895,\n 996040223525031,\n 636592914999692,\n 1497801917020297,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 292042016419794,\n 1158932298133044,\n 2062611870323738,\n 1946058478962569,\n 1749165808126286,\n ]),\n xy2d: FieldElement51::from_limbs([\n 654683942212830,\n 1526897351349087,\n 2006818439922838,\n 2194919327350361,\n 1451960776874416,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3015041017808905,\n 2951823141773809,\n 2584865668253675,\n 2508192032998563,\n 2582137700042019,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1628123495344283,\n 2072923641214546,\n 1647225812023982,\n 855655925244679,\n 1758126430071140,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1615895096489599,\n 275295258643784,\n 937665541219916,\n 1313496726746346,\n 1186468946422626,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1603070202850694,\n 2072127623773242,\n 1692648737212158,\n 2493373404187852,\n 1248948672117105,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 11167836031898,\n 596565174397990,\n 2196351068723859,\n 314744641791907,\n 1102014997250781,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1409047922401191,\n 69960384467966,\n 688103515547600,\n 1309746102488044,\n 150292892873778,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1986083055103168,\n 691715819340300,\n 1361811659746933,\n 3459052030333434,\n 1063594696046061,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1201987338414749,\n 2198784582460616,\n 1203335513981498,\n 489243077045066,\n 2205278143582433,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2034744376624534,\n 2077387101466387,\n 148448542974969,\n 1502697574577258,\n 473186584705655,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 472016956315960,\n 720786972252993,\n 2840633661190043,\n 3150798753357827,\n 2816563335499153,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 253464247569755,\n 168314237403057,\n 511780806170295,\n 1058862316549135,\n 1646858476817137,\n ]),\n xy2d: FieldElement51::from_limbs([\n 595092995922219,\n 1491311840717691,\n 291581784452778,\n 1569186646367854,\n 1031385061400544,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3483137021572755,\n 1526955102024322,\n 2778006642704458,\n 457549634924205,\n 1097420237736736,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1246991699537710,\n 81367319519439,\n 530844036072196,\n 163656863755855,\n 1950742455979290,\n ]),\n xy2d: FieldElement51::from_limbs([\n 191532664076407,\n 539378506082089,\n 1021612562876554,\n 1026603384732632,\n 1773368780410653,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4144620731387879,\n 590179521333342,\n 4034023318016108,\n 2255745030335426,\n 2699746851701250,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2206599697359952,\n 553895797384417,\n 181689161933786,\n 1153123447919104,\n 778568064152659,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1706307000059211,\n 1885601289314487,\n 889758608505788,\n 550131729999853,\n 1006862664714268,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3210197754285058,\n 2048500453422630,\n 3403309827888207,\n 927154428508963,\n 4199813798872019,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 992058915374933,\n 476120535358775,\n 1973648780784340,\n 2025282643598818,\n 2182318983793230,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1343440812005821,\n 1316045839091795,\n 1884951299078063,\n 1765919609219175,\n 2197567554627988,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3129247779382818,\n 4415026969054274,\n 1900265885969643,\n 1528796215447059,\n 2172730393748688,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1773355092297603,\n 64654329538271,\n 1332124041660957,\n 748492100858001,\n 895500006200535,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2000840647851980,\n 546565968824914,\n 420633283457524,\n 195470736374507,\n 1958689297569520,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 743138980705446,\n 3411117504637167,\n 2591389959690621,\n 2380042066577202,\n 3022267940115114,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 165947002229363,\n 115186103724967,\n 1068573292121517,\n 1842565776920938,\n 1969395681111987,\n ]),\n xy2d: FieldElement51::from_limbs([\n 553322266190633,\n 234265665613185,\n 484544650202821,\n 1238773526575826,\n 2017991917953668,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2581954631514051,\n 1245093644265357,\n 3537016673825374,\n 1834216551713857,\n 923978372152807,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1855378315339552,\n 890045579230758,\n 1764718173975590,\n 197904186055854,\n 1718129022310327,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1278162928734862,\n 1894118254109862,\n 987503995465517,\n 177406744098996,\n 781538103127693,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1996603431230215,\n 1191888797552937,\n 1207440075928499,\n 2765853449051137,\n 2525314961343288,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 808903879370889,\n 990820108751280,\n 1084429472258867,\n 1078562781312589,\n 254514692695625,\n ]),\n xy2d: FieldElement51::from_limbs([\n 615855140068469,\n 586046731175395,\n 693470779212674,\n 1964537100203868,\n 1350330550265229,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3344544372023708,\n 720386671449874,\n 2480841360702110,\n 2036034126860286,\n 2015744690201389,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1337446193390478,\n 1984110761311871,\n 746489405020285,\n 407347127604128,\n 1740475330360596,\n ]),\n xy2d: FieldElement51::from_limbs([\n 140840424783613,\n 1063284623568331,\n 1136446106453878,\n 372042229029799,\n 442607248430694,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2330781679120937,\n 376801425148230,\n 2032603686676107,\n 1488926293635130,\n 1317278311532959,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1290116731380016,\n 2166899563471713,\n 831997001838078,\n 870954980505220,\n 2108537278055823,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1912719171026343,\n 846194720551034,\n 2043988124740726,\n 993234269653961,\n 421229796383281,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2651184584992902,\n 2775702557638963,\n 2539786009779572,\n 2575974880015305,\n 2122619079836732,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1154054290132562,\n 931753998725577,\n 1647742001778052,\n 865765466488226,\n 1083816107290025,\n ]),\n xy2d: FieldElement51::from_limbs([\n 986341121095108,\n 1522330369638573,\n 1990880546211047,\n 501525962272123,\n 198539304862139,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1496414019192687,\n 3991034436173951,\n 3380311659062196,\n 2854747485359158,\n 3346958036643152,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 805612068303425,\n 1891790027761335,\n 1587008567571549,\n 722120737390201,\n 378156757163816,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1588994517921951,\n 977362751042302,\n 1329302387067714,\n 2069348224564088,\n 1586007159625211,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2490539421551682,\n 1985699850375015,\n 2331762317128172,\n 4145097393776678,\n 2521049460190674,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 615817553313996,\n 2245962768078178,\n 482564324326173,\n 2101336843140780,\n 1240914880829407,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1438242482238189,\n 874267817785463,\n 1620810389770625,\n 866155221338671,\n 1040426546798301,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2403083624110300,\n 2548561409802975,\n 2492699136535911,\n 2358289519456539,\n 3203964320363148,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1913986535403097,\n 1977163223054199,\n 1972905914623196,\n 1650122133472502,\n 1905849310819035,\n ]),\n xy2d: FieldElement51::from_limbs([\n 858174816360838,\n 614595356564037,\n 1099584959044836,\n 636998087084906,\n 1070393269058348,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3666695924830668,\n 3585640662737501,\n 2372994528684236,\n 2628565977288995,\n 3482812783469694,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1994161359147952,\n 2198039369802658,\n 62790022842537,\n 1522306785848169,\n 951223194802833,\n ]),\n xy2d: FieldElement51::from_limbs([\n 852296621440717,\n 431889737774209,\n 370755457746189,\n 437604073958073,\n 627857326892757,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1794955764684156,\n 2586904290013612,\n 1322647643615887,\n 856117964085888,\n 2652432778663153,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 933592377399646,\n 78031722952813,\n 926049890685253,\n 1471649501316246,\n 33789909190376,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1479319468832059,\n 203906207621608,\n 659828362330083,\n 44358398435755,\n 1273573524210803,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1592342143350813,\n 3227219208247713,\n 2345240352078765,\n 2577750109932929,\n 2933512841197243,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2184946892642995,\n 1517382324576002,\n 1557940277419806,\n 2170635134813213,\n 747314658627002,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1823193620577742,\n 1135817878516419,\n 1731253819308581,\n 1031652967267804,\n 2123506616999453,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1346190246005805,\n 2052692552023851,\n 1718128041785940,\n 2491557332978474,\n 3474370880388305,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 424776012994573,\n 281050757243423,\n 626466040846420,\n 990194703866532,\n 38571969885982,\n ]),\n xy2d: FieldElement51::from_limbs([\n 192408346595466,\n 1054889725292349,\n 584097975693004,\n 1447909807397749,\n 2134645004369136,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3169895788615063,\n 3503097743181446,\n 601598510029975,\n 1422812237223371,\n 2121009661378329,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1603348391996783,\n 2066143816131699,\n 1789627290363958,\n 2145705961178118,\n 1985578641438222,\n ]),\n xy2d: FieldElement51::from_limbs([\n 352633958653380,\n 856927627345554,\n 793925083122702,\n 93551575767286,\n 1222010153634215,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1756866499986349,\n 911731956999969,\n 2707505543214075,\n 4006920335263786,\n 822501008147910,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1094036422864347,\n 1897208881572508,\n 1503607738246960,\n 1901060196071406,\n 294068411105729,\n ]),\n xy2d: FieldElement51::from_limbs([\n 587776484399576,\n 1116861711228807,\n 343398777436088,\n 936544065763093,\n 1643746750211060,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3477749685790410,\n 267997399528836,\n 2953780922004404,\n 3252368924080907,\n 3787792887348381,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2042368155872443,\n 41662387210459,\n 1676313264498480,\n 1333968523426810,\n 1765708383352310,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1453394896690938,\n 1585795827439909,\n 1469309456804303,\n 1294645324464404,\n 2042954198665899,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1810069207599881,\n 1358344669503239,\n 1989371257548167,\n 2316270051121225,\n 3019675451276507,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1866114438287676,\n 1663420339568364,\n 1437691317033088,\n 538298302628038,\n 1212711449614363,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1769235035677897,\n 1562012115317882,\n 31277513664750,\n 536198657928416,\n 1976134212537183,\n ]),\n },\n ]);\n\n/// Precomputed NafLookupTable5 for ED25519_BASEPOINT_128_POINT\n/// Contains odd multiples [1B', 3B', 5B', 7B', 9B', 11B', 13B', 15B']\n/// where B' = B * 2^128\n#[cfg(feature = \"precomputed-tables\")]\npub(crate) const AFFINE_ODD_MULTIPLES_OF_BASEPOINT_128: NafLookupTable5 =\n NafLookupTable5([\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 2736169168844485,\n 2938750579674528,\n 1463894987748877,\n 2841718686871730,\n 1985876684518203,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1840579227511262,\n 953261538178031,\n 1834370441150886,\n 1427497321143347,\n 1725682124853989,\n ]),\n Z: FieldElement51::from_limbs([\n 445134475408207,\n 1820906444767788,\n 40212681131971,\n 1448661247201044,\n 965705781338211,\n ]),\n T2d: FieldElement51::from_limbs([\n 773498901840598,\n 1322244500169520,\n 2247887491217152,\n 438555850765425,\n 2003166138168448,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 4052979773311382,\n 2779314608743045,\n 2025864608050267,\n 4239124274918649,\n 2047715283211872,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 46708290287836,\n 854678853922811,\n 473843612020374,\n 93416542836491,\n 36887865609850,\n ]),\n Z: FieldElement51::from_limbs([\n 1415283798768778,\n 558152993015714,\n 1009343863091429,\n 202683238470016,\n 1437237189863098,\n ]),\n T2d: FieldElement51::from_limbs([\n 798901183048341,\n 2088882963129737,\n 1959766260461794,\n 785983100035341,\n 1898332425873393,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 1485884064040933,\n 3544995893699855,\n 3336498043486695,\n 1676518325863799,\n 3924305903599551,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 773665168496622,\n 1762929435191211,\n 1242066992989018,\n 976919579682600,\n 1755245776095155,\n ]),\n Z: FieldElement51::from_limbs([\n 364043412623079,\n 1742274550500525,\n 1826931625194320,\n 1613487341804061,\n 1706694369057824,\n ]),\n T2d: FieldElement51::from_limbs([\n 612881112626481,\n 1851646735104528,\n 442596889481956,\n 1350586815509012,\n 139462310881258,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 1368397133953923,\n 257295989327092,\n 2151475747930859,\n 4157544636401722,\n 2431868518957253,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1086943799443606,\n 2156492892436322,\n 1304912429279094,\n 2236825713899676,\n 956336603451346,\n ]),\n Z: FieldElement51::from_limbs([\n 1435533833442335,\n 2143693239375794,\n 284803180569965,\n 1526121151845459,\n 1146944306085907,\n ]),\n T2d: FieldElement51::from_limbs([\n 746985711541365,\n 1325962113197906,\n 2066433367845509,\n 352065757310156,\n 1030077083459185,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 3242158246905157,\n 1655285217271758,\n 979176760705656,\n 2239696862950768,\n 2581654422853147,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1546547740539545,\n 1712475305386299,\n 1360625165812971,\n 1346151673524691,\n 1382871190753080,\n ]),\n Z: FieldElement51::from_limbs([\n 1301309314400143,\n 754500097438053,\n 1939065018255086,\n 827616229574117,\n 877330897268831,\n ]),\n T2d: FieldElement51::from_limbs([\n 1197188348633815,\n 659807996092455,\n 1711852247689765,\n 558583377269877,\n 99988890374241,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 2217993410898728,\n 2786874281837735,\n 277442167258821,\n 2384554073376980,\n 2273131766789461,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 109972040445858,\n 950690845410797,\n 17504561734371,\n 523897781536666,\n 750596827295120,\n ]),\n Z: FieldElement51::from_limbs([\n 54891282232941,\n 1760155098862594,\n 331491218058708,\n 1646635945464764,\n 1039579529390631,\n ]),\n T2d: FieldElement51::from_limbs([\n 1742119867631979,\n 1920835943375882,\n 1823982243967588,\n 8235830273089,\n 868879199166457,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 3550694783929828,\n 2336047885420235,\n 1565306465484489,\n 3136433856071917,\n 1830368149412737,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1774723137461971,\n 2098439526999162,\n 1474163710169650,\n 779998216757295,\n 806943695140007,\n ]),\n Z: FieldElement51::from_limbs([\n 2031052346670915,\n 25708785675631,\n 1400901524447834,\n 748277746457979,\n 1216527237136724,\n ]),\n T2d: FieldElement51::from_limbs([\n 1889193855982501,\n 1710313274081557,\n 2073215834484008,\n 1044022860024178,\n 773075805930498,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 2127006969359196,\n 2117739369058606,\n 3577576537383903,\n 2671841131559038,\n 4063127780311805,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1402473726670403,\n 2118415406774282,\n 135582654390618,\n 892801005112916,\n 2121295222735022,\n ]),\n Z: FieldElement51::from_limbs([\n 1578281559293828,\n 2156602763973009,\n 2209233981554667,\n 288157485447820,\n 729847524631017,\n ]),\n T2d: FieldElement51::from_limbs([\n 1551520416538582,\n 1392706341252901,\n 2044032904069908,\n 1190995531234982,\n 442600800298007,\n ]),\n },\n ]);\n"},{"id":75,"name":{"Local":"curve25519/solana-ed25519/src/constants.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n//! Various constants, such as the Ristretto and Ed25519 basepoints.\n\n#![allow(non_snake_case)]\n\nuse crate::edwards::CompressedEdwardsY;\nuse crate::montgomery::MontgomeryPoint;\nuse crate::ristretto::{CompressedRistretto, RistrettoPoint};\nuse crate::scalar::Scalar;\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::edwards::EdwardsBasepointTable;\n\npub use crate::backend::serial::u64::constants::*;\n\n/// The Ed25519 basepoint, in `CompressedEdwardsY` format.\n///\n/// This is the little-endian byte encoding of \\\\( 4/5 \\pmod p \\\\),\n/// which is the \\\\(y\\\\)-coordinate of the Ed25519 basepoint.\n///\n/// The sign bit is 0 since the basepoint has \\\\(x\\\\) chosen to be positive.\npub const ED25519_BASEPOINT_COMPRESSED: CompressedEdwardsY = CompressedEdwardsY([\n 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,\n 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,\n]);\n\n/// The X25519 basepoint, in `MontgomeryPoint` format.\npub const X25519_BASEPOINT: MontgomeryPoint = MontgomeryPoint([\n 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n]);\n\n/// The Ristretto basepoint, in `CompressedRistretto` format.\npub const RISTRETTO_BASEPOINT_COMPRESSED: CompressedRistretto = CompressedRistretto([\n 0xe2, 0xf2, 0xae, 0x0a, 0x6a, 0xbc, 0x4e, 0x71, 0xa8, 0x84, 0xa9, 0x61, 0xc5, 0x00, 0x51, 0x5f,\n 0x58, 0xe3, 0x0b, 0x6a, 0xa5, 0x82, 0xdd, 0x8d, 0xb6, 0xa6, 0x59, 0x45, 0xe0, 0x8d, 0x2d, 0x76,\n]);\n\n/// The Ristretto basepoint, as a `RistrettoPoint`.\n///\n/// This is called `_POINT` to distinguish it from `_TABLE`, which\n/// provides fast scalar multiplication.\npub const RISTRETTO_BASEPOINT_POINT: RistrettoPoint = RistrettoPoint(ED25519_BASEPOINT_POINT);\n\n/// `BASEPOINT_ORDER` is the order of the Ristretto group and of the Ed25519 basepoint, i.e.,\n/// $$\n/// \\ell = 2^\\{252\\} + 27742317777372353535851937790883648493.\n/// $$\npub(crate) const BASEPOINT_ORDER: Scalar = Scalar {\n bytes: [\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde,\n 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x10,\n ],\n};\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::ristretto::RistrettoBasepointTable;\n\n/// The Ristretto basepoint, as a `RistrettoBasepointTable` for scalar multiplication.\n#[cfg(feature = \"precomputed-tables\")]\npub static RISTRETTO_BASEPOINT_TABLE: &RistrettoBasepointTable = unsafe {\n // SAFETY: `RistrettoBasepointTable` is a `#[repr(transparent)]` newtype of\n // `EdwardsBasepointTable`\n &*(ED25519_BASEPOINT_TABLE as *const EdwardsBasepointTable as *const RistrettoBasepointTable)\n};\n\n#[cfg(test)]\nmod test {\n use crate::constants;\n use crate::field::FieldElement;\n use crate::traits::{IsIdentity, ValidityCheck};\n\n #[test]\n fn test_eight_torsion() {\n for i in 0..8 {\n let Q = constants::EIGHT_TORSION[i].mul_by_pow_2(3);\n assert!(Q.is_valid());\n assert!(Q.is_identity());\n }\n }\n\n #[test]\n fn test_four_torsion() {\n for i in (0..8).filter(|i| i % 2 == 0) {\n let Q = constants::EIGHT_TORSION[i].mul_by_pow_2(2);\n assert!(Q.is_valid());\n assert!(Q.is_identity());\n }\n }\n\n #[test]\n fn test_two_torsion() {\n for i in (0..8).filter(|i| i % 4 == 0) {\n let Q = constants::EIGHT_TORSION[i].mul_by_pow_2(1);\n assert!(Q.is_valid());\n assert!(Q.is_identity());\n }\n }\n\n /// Test that SQRT_M1 is the positive square root of -1\n #[test]\n fn test_sqrt_minus_one() {\n let minus_one = FieldElement::MINUS_ONE;\n let sqrt_m1_sq = &constants::SQRT_M1 * &constants::SQRT_M1;\n assert_eq!(minus_one, sqrt_m1_sq);\n assert!(bool::from(!constants::SQRT_M1.is_negative()));\n }\n\n #[test]\n fn test_sqrt_constants_sign() {\n let minus_one = FieldElement::MINUS_ONE;\n let (was_nonzero_square, invsqrt_m1) = minus_one.invsqrt();\n assert!(bool::from(was_nonzero_square));\n let sign_test_sqrt = &invsqrt_m1 * &constants::SQRT_M1;\n assert_eq!(sign_test_sqrt, minus_one);\n }\n\n /// Test that d = -121665/121666\n #[test]\n fn test_d_vs_ratio() {\n use crate::backend::serial::u64::field::FieldElement51;\n let a = -&FieldElement51([121665, 0, 0, 0, 0]);\n let b = FieldElement51([121666, 0, 0, 0, 0]);\n let d = &a * &b.invert();\n let d2 = &d + &d;\n assert_eq!(d, constants::EDWARDS_D);\n assert_eq!(d2, constants::EDWARDS_D2);\n }\n\n #[test]\n fn test_sqrt_ad_minus_one() {\n let a = FieldElement::MINUS_ONE;\n let ad_minus_one = &(&a * &constants::EDWARDS_D) + &a;\n let should_be_ad_minus_one = constants::SQRT_AD_MINUS_ONE.square();\n assert_eq!(should_be_ad_minus_one, ad_minus_one);\n }\n\n /// Test that ED25519_SQRTAM2 squared is MONTGOMERY_A_NEG - 2\n #[test]\n #[cfg(feature = \"digest\")]\n fn test_sqrt_a_minus_2() {\n let one = FieldElement::ONE;\n let a_minus_two = &(&constants::MONTGOMERY_A_NEG - &one) - &one;\n\n assert_eq!(constants::ED25519_SQRTAM2.square(), a_minus_two)\n }\n}\n"},{"id":76,"name":{"Local":"/rustc/library/core/src/ops/bit.rs"},"crate_name":"core","contents":null},{"id":77,"name":{"Local":"/rustc/library/core/src/num/niche_types.rs"},"crate_name":"core","contents":null},{"id":78,"name":{"Local":"/rustc/library/core/src/ops/control_flow.rs"},"crate_name":"core","contents":null},{"id":79,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/scalar_mul/variable_base.rs"},"crate_name":"curve25519","contents":"#![allow(non_snake_case)]\n\nuse crate::backend::serial::curve_models::ProjectiveNielsPoint;\nuse crate::edwards::EdwardsPoint;\nuse crate::scalar::Scalar;\nuse crate::traits::Identity;\nuse crate::window::LookupTable;\n\n/// Perform constant-time, variable-base scalar multiplication.\n#[rustfmt::skip] // keep alignment of explanatory comments\npub(crate) fn mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n // Construct a lookup table of [P,2P,3P,4P,5P,6P,7P,8P]\n let lookup_table = LookupTable::::from(point);\n // Setting s = scalar, compute\n //\n // s = s_0 + s_1*16^1 + ... + s_63*16^63,\n //\n // with `-8 ≤ s_i < 8` for `0 ≤ i < 63` and `-8 ≤ s_63 ≤ 8`.\n // This decomposition requires s < 2^255, which is guaranteed by Scalar invariant #1.\n let scalar_digits = scalar.as_radix_16();\n // Compute s*P as\n //\n // s*P = P*(s_0 + s_1*16^1 + s_2*16^2 + ... + s_63*16^63)\n // s*P = P*s_0 + P*s_1*16^1 + P*s_2*16^2 + ... + P*s_63*16^63\n // s*P = P*s_0 + 16*(P*s_1 + 16*(P*s_2 + 16*( ... + P*s_63)...))\n //\n // We sum right-to-left.\n\n // Unwrap first loop iteration to save computing 16*identity\n let mut tmp2;\n let mut tmp3 = EdwardsPoint::identity();\n let mut tmp1 = &tmp3 + &lookup_table.select(scalar_digits[63]);\n // Now tmp1 = s_63*P in P1xP1 coords\n for i in (0..63).rev() {\n tmp2 = tmp1.as_projective(); // tmp2 = (prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 2*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 2*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 4*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 4*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 8*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 8*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 16*(prev) in P1xP1 coords\n tmp3 = tmp1.as_extended(); // tmp3 = 16*(prev) in P3 coords\n tmp1 = &tmp3 + &lookup_table.select(scalar_digits[i]);\n // Now tmp1 = s_i*P + 16*(prev) in P1xP1 coords\n }\n tmp1.as_extended()\n}\n"},{"id":80,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/scalar_mul.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Implementations of various scalar multiplication algorithms.\n//!\n//! Note that all of these implementations use serial code for field\n//! arithmetic with the multi-model strategy described in the\n//! `curve_models` module. The vectorized AVX2 backend has its own\n//! scalar multiplication implementations, since it only uses one\n//! curve model.\n\n#[allow(missing_docs)]\npub mod variable_base;\n\n#[allow(missing_docs)]\npub mod vartime_double_base;\n\n#[allow(missing_docs)]\npub mod vartime_triple_base;\n\n#[cfg(feature = \"alloc\")]\npub mod straus;\n\n#[cfg(feature = \"alloc\")]\npub mod precomputed_straus;\n\n#[cfg(feature = \"alloc\")]\npub mod pippenger;\n"},{"id":81,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector/scalar_mul/variable_base.rs"},"crate_name":"curve25519","contents":"#![allow(non_snake_case)]\n\n#[curve25519_dalek_derive::unsafe_target_feature_specialize(\"avx2\")]\npub mod spec {\n\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::{CachedPoint, ExtendedPoint};\n\n use crate::edwards::EdwardsPoint;\n use crate::scalar::Scalar;\n use crate::traits::Identity;\n use crate::window::LookupTable;\n\n /// Perform constant-time, variable-base scalar multiplication.\n pub fn mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n // Construct a lookup table of [P,2P,3P,4P,5P,6P,7P,8P]\n let lookup_table = LookupTable::::from(point);\n // Setting s = scalar, compute\n //\n // s = s_0 + s_1*16^1 + ... + s_63*16^63,\n //\n // with `-8 ≤ s_i < 8` for `0 ≤ i < 63` and `-8 ≤ s_63 ≤ 8`.\n let scalar_digits = scalar.as_radix_16();\n // Compute s*P as\n //\n // s*P = P*(s_0 + s_1*16^1 + s_2*16^2 + ... + s_63*16^63)\n // s*P = P*s_0 + P*s_1*16^1 + P*s_2*16^2 + ... + P*s_63*16^63\n // s*P = P*s_0 + 16*(P*s_1 + 16*(P*s_2 + 16*( ... + P*s_63)...))\n //\n // We sum right-to-left.\n let mut Q = ExtendedPoint::identity();\n for i in (0..64).rev() {\n Q = Q.mul_by_pow_2(4);\n Q = &Q + &lookup_table.select(scalar_digits[i]);\n }\n Q.into()\n }\n}\n"},{"id":82,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector/scalar_mul.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Implementations of various multiplication algorithms for the SIMD backends.\n\n#[allow(missing_docs)]\npub mod variable_base;\n\n#[allow(missing_docs)]\npub mod vartime_double_base;\n\n#[allow(missing_docs)]\npub mod vartime_triple_base;\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub mod straus;\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub mod precomputed_straus;\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub mod pippenger;\n"},{"id":83,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n#![doc = include_str!(\"../../docs/parallel-formulas.md\")]\n\n#[allow(missing_docs)]\npub mod packed_simd;\n\npub mod avx2;\n\npub mod scalar_mul;\n"},{"id":84,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n#![allow(non_snake_case)]\n\nuse core::cmp::Ordering;\n\nuse crate::backend::serial::curve_models::{ProjectiveNielsPoint, ProjectivePoint};\nuse crate::constants;\nuse crate::edwards::EdwardsPoint;\nuse crate::scalar::Scalar;\nuse crate::traits::Identity;\nuse crate::window::NafLookupTable5;\n\n/// Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\npub fn mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n let a_naf = a.non_adjacent_form(5);\n\n #[cfg(feature = \"precomputed-tables\")]\n let b_naf = b.non_adjacent_form(8);\n #[cfg(not(feature = \"precomputed-tables\"))]\n let b_naf = b.non_adjacent_form(5);\n\n // Find starting index\n let mut i: usize = 255;\n for j in (0..256).rev() {\n i = j;\n if a_naf[i] != 0 || b_naf[i] != 0 {\n break;\n }\n }\n\n let table_A = NafLookupTable5::::from(A);\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n let mut r = ProjectivePoint::identity();\n loop {\n let mut t = r.double();\n\n match a_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A.select(a_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A.select(-a_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n match b_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B.select(b_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B.select(-b_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n r = t.as_projective();\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n r.as_extended()\n}\n"},{"id":85,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector/scalar_mul/vartime_double_base.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n#![allow(non_snake_case)]\n\n#[curve25519_dalek_derive::unsafe_target_feature_specialize(\"avx2\")]\npub mod spec {\n\n use core::cmp::Ordering;\n\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::{CachedPoint, ExtendedPoint};\n\n #[cfg(feature = \"precomputed-tables\")]\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::constants::BASEPOINT_ODD_LOOKUP_TABLE;\n\n use crate::edwards::EdwardsPoint;\n use crate::scalar::Scalar;\n use crate::traits::Identity;\n use crate::window::NafLookupTable5;\n\n /// Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n pub fn mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n let a_naf = a.non_adjacent_form(5);\n\n #[cfg(feature = \"precomputed-tables\")]\n let b_naf = b.non_adjacent_form(8);\n #[cfg(not(feature = \"precomputed-tables\"))]\n let b_naf = b.non_adjacent_form(5);\n\n // Find starting index\n let mut i: usize = 255;\n for j in (0..256).rev() {\n i = j;\n if a_naf[i] != 0 || b_naf[i] != 0 {\n break;\n }\n }\n\n let table_A = NafLookupTable5::::from(A);\n\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &BASEPOINT_ODD_LOOKUP_TABLE;\n\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&crate::constants::ED25519_BASEPOINT_POINT);\n\n let mut Q = ExtendedPoint::identity();\n\n loop {\n Q = Q.double();\n\n match a_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_A.select(a_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_A.select(-a_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n match b_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_B.select(b_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_B.select(-b_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n Q.into()\n }\n}\n"},{"id":86,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_triple_base.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-sol.\n// Copyright (c) 2025 curve25519-sol contributors\n// See LICENSE for licensing information.\n//\n// This file is new in curve25519-sol and has no upstream equivalent in\n// curve25519-dalek. It implements a 4-variable multi-scalar multiplication\n// optimised for two 128-bit scalars and one 256-bit scalar, designed to\n// support the HEEA-accelerated Ed25519 verification path.\n#![allow(non_snake_case)]\n\nuse core::cmp::Ordering;\n\nuse crate::backend::serial::curve_models::{ProjectiveNielsPoint, ProjectivePoint};\nuse crate::constants;\nuse crate::edwards::EdwardsPoint;\nuse crate::scalar::{HEEA_MAX_INDEX, Scalar};\nuse crate::traits::Identity;\nuse crate::window::NafLookupTable5;\n\nconst DYNAMIC_NAF_WINDOW: usize = 5;\n\n// This intentionally differs from the vector backend when precomputed tables\n// are enabled. The serial backend can select width-5 b_lo digits from the\n// larger width-8 basepoint table, but keeps the smaller NAF window here as a\n// backend-specific performance tradeoff. Revisit this only with comparative\n// serial/vector benchmarks.\nconst B_LO_NAF_WINDOW: usize = DYNAMIC_NAF_WINDOW;\n\n/// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n///\n/// This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are known to be less than\n/// \\\\(2^{128}\\\\), while \\\\(b\\\\) is a full 256-bit scalar.\n///\n/// # Precondition\n///\n/// Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\). Use\n/// `vartime_triple_base_mul_128_128_256` for a checked wrapper that falls back\n/// to general scalar multiplication for full-width scalars.\n///\n/// # Optimization Strategy\n///\n/// The function decomposes the 256-bit scalar \\\\(b\\\\) as \\\\(b = b_{lo} + b_{hi} \\cdot 2^{128}\\\\),\n/// where both \\\\(b_{lo}\\\\) and \\\\(b_{hi}\\\\) are 128-bit values. This allows computing:\n///\n/// \\\\[\n/// a_1 A_1 + a_2 A_2 + b_{lo} B + b_{hi} B'\n/// \\\\]\n///\n/// where \\\\(B' = B \\cdot 2^{128}\\\\) is a precomputed constant. Now all four scalars\n/// (\\\\(a_1, a_2, b_{lo}, b_{hi}\\\\)) are 128 bits, and two of the bases (\\\\(B\\\\) and \\\\(B'\\\\))\n/// use precomputed tables.\n///\n/// # Implementation\n///\n/// - For \\\\(A_1\\\\) and \\\\(A_2\\\\): NAF with window width 5 (8 precomputed points each)\n/// - For \\\\(B\\\\): NAF with window width 5. When precomputed tables are enabled,\n/// these width-5 digits are selected from the larger width-8 basepoint table.\n/// - For \\\\(B'\\\\): NAF with window width 5.\n///\n/// The vector backend uses width 8 for \\\\(b_{lo}\\\\) when precomputed tables are\n/// enabled. This serial backend keeps width 5 for \\\\(b_{lo}\\\\) as a\n/// backend-specific performance tradeoff.\n///\n/// The algorithm shares doublings across all four scalar multiplications, processing\n/// only 128 bits instead of 256, providing approximately 2x speedup over the naive approach.\npub(crate) fn mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n // Decompose b into b_lo (lower 128 bits) and b_hi (upper 128 bits)\n // b = b_lo + b_hi * 2^128\n let b_bytes = b.as_bytes();\n\n let mut b_lo_bytes = [0u8; 32];\n let mut b_hi_bytes = [0u8; 32];\n\n // Copy lower 16 bytes to b_lo, upper 16 bytes to b_hi\n b_lo_bytes[..16].copy_from_slice(&b_bytes[..16]);\n b_hi_bytes[..16].copy_from_slice(&b_bytes[16..]);\n\n let b_lo = Scalar::from_canonical_bytes(b_lo_bytes).unwrap();\n let b_hi = Scalar::from_canonical_bytes(b_hi_bytes).unwrap();\n\n // Compute NAF representations (all scalars are now ~128 bits).\n //\n // The serial backend keeps b_lo at width 5 even when table_B is the larger\n // precomputed width-8 basepoint table. The vector backend uses width 8 in\n // that configuration.\n let a1_naf = a1.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let a2_naf = a2.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let b_lo_naf = b_lo.non_adjacent_form_128(B_LO_NAF_WINDOW);\n let b_hi_naf = b_hi.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n\n // Find starting index - check all NAFs up to bit 127\n // (with potential carry to bit 128 or 129)\n let mut i: usize = HEEA_MAX_INDEX;\n for j in (0..=HEEA_MAX_INDEX).rev() {\n i = j;\n if a1_naf[i] != 0 || a2_naf[i] != 0 || b_lo_naf[i] != 0 || b_hi_naf[i] != 0 {\n break;\n }\n }\n\n // Create lookup tables\n let table_A1 = NafLookupTable5::::from(A1);\n let table_A2 = NafLookupTable5::::from(A2);\n\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n // B' = B * 2^128 (precomputed constant point)\n #[cfg(feature = \"precomputed-tables\")]\n let table_B_128 = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT_128;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B_128 =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_128_POINT);\n\n let mut r = ProjectivePoint::identity();\n\n loop {\n let mut t = r.double();\n\n // Add contributions from a1*A1\n match a1_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A1.select(a1_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A1.select(-a1_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from a2*A2\n match a2_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A2.select(a2_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A2.select(-a2_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from b_lo*B\n match b_lo_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B.select(b_lo_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B.select(-b_lo_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from b_hi*B' where B' = B * 2^128\n match b_hi_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B_128.select(b_hi_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B_128.select(-b_hi_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n r = t.as_projective();\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n r.as_extended()\n}\n\n#[cfg(test)]\nmod test {\n\n use rand::{RngCore, thread_rng};\n\n use super::*;\n use crate::scalar::Scalar;\n\n fn random_scalar() -> Scalar {\n let mut wide = [0u8; 64];\n let mut rng = thread_rng();\n rng.fill_bytes(&mut wide);\n Scalar::from_bytes_mod_order_wide(&wide)\n }\n\n #[test]\n fn test_triple_base_multiplication() {\n // Test vectors with random scalars\n let a1 = Scalar::from(12345u64);\n let a2 = Scalar::from(67890u64);\n let b = random_scalar();\n\n // Random points (using scalar multiplication of basepoint)\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(2u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(3u64);\n\n // Compute using the optimized triple-base function\n let result = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n\n // Compute using naive addition\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n #[test]\n fn test_triple_base_multiplication_128() {\n // Test with 128-bit scalars for a1 and a2\n // Create a 128-bit scalar (use lower half)\n let a1_bytes = [\n 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00,\n ];\n let a1 = Scalar::from_bytes_mod_order(a1_bytes);\n\n let a2_bytes = [\n 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66,\n 0x77, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00,\n ];\n let a2 = Scalar::from_bytes_mod_order(a2_bytes);\n\n // Full 256-bit scalar for b\n let b = random_scalar();\n\n // Test points\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(5u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(7u64);\n\n // Test the optimized 128-bit version\n let result_128 = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n\n // Compute expected result\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result_128, expected, \"Optimized 128-bit version failed\");\n }\n\n #[test]\n fn test_triple_base_with_zero_scalars() {\n let a1 = Scalar::ZERO;\n let a2 = Scalar::from(123u64);\n let b = random_scalar();\n\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(2u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(3u64);\n\n let result = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let expected = a2 * A2 + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n #[test]\n fn test_triple_base_with_identity_points() {\n let a1 = Scalar::from(111u64);\n let a2 = Scalar::from(222u64);\n let b = random_scalar();\n\n let A1 = EdwardsPoint::identity();\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(3u64);\n\n let result = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let expected = a2 * A2 + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n #[test]\n fn test_triple_base_consistency() {\n // Test that both functions give the same result for 128-bit inputs\n let a1 = Scalar::from(0x123456789ABCDEFu64);\n let a2 = Scalar::from(0xFEDCBA987654321u64);\n let b = random_scalar();\n\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(11u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(13u64);\n\n let result_optimized = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let result_general = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result_optimized, result_general);\n }\n\n #[test]\n fn test_triple_base_large_scalars() {\n // Test with large scalars\n let mut a1_bytes = [0xFFu8; 32];\n a1_bytes[16..].fill(0x00);\n let a1 = Scalar::from_bytes_mod_order(a1_bytes);\n\n let mut a2_bytes = [0xAAu8; 32];\n a2_bytes[16..].fill(0x00);\n let a2 = Scalar::from_bytes_mod_order(a2_bytes);\n\n let b = random_scalar();\n\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(17u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(19u64);\n\n let result = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n #[test]\n fn test_checked_wrapper_accepts_full_width_scalars() {\n let mut a1_bytes = [0u8; 32];\n a1_bytes[0] = 7;\n a1_bytes[16] = 1;\n let a1 = Scalar::from_canonical_bytes(a1_bytes).unwrap();\n\n let mut a2_bytes = [0u8; 32];\n a2_bytes[0] = 11;\n a2_bytes[24] = 1;\n let a2 = Scalar::from_canonical_bytes(a2_bytes).unwrap();\n\n let b = random_scalar();\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(23u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(29u64);\n\n let result = crate::backend::vartime_triple_base_mul_128_128_256(&a1, &A1, &a2, &A2, &b);\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n // Proptest for vartime_triple_scalar_mul_basepoint equivalence\n proptest::proptest! {\n #[test]\n fn proptest_triple_scalar_mul_equivalence(\n a1_bytes_16 in proptest::array::uniform16(proptest::num::u8::ANY),\n a2_bytes_16 in proptest::array::uniform16(proptest::num::u8::ANY),\n b_bytes in proptest::array::uniform32(proptest::num::u8::ANY),\n A1_scalar_bytes in proptest::array::uniform32(proptest::num::u8::ANY),\n A2_scalar_bytes in proptest::array::uniform32(proptest::num::u8::ANY),\n ) {\n // Construct 128-bit scalars a1 and a2 (upper 16 bytes are zero)\n let mut a1_bytes = [0u8; 32];\n let mut a2_bytes = [0u8; 32];\n a1_bytes[..16].copy_from_slice(&a1_bytes_16);\n a2_bytes[..16].copy_from_slice(&a2_bytes_16);\n\n let a1 = Scalar::from_bytes_mod_order(a1_bytes);\n let a2 = Scalar::from_bytes_mod_order(a2_bytes);\n\n // Construct full 256-bit scalar b\n let b = Scalar::from_bytes_mod_order(b_bytes);\n\n // Generate random points A1 and A2 using scalar multiplication of basepoint\n let A1_scalar = Scalar::from_bytes_mod_order(A1_scalar_bytes);\n let A2_scalar = Scalar::from_bytes_mod_order(A2_scalar_bytes);\n let A1 = constants::ED25519_BASEPOINT_POINT * A1_scalar;\n let A2 = constants::ED25519_BASEPOINT_POINT * A2_scalar;\n\n // Compute using the optimized triple-base function\n let result_optimized = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n\n // Compute using raw operations: a1*A1 + a2*A2 + b*B\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n proptest::prop_assert_eq!(result_optimized, expected, \"Optimized triple scalar mul should equal raw operations\");\n }\n }\n}\n"},{"id":87,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector/scalar_mul/vartime_triple_base.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n\n#![allow(non_snake_case)]\n\n#[curve25519_dalek_derive::unsafe_target_feature_specialize(\"avx2\")]\npub mod spec {\n\n use core::cmp::Ordering;\n\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::{CachedPoint, ExtendedPoint};\n\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::constants::BASEPOINT_128_ODD_LOOKUP_TABLE;\n #[cfg(feature = \"precomputed-tables\")]\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::constants::BASEPOINT_ODD_LOOKUP_TABLE;\n\n #[cfg(not(feature = \"precomputed-tables\"))]\n use crate::constants;\n use crate::edwards::EdwardsPoint;\n use crate::scalar::HEEA_MAX_INDEX;\n use crate::scalar::Scalar;\n #[allow(unused_imports)]\n use crate::traits::Identity;\n use crate::window::NafLookupTable5;\n\n const DYNAMIC_NAF_WINDOW: usize = 5;\n\n // This intentionally differs from the serial backend when precomputed\n // tables are enabled. The AVX2 basepoint table is width 8, and this vector\n // path uses the larger b_lo NAF window in that configuration as a\n // backend-specific performance tradeoff.\n #[cfg(feature = \"precomputed-tables\")]\n const B_LO_NAF_WINDOW: usize = 8;\n #[cfg(not(feature = \"precomputed-tables\"))]\n const B_LO_NAF_WINDOW: usize = DYNAMIC_NAF_WINDOW;\n\n /// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n ///\n /// This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are known to be less than\n /// \\\\(2^{128}\\\\), while \\\\(b\\\\) is a full 256-bit scalar.\n ///\n /// # Precondition\n ///\n /// Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\). Use\n /// `vartime_triple_base_mul_128_128_256` for a checked wrapper that falls back\n /// to general scalar multiplication for full-width scalars.\n ///\n /// # Optimization Strategy\n ///\n /// The function decomposes the 256-bit scalar \\\\(b\\\\) as \\\\(b = b_{lo} + b_{hi} \\cdot 2^{128}\\\\),\n /// where both \\\\(b_{lo}\\\\) and \\\\(b_{hi}\\\\) are 128-bit values. This allows computing:\n ///\n /// \\\\[\n /// a_1 A_1 + a_2 A_2 + b_{lo} B + b_{hi} B'\n /// \\\\]\n ///\n /// where \\\\(B' = B \\cdot 2^{128}\\\\) is a precomputed constant. Now all four scalars\n /// (\\\\(a_1, a_2, b_{lo}, b_{hi}\\\\)) are 128 bits, and two of the bases (\\\\(B\\\\) and \\\\(B'\\\\))\n /// use precomputed tables.\n ///\n /// # Implementation\n ///\n /// - For \\\\(A_1\\\\) and \\\\(A_2\\\\): NAF with window width 5 (8 precomputed points each)\n /// - For \\\\(B\\\\): NAF with window width 8 when precomputed tables available (64 points), otherwise width 5\n /// - For \\\\(B'\\\\): NAF with window width 5\n ///\n /// The serial backend keeps \\\\(b_{lo}\\\\) at width 5 even when precomputed\n /// tables are enabled. This vector backend uses width 8 in that\n /// configuration as a backend-specific performance tradeoff.\n ///\n /// The algorithm shares doublings across all four scalar multiplications, processing\n /// only 128 bits instead of 256, providing approximately 2x speedup over the naive approach.\n ///\n /// This SIMD implementation uses vectorized point operations (AVX2 or AVX512-IFMA) for\n /// improved performance over the serial backend.\n pub(crate) fn mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n // Decompose b into b_lo (lower 128 bits) and b_hi (upper 128 bits)\n // b = b_lo + b_hi * 2^128\n let b_bytes = b.as_bytes();\n\n let mut b_lo_bytes = [0u8; 32];\n let mut b_hi_bytes = [0u8; 32];\n\n // Copy lower 16 bytes to b_lo, upper 16 bytes to b_hi\n b_lo_bytes[..16].copy_from_slice(&b_bytes[..16]);\n b_hi_bytes[..16].copy_from_slice(&b_bytes[16..]);\n\n let b_lo = Scalar::from_canonical_bytes_unchecked(b_lo_bytes);\n let b_hi = Scalar::from_canonical_bytes_unchecked(b_hi_bytes);\n\n // Compute NAF representations (all scalars are now ~128 bits)\n let a1_naf = a1.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let a2_naf = a2.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let b_lo_naf = b_lo.non_adjacent_form_128(B_LO_NAF_WINDOW);\n let b_hi_naf = b_hi.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n\n // Find starting index - check all NAFs up to bit 127\n // (with potential carry to bit 128 or 129)\n let mut i: usize = HEEA_MAX_INDEX;\n for j in (0..=HEEA_MAX_INDEX).rev() {\n i = j;\n if a1_naf[i] != 0 || a2_naf[i] != 0 || b_lo_naf[i] != 0 || b_hi_naf[i] != 0 {\n break;\n }\n }\n\n // Create lookup tables using SIMD-optimized CachedPoint\n let table_A1 = NafLookupTable5::::from(A1);\n let table_A2 = NafLookupTable5::::from(A2);\n\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &BASEPOINT_ODD_LOOKUP_TABLE;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B = &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n // B' = B * 2^128.\n let table_B_128 = &BASEPOINT_128_ODD_LOOKUP_TABLE;\n\n let mut Q = ExtendedPoint::identity();\n\n loop {\n Q = Q.double();\n\n // Add contributions from a1*A1\n match a1_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_A1.select(a1_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_A1.select(-a1_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n // Add contributions from a2*A2\n match a2_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_A2.select(a2_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_A2.select(-a2_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n // Add contributions from b_lo*B\n match b_lo_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_B.select(b_lo_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_B.select(-b_lo_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n // Add contributions from b_hi*B' where B' = B * 2^128\n match b_hi_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_B_128.select(b_hi_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_B_128.select(-b_hi_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n Q.into()\n }\n}\n\n#[cfg(all(test, target_arch = \"x86_64\"))]\nmod test {\n use super::spec_avx2;\n use crate::backend::serial;\n use crate::constants;\n use crate::scalar::Scalar;\n\n fn scalar_from_low_128(low: [u8; 16]) -> Scalar {\n let mut bytes = [0u8; 32];\n bytes[..16].copy_from_slice(&low);\n Scalar::from_canonical_bytes(bytes).unwrap()\n }\n\n #[test]\n fn avx2_triple_base_matches_serial_and_naive() {\n if !std::is_x86_feature_detected!(\"avx2\") {\n return;\n }\n\n let a1 = scalar_from_low_128([\n 0xff, 0xee, 0xdd, 0xcc, 0xbb, 0xaa, 0x99, 0x88, 0x77, 0x66, 0x55, 0x44, 0x33, 0x22,\n 0x11, 0x00,\n ]);\n let a2 = scalar_from_low_128([\n 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe, 0x0f, 0x1e, 0x2d, 0x3c, 0x4b, 0x5a,\n 0x69, 0x78,\n ]);\n let b = Scalar::from_bytes_mod_order([\n 0x42, 0x91, 0x0a, 0xbe, 0xef, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99,\n 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,\n 0x10, 0x20, 0x30, 0x40,\n ]);\n\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(31u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(37u64);\n\n let avx2 = spec_avx2::mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let serial = serial::scalar_mul::vartime_triple_base::mul_128_128_256_prechecked(\n &a1, &A1, &a2, &A2, &b,\n );\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(avx2, serial);\n assert_eq!(avx2, expected);\n }\n}\n"}],"item_names":[{"key":{"Type":0},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Ident":["FieldElement",0]}]},{"key":{"TraitImpl":0},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":0}}]},{"key":{"TraitImpl":1},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}}]},{"key":{"TraitImpl":2},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":2}}]},{"key":{"TraitImpl":3},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":3}}]},{"key":{"Type":1},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Ident":["FieldElement51",0]}]},{"key":{"TraitImpl":4},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":4}}]},{"key":{"TraitImpl":5},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":5}}]},{"key":{"TraitImpl":6},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":6}}]},{"key":{"TraitImpl":7},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}}]},{"key":{"TraitImpl":8},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}}]},{"key":{"TraitImpl":9},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}}]},{"key":{"TraitImpl":10},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}}]},{"key":{"TraitImpl":11},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}}]},{"key":{"TraitImpl":12},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}}]},{"key":{"TraitImpl":13},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}}]},{"key":{"TraitImpl":14},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}}]},{"key":{"TraitImpl":15},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}}]},{"key":{"Type":2},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["ProjectivePoint",0]}]},{"key":{"TraitImpl":16},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":16}}]},{"key":{"TraitImpl":17},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":17}}]},{"key":{"TraitImpl":18},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":18}}]},{"key":{"Type":3},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["CompletedPoint",0]}]},{"key":{"TraitImpl":19},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":19}}]},{"key":{"TraitImpl":20},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":20}}]},{"key":{"TraitImpl":21},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":21}}]},{"key":{"Type":4},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["AffineNielsPoint",0]}]},{"key":{"TraitImpl":22},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":22}}]},{"key":{"TraitImpl":23},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":23}}]},{"key":{"TraitImpl":24},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":24}}]},{"key":{"TraitImpl":25},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":25}}]},{"key":{"TraitImpl":26},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":26}}]},{"key":{"TraitImpl":27},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}}]},{"key":{"Type":5},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":28},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":28}}]},{"key":{"TraitImpl":29},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":29}}]},{"key":{"TraitImpl":30},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":30}}]},{"key":{"TraitImpl":31},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":31}}]},{"key":{"TraitImpl":32},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":32}}]},{"key":{"TraitImpl":33},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":33}}]},{"key":{"TraitImpl":34},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":34}}]},{"key":{"TraitImpl":35},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":35}}]},{"key":{"TraitImpl":36},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}}]},{"key":{"TraitImpl":37},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}}]},{"key":{"TraitImpl":38},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}}]},{"key":{"TraitImpl":39},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}}]},{"key":{"TraitImpl":40},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}}]},{"key":{"TraitImpl":41},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}}]},{"key":{"TraitImpl":42},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}}]},{"key":{"TraitImpl":43},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}}]},{"key":{"TraitImpl":44},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}}]},{"key":{"TraitImpl":45},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}}]},{"key":{"TraitImpl":46},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}}]},{"key":{"TraitImpl":47},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}}]},{"key":{"TraitImpl":48},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}}]},{"key":{"Type":6},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["CompressedEdwardsY",0]}]},{"key":{"TraitImpl":49},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":49}}]},{"key":{"TraitImpl":50},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":50}}]},{"key":{"TraitImpl":51},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":51}}]},{"key":{"TraitImpl":52},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":52}}]},{"key":{"TraitImpl":53},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":53}}]},{"key":{"TraitImpl":54},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":54}}]},{"key":{"TraitImpl":55},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}}]},{"key":{"TraitImpl":56},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}}]},{"key":{"TraitImpl":57},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":57}}]},{"key":{"Type":7},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["EdwardsPoint",0]}]},{"key":{"TraitImpl":58},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":58}}]},{"key":{"TraitImpl":59},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":59}}]},{"key":{"TraitImpl":60},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":60}}]},{"key":{"TraitImpl":61},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":61}}]},{"key":{"TraitImpl":62},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":62}}]},{"key":{"TraitImpl":63},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":63}}]},{"key":{"TraitImpl":64},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":64}}]},{"key":{"TraitImpl":65},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}}]},{"key":{"TraitImpl":66},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}}]},{"key":{"TraitImpl":67},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":67}}]},{"key":{"TraitImpl":68},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}}]},{"key":{"TraitImpl":69},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":69}}]},{"key":{"TraitImpl":70},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}}]},{"key":{"TraitImpl":71},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}}]},{"key":{"TraitImpl":72},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}}]},{"key":{"TraitImpl":73},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}}]},{"key":{"TraitImpl":74},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}}]},{"key":{"TraitImpl":75},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}}]},{"key":{"TraitImpl":76},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}}]},{"key":{"TraitImpl":77},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}}]},{"key":{"TraitImpl":78},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}}]},{"key":{"TraitImpl":79},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}}]},{"key":{"TraitImpl":80},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}}]},{"key":{"TraitImpl":81},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}}]},{"key":{"TraitImpl":82},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":82}}]},{"key":{"TraitImpl":83},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}}]},{"key":{"TraitImpl":84},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}}]},{"key":{"TraitImpl":85},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}}]},{"key":{"TraitImpl":86},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}}]},{"key":{"TraitImpl":87},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}}]},{"key":{"TraitImpl":88},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}}]},{"key":{"TraitImpl":89},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}}]},{"key":{"TraitImpl":90},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}}]},{"key":{"TraitImpl":91},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}}]},{"key":{"TraitImpl":92},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}}]},{"key":{"TraitImpl":93},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}}]},{"key":{"TraitImpl":94},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}}]},{"key":{"TraitImpl":95},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}}]},{"key":{"TraitDecl":0},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]}]},{"key":{"TraitDecl":1},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]}]},{"key":{"Fun":0},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]},{"Ident":["assert_receiver_is_total_eq",0]}]},{"key":{"Fun":1},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Global":0},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":2},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}},{"Ident":["eq",0]}]},{"key":{"Type":8},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":3},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["eq",0]}]},{"key":{"Fun":4},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["ne",0]}]},{"key":{"TraitDecl":2},"value":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]}]},{"key":{"Fun":5},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":2}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":6},"value":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]},{"Ident":["ct_eq",0]}]},{"key":{"Type":9},"value":[{"Ident":["subtle",0]},{"Ident":["Choice",0]}]},{"key":{"Fun":7},"value":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]},{"Ident":["ct_ne",0]}]},{"key":{"TraitDecl":3},"value":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]}]},{"key":{"Fun":8},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":3}},{"Ident":["default",0]}]},{"key":{"Fun":9},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1391,{"Adt":{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["is_negative",0]}]},{"key":{"Fun":10},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["is_zero",0]}]},{"key":{"Fun":11},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow22501",0]}]},{"key":{"Fun":12},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["internal_invert_batch",0]}]},{"key":{"Fun":13},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invert",0]}]},{"key":{"Fun":14},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow_p58",0]}]},{"key":{"Fun":15},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]}]},{"key":{"Fun":16},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invsqrt",0]}]},{"key":{"TraitDecl":4},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Copy",0]}]},{"key":{"TraitDecl":5},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]}]},{"key":{"TraitDecl":6},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["TrivialClone",0]}]},{"key":{"Fun":17},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":6}},{"Ident":["clone",0]}]},{"key":{"Fun":18},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone",0]}]},{"key":{"Fun":19},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone_from",0]}]},{"key":{"TraitDecl":7},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]}]},{"key":{"TraitDecl":8},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]}]},{"key":{"Global":1},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":20},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["fmt",0]}]},{"key":{"TraitDecl":9},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]}]},{"key":{"Global":2},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":21},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}},{"Ident":["add_assign",0]}]},{"key":{"TraitDecl":10},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]}]},{"key":{"Global":3},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":22},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}},{"Ident":["add",0]}]},{"key":{"TraitDecl":11},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]}]},{"key":{"Global":4},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":23},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}},{"Ident":["sub_assign",0]}]},{"key":{"TraitDecl":12},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]}]},{"key":{"Global":5},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":24},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}},{"Ident":["sub",0]}]},{"key":{"TraitDecl":13},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]}]},{"key":{"Global":6},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":25},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}},{"Ident":["mul_assign",0]}]},{"key":{"TraitDecl":14},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]}]},{"key":{"Global":7},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":26},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]}]},{"key":{"TraitDecl":15},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]}]},{"key":{"Global":8},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":27},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}},{"Ident":["neg",0]}]},{"key":{"TraitDecl":16},"value":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]}]},{"key":{"Fun":28},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":29},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":30},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":31},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_limbs",0]}]},{"key":{"Global":9},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ZERO",0]}]},{"key":{"Global":10},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ONE",0]}]},{"key":{"Global":11},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["MINUS_ONE",0]}]},{"key":{"Fun":32},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["negate",0]}]},{"key":{"Fun":33},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]}]},{"key":{"Fun":34},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_bytes",0]}]},{"key":{"Fun":35},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["to_bytes",0]}]},{"key":{"Fun":36},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]}]},{"key":{"Fun":37},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["square",0]}]},{"key":{"Fun":38},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["square2",0]}]},{"key":{"Fun":39},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":18}},{"Ident":["clone",0]}]},{"key":{"Fun":40},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":21}},{"Ident":["clone",0]}]},{"key":{"Fun":41},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":24}},{"Ident":["clone",0]}]},{"key":{"Fun":42},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":25}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"TraitDecl":17},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["StructuralPartialEq",0]}]},{"key":{"Global":12},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":26}},{"Ident":["{vtable}",0]}]},{"key":{"Global":13},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":43},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}},{"Ident":["eq",0]}]},{"key":{"Fun":44},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":30}},{"Ident":["clone",0]}]},{"key":{"TraitDecl":18},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["Identity",0]}]},{"key":{"Fun":45},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":31}},{"Ident":["identity",0]}]},{"key":{"Fun":46},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":32}},{"Ident":["identity",0]}]},{"key":{"Fun":47},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":33}},{"Ident":["default",0]}]},{"key":{"Fun":48},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":34}},{"Ident":["identity",0]}]},{"key":{"Fun":49},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":35}},{"Ident":["default",0]}]},{"key":{"TraitDecl":19},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]}]},{"key":{"Global":14},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":50},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["is_valid",0]}]},{"key":{"Fun":51},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":52},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":53},"value":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_select",0]}]},{"key":{"Fun":54},"value":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":55},"value":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":56},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":57},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":58},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1819,{"Adt":{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["as_extended",0]}]},{"key":{"Fun":59},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1831,{"Adt":{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["as_projective",0]}]},{"key":{"Fun":60},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1831},"kind":"InherentImplBlock"}}},{"Ident":["as_extended",0]}]},{"key":{"Fun":61},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1819},"kind":"InherentImplBlock"}}},{"Ident":["double",0]}]},{"key":{"Global":15},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":62},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}},{"Ident":["add",0]}]},{"key":{"Global":16},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":63},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}},{"Ident":["sub",0]}]},{"key":{"Global":17},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":64},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}},{"Ident":["add",0]}]},{"key":{"Global":18},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":65},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}},{"Ident":["sub",0]}]},{"key":{"Global":19},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":66},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}},{"Ident":["neg",0]}]},{"key":{"Global":20},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":67},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}},{"Ident":["neg",0]}]},{"key":{"Global":21},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":68},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}},{"Ident":["fmt",0]}]},{"key":{"Global":22},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":69},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}},{"Ident":["fmt",0]}]},{"key":{"Global":23},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":70},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}},{"Ident":["fmt",0]}]},{"key":{"Global":24},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":71},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}},{"Ident":["fmt",0]}]},{"key":{"Type":10},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Ident":["AffinePoint",0]}]},{"key":{"TraitImpl":96},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":96}}]},{"key":{"TraitImpl":97},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":97}}]},{"key":{"TraitImpl":98},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":98}}]},{"key":{"TraitImpl":99},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}}]},{"key":{"TraitImpl":100},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":100}}]},{"key":{"TraitImpl":101},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}}]},{"key":{"TraitImpl":102},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":102}}]},{"key":{"TraitImpl":103},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":103}}]},{"key":{"TraitImpl":104},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}}]},{"key":{"TraitImpl":105},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":105}}]},{"key":{"TraitImpl":106},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}}]},{"key":{"TraitImpl":107},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}}]},{"key":{"Fun":72},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":51}},{"Ident":["clone",0]}]},{"key":{"TraitDecl":20},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]}]},{"key":{"TraitDecl":21},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]}]},{"key":{"Fun":73},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":52}},{"Ident":["hash",0]}]},{"key":{"Fun":74},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]},{"Ident":["hash",0]}]},{"key":{"Fun":75},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]},{"Ident":["hash_slice",0]}]},{"key":{"Fun":76},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":53}},{"Ident":["ct_eq",0]}]},{"key":{"Global":25},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":77},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}},{"Ident":["eq",0]}]},{"key":{"Global":26},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":78},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}},{"Ident":["fmt",0]}]},{"key":{"Fun":79},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[2116,{"Adt":{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["as_bytes",0]}]},{"key":{"Fun":80},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["to_bytes",0]}]},{"key":{"Fun":81},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["decompress",0]}]},{"key":{"TraitDecl":22},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["TryFrom",0]}]},{"key":{"Type":11},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["TryFromSliceError",0]}]},{"key":{"Fun":82},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":57}},{"Ident":["try_from",0]}]},{"key":{"Fun":83},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":60}},{"Ident":["clone",0]}]},{"key":{"Fun":84},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":61}},{"Ident":["identity",0]}]},{"key":{"Fun":85},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":62}},{"Ident":["default",0]}]},{"key":{"Fun":86},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["from_slice",0]}]},{"key":{"Fun":87},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":63}},{"Ident":["identity",0]}]},{"key":{"Fun":88},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":64}},{"Ident":["default",0]}]},{"key":{"Global":27},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":89},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}},{"Ident":["is_valid",0]}]},{"key":{"Fun":90},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":91},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":67}},{"Ident":["ct_eq",0]}]},{"key":{"Global":28},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":92},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}},{"Ident":["eq",0]}]},{"key":{"Fun":93},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1955,{"Adt":{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["as_projective_niels",0]}]},{"key":{"Fun":94},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective",0]}]},{"key":{"Fun":95},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_affine_niels",0]}]},{"key":{"Fun":96},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["to_affine",0]}]},{"key":{"Fun":97},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["to_montgomery",0]}]},{"key":{"Fun":98},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["compress",0]}]},{"key":{"Fun":99},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["double",0]}]},{"key":{"Global":29},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":100},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}},{"Ident":["add",0]}]},{"key":{"Global":30},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":101},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}},{"Ident":["add",0]}]},{"key":{"Global":31},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":102},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}},{"Ident":["add",0]}]},{"key":{"Global":32},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":103},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}},{"Ident":["add",0]}]},{"key":{"Global":33},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":104},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}},{"Ident":["add_assign",0]}]},{"key":{"Global":34},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":105},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}},{"Ident":["add_assign",0]}]},{"key":{"Global":35},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":106},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}},{"Ident":["sub",0]}]},{"key":{"Global":36},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":107},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}},{"Ident":["sub",0]}]},{"key":{"Global":37},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":108},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}},{"Ident":["sub",0]}]},{"key":{"Global":38},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":109},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}},{"Ident":["sub",0]}]},{"key":{"Global":39},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":110},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}},{"Ident":["sub_assign",0]}]},{"key":{"Global":40},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":111},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}},{"Ident":["sub_assign",0]}]},{"key":{"TraitDecl":23},"value":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]}]},{"key":{"TraitDecl":24},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]}]},{"key":{"TraitDecl":25},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]}]},{"key":{"Fun":112},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":82}},{"Ident":["sum",0]}]},{"key":{"Global":41},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":113},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}},{"Ident":["neg",0]}]},{"key":{"Global":42},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":114},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}},{"Ident":["neg",0]}]},{"key":{"Type":12},"value":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Ident":["Scalar",0]}]},{"key":{"Global":43},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":115},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}},{"Ident":["mul_assign",0]}]},{"key":{"Global":44},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":116},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}},{"Ident":["mul_assign",0]}]},{"key":{"Global":45},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":117},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}},{"Ident":["mul",0]}]},{"key":{"Global":46},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":118},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}},{"Ident":["mul",0]}]},{"key":{"Global":47},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":119},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}},{"Ident":["mul",0]}]},{"key":{"Global":48},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":120},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}},{"Ident":["mul",0]}]},{"key":{"Global":49},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":121},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}},{"Ident":["mul",0]}]},{"key":{"Global":50},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":122},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}},{"Ident":["mul",0]}]},{"key":{"Global":51},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":123},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}},{"Ident":["mul",0]}]},{"key":{"Global":52},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":124},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}},{"Ident":["mul",0]}]},{"key":{"Fun":125},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_base",0]}]},{"key":{"Fun":126},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_clamped",0]}]},{"key":{"Fun":127},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_base_clamped",0]}]},{"key":{"Fun":128},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["vartime_double_scalar_mul_basepoint",0]}]},{"key":{"Fun":129},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["vartime_triple_scalar_mul_basepoint",0]}]},{"key":{"Fun":130},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_by_cofactor",0]}]},{"key":{"Fun":131},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_by_pow_2",0]}]},{"key":{"Fun":132},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["is_small_order",0]}]},{"key":{"Fun":133},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["is_torsion_free",0]}]},{"key":{"Global":53},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":134},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}},{"Ident":["fmt",0]}]},{"key":{"TraitImpl":108},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Impl":{"Trait":108}}]},{"key":{"Fun":135},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Impl":{"Trait":108}},{"Ident":["into",0]}]},{"key":{"TraitDecl":26},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]}]},{"key":{"TraitImpl":109},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":109}}]},{"key":{"TraitImpl":110},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":110}}]},{"key":{"Fun":136},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":110}},{"Ident":["ct_eq",0]}]},{"key":{"TraitImpl":111},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":111}}]},{"key":{"Fun":137},"value":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]},{"Ident":["default",0]}]},{"key":{"TraitImpl":112},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":112}}]},{"key":{"Global":54},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]},{"Ident":["{promoted_const}",1]}]},{"key":{"Global":55},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"TraitImpl":113},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}}]},{"key":{"Fun":138},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}},{"Ident":["bitor",0]}]},{"key":{"Global":56},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invsqrt",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":139},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]},{"Ident":["drop_glue",0]}]},{"key":{"Type":13},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":140},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]},{"Ident":["fmt",0]}]},{"key":{"Type":14},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Formatter",0]}]},{"key":{"Type":15},"value":[{"Ident":["core",0]},{"Ident":["result",0]},{"Ident":["Result",0]}]},{"key":{"Type":16},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Error",0]}]},{"key":{"Type":17},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Arguments",0]}]},{"key":{"Type":18},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["RangeFull",0]}]},{"key":{"Type":19},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["rt",0]},{"Ident":["Argument",0]}]},{"key":{"TraitImpl":114},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}}]},{"key":{"Fun":141},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}},{"Ident":["index",0]}]},{"key":{"TraitDecl":27},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]}]},{"key":{"TraitImpl":115},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}}]},{"key":{"TraitDecl":28},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]}]},{"key":{"TraitImpl":116},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}}]},{"key":{"Fun":142},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["rt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[3353,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["new_debug",0]}]},{"key":{"TraitImpl":117},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}}]},{"key":{"TraitImpl":118},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}}]},{"key":{"TraitImpl":119},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}}]},{"key":{"Fun":143},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[3420,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["new",0]}]},{"key":{"Fun":144},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[3469,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["write_fmt",0]}]},{"key":{"Type":20},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":145},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]},{"Ident":["add_assign",0]}]},{"key":{"Type":21},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["Range",0]}]},{"key":{"Type":22},"value":[{"Ident":["core",0]},{"Ident":["option",0]},{"Ident":["Option",0]}]},{"key":{"TraitImpl":120},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}}]},{"key":{"Fun":146},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}},{"Ident":["into_iter",0]}]},{"key":{"TraitImpl":121},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}}]},{"key":{"TraitDecl":29},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]}]},{"key":{"TraitImpl":122},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}}]},{"key":{"Fun":147},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["next",0]}]},{"key":{"Type":23},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":148},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]},{"Ident":["add",0]}]},{"key":{"Type":24},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":149},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]},{"Ident":["sub_assign",0]}]},{"key":{"Type":25},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":150},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]},{"Ident":["sub",0]}]},{"key":{"Type":26},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":151},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]},{"Ident":["mul_assign",0]}]},{"key":{"Type":27},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":152},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]},{"Ident":["mul",0]}]},{"key":{"Fun":153},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["m",0]}]},{"key":{"Global":57},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Type":28},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":154},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]},{"Ident":["neg",0]}]},{"key":{"TraitImpl":123},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}}]},{"key":{"Fun":155},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":156},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":157},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":158},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ZERO",0]}]},{"key":{"Fun":159},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ONE",0]}]},{"key":{"Fun":160},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["MINUS_ONE",0]}]},{"key":{"Global":58},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Fun":161},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_bytes",0]},{"Ident":["load8_at",0]}]},{"key":{"Fun":162},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["m",0]}]},{"key":{"Global":59},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Type":29},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["StructuralPartialEq",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":163},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["Identity",0]},{"Ident":["identity",0]}]},{"key":{"Type":30},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":164},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]},{"Ident":["is_valid",0]}]},{"key":{"Global":60},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["is_valid",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":165},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":98}},{"Ident":["clone",0]}]},{"key":{"Global":61},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":166},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}},{"Ident":["fmt",0]}]},{"key":{"Fun":167},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":100}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":168},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":169},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":102}},{"Ident":["default",0]}]},{"key":{"Fun":170},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":103}},{"Ident":["identity",0]}]},{"key":{"Global":62},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":171},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}},{"Ident":["eq",0]}]},{"key":{"Fun":172},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[4121,{"Adt":{"id":{"Adt":10},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["to_edwards",0]}]},{"key":{"Fun":173},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":4121},"kind":"InherentImplBlock"}}},{"Ident":["compress",0]}]},{"key":{"Global":63},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":174},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}},{"Ident":["mul",0]}]},{"key":{"Global":64},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":175},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}},{"Ident":["mul",0]}]},{"key":{"Type":31},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":176},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["finish",0]}]},{"key":{"Fun":177},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write",0]}]},{"key":{"Fun":178},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u8",0]}]},{"key":{"Fun":179},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u16",0]}]},{"key":{"Fun":180},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u32",0]}]},{"key":{"Fun":181},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u64",0]}]},{"key":{"Fun":182},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u128",0]}]},{"key":{"Fun":183},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_usize",0]}]},{"key":{"Fun":184},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i8",0]}]},{"key":{"Fun":185},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i16",0]}]},{"key":{"Fun":186},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i32",0]}]},{"key":{"Fun":187},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i64",0]}]},{"key":{"Fun":188},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i128",0]}]},{"key":{"Fun":189},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_isize",0]}]},{"key":{"Fun":190},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_length_prefix",0]}]},{"key":{"Fun":191},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_str",0]}]},{"key":{"TraitImpl":124},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":124}}]},{"key":{"Fun":192},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":124}},{"Ident":["hash",0]}]},{"key":{"TraitImpl":125},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}}]},{"key":{"TraitImpl":126},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}}]},{"key":{"TraitImpl":127},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}}]},{"key":{"Fun":193},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["decompress",0]},{"Ident":["step_1",0]}]},{"key":{"Fun":194},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["decompress",0]},{"Ident":["step_2",0]}]},{"key":{"Fun":195},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["TryFrom",0]},{"Ident":["try_from",0]}]},{"key":{"TraitImpl":128},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}}]},{"key":{"Fun":196},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}},{"Ident":["bitand",0]}]},{"key":{"Global":65},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective_niels",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Global":66},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_affine_niels",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Type":32},"value":[{"Ident":["curve25519",0]},{"Ident":["montgomery",0]},{"Ident":["MontgomeryPoint",0]}]},{"key":{"Type":33},"value":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":197},"value":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]},{"Ident":["borrow",0]}]},{"key":{"Fun":198},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]},{"Ident":["sum",0]}]},{"key":{"Type":34},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":199},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next",0]}]},{"key":{"Fun":200},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next_chunk",0]}]},{"key":{"Type":35},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["iter",0]},{"Ident":["IntoIter",0]}]},{"key":{"Fun":201},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["size_hint",0]}]},{"key":{"Fun":202},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["count",0]}]},{"key":{"Fun":203},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["last",0]}]},{"key":{"Fun":204},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["advance_by",0]}]},{"key":{"Type":36},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["NonZero",0]}]},{"key":{"TraitDecl":30},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["ZeroablePrimitive",0]}]},{"key":{"TraitImpl":129},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":129}}]},{"key":{"Fun":205},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["nth",0]}]},{"key":{"Fun":206},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["step_by",0]}]},{"key":{"Type":37},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["step_by",0]},{"Ident":["StepBy",0]}]},{"key":{"Fun":207},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["chain",0]}]},{"key":{"TraitDecl":31},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]}]},{"key":{"Type":38},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["chain",0]},{"Ident":["Chain",0]}]},{"key":{"Fun":208},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["zip",0]}]},{"key":{"Type":39},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["Zip",0]}]},{"key":{"Fun":209},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["intersperse",0]}]},{"key":{"Type":40},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["Intersperse",0]}]},{"key":{"Fun":210},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["intersperse_with",0]}]},{"key":{"TraitDecl":32},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]}]},{"key":{"TraitDecl":33},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]}]},{"key":{"Type":41},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["IntersperseWith",0]}]},{"key":{"Fun":211},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map",0]}]},{"key":{"Type":42},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map",0]},{"Ident":["Map",0]}]},{"key":{"Fun":212},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["for_each",0]}]},{"key":{"Fun":213},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["filter",0]}]},{"key":{"Type":43},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter",0]},{"Ident":["Filter",0]}]},{"key":{"Fun":214},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["filter_map",0]}]},{"key":{"Type":44},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter_map",0]},{"Ident":["FilterMap",0]}]},{"key":{"Fun":215},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["enumerate",0]}]},{"key":{"Type":45},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["enumerate",0]},{"Ident":["Enumerate",0]}]},{"key":{"Fun":216},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["peekable",0]}]},{"key":{"Type":46},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["peekable",0]},{"Ident":["Peekable",0]}]},{"key":{"Fun":217},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["skip_while",0]}]},{"key":{"Type":47},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip_while",0]},{"Ident":["SkipWhile",0]}]},{"key":{"Fun":218},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["take_while",0]}]},{"key":{"Type":48},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take_while",0]},{"Ident":["TakeWhile",0]}]},{"key":{"Fun":219},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map_while",0]}]},{"key":{"Type":49},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_while",0]},{"Ident":["MapWhile",0]}]},{"key":{"Fun":220},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["skip",0]}]},{"key":{"Type":50},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip",0]},{"Ident":["Skip",0]}]},{"key":{"Fun":221},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["take",0]}]},{"key":{"Type":51},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take",0]},{"Ident":["Take",0]}]},{"key":{"Fun":222},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["scan",0]}]},{"key":{"Type":52},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["scan",0]},{"Ident":["Scan",0]}]},{"key":{"Fun":223},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["flat_map",0]}]},{"key":{"Type":53},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["FlatMap",0]}]},{"key":{"Fun":224},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["flatten",0]}]},{"key":{"Type":54},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["Flatten",0]}]},{"key":{"Fun":225},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map_windows",0]}]},{"key":{"Type":55},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_windows",0]},{"Ident":["MapWindows",0]}]},{"key":{"Fun":226},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["fuse",0]}]},{"key":{"Type":56},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["fuse",0]},{"Ident":["Fuse",0]}]},{"key":{"Fun":227},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["inspect",0]}]},{"key":{"Type":57},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["inspect",0]},{"Ident":["Inspect",0]}]},{"key":{"Fun":228},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["by_ref",0]}]},{"key":{"Fun":229},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["collect",0]}]},{"key":{"TraitDecl":34},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]}]},{"key":{"Fun":230},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_collect",0]}]},{"key":{"TraitDecl":35},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]}]},{"key":{"TraitDecl":36},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Residual",0]}]},{"key":{"Fun":231},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["collect_into",0]}]},{"key":{"TraitDecl":37},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]}]},{"key":{"Fun":232},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partition",0]}]},{"key":{"Fun":233},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partition_in_place",0]}]},{"key":{"TraitDecl":38},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]}]},{"key":{"Fun":234},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_partitioned",0]}]},{"key":{"Fun":235},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_fold",0]}]},{"key":{"Fun":236},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_for_each",0]}]},{"key":{"Fun":237},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["fold",0]}]},{"key":{"Fun":238},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["reduce",0]}]},{"key":{"Fun":239},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_reduce",0]}]},{"key":{"Fun":240},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["all",0]}]},{"key":{"Fun":241},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["any",0]}]},{"key":{"Fun":242},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["find",0]}]},{"key":{"Fun":243},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["find_map",0]}]},{"key":{"Fun":244},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_find",0]}]},{"key":{"Fun":245},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["position",0]}]},{"key":{"Fun":246},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["rposition",0]}]},{"key":{"TraitDecl":39},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]}]},{"key":{"Fun":247},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max",0]}]},{"key":{"TraitDecl":40},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]}]},{"key":{"Fun":248},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min",0]}]},{"key":{"Fun":249},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max_by_key",0]}]},{"key":{"Fun":250},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max_by",0]}]},{"key":{"Type":58},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ordering",0]}]},{"key":{"Fun":251},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min_by_key",0]}]},{"key":{"Fun":252},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min_by",0]}]},{"key":{"Fun":253},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["rev",0]}]},{"key":{"Type":59},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["rev",0]},{"Ident":["Rev",0]}]},{"key":{"Fun":254},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["unzip",0]}]},{"key":{"Fun":255},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["copied",0]}]},{"key":{"Type":60},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["copied",0]},{"Ident":["Copied",0]}]},{"key":{"Fun":256},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cloned",0]}]},{"key":{"Type":61},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cloned",0]},{"Ident":["Cloned",0]}]},{"key":{"Fun":257},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cycle",0]}]},{"key":{"Type":62},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cycle",0]},{"Ident":["Cycle",0]}]},{"key":{"Fun":258},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["array_chunks",0]}]},{"key":{"Type":63},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["array_chunks",0]},{"Ident":["ArrayChunks",0]}]},{"key":{"Fun":259},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["sum",0]}]},{"key":{"Fun":260},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["product",0]}]},{"key":{"TraitDecl":41},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]}]},{"key":{"Fun":261},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cmp",0]}]},{"key":{"Fun":262},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cmp_by",0]}]},{"key":{"Fun":263},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partial_cmp",0]}]},{"key":{"TraitDecl":42},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]}]},{"key":{"Fun":264},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partial_cmp_by",0]}]},{"key":{"Fun":265},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["eq",0]}]},{"key":{"Fun":266},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["eq_by",0]}]},{"key":{"Fun":267},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["ne",0]}]},{"key":{"Fun":268},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["lt",0]}]},{"key":{"Fun":269},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["le",0]}]},{"key":{"Fun":270},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["gt",0]}]},{"key":{"Fun":271},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["ge",0]}]},{"key":{"Fun":272},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted",0]}]},{"key":{"Fun":273},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted_by",0]}]},{"key":{"Fun":274},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted_by_key",0]}]},{"key":{"Fun":275},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"TraitDecl":43},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]}]},{"key":{"Fun":276},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["variable_base_mul",0]}]},{"key":{"Global":67},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["ED25519_BASEPOINT_POINT",0]}]},{"key":{"Fun":277},"value":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Ident":["clamp_integer",0]}]},{"key":{"Fun":278},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_double_base_mul",0]}]},{"key":{"Fun":279},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_triple_base_mul_128_128_256",0]}]},{"key":{"TraitImpl":130},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}}]},{"key":{"TraitImpl":131},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}}]},{"key":{"Fun":280},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}},{"Ident":["is_identity",0]}]},{"key":{"Global":68},"value":[{"Ident":["curve25519",0]},{"Ident":["constants",0]},{"Ident":["BASEPOINT_ORDER",0]}]},{"key":{"TraitDecl":44},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["Into",0]}]},{"key":{"Fun":281},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]},{"Ident":["from",0]}]},{"key":{"Fun":282},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":109}},{"Ident":["from",0]}]},{"key":{"Fun":283},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":111}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":284},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":112}},{"Ident":["from",0]}]},{"key":{"Fun":285},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]},{"Ident":["{promoted_const}",1]}]},{"key":{"Fun":286},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"TraitDecl":45},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]}]},{"key":{"Global":69},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":287},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invsqrt",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Global":70},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}},{"Ident":["{vtable}",0]}]},{"key":{"Type":64},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":288},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["index",0]}]},{"key":{"Global":71},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":289},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}},{"Ident":["index",0]}]},{"key":{"TraitDecl":46},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]}]},{"key":{"Type":65},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":290},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get",0]}]},{"key":{"Fun":291},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_mut",0]}]},{"key":{"Fun":292},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":293},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":294},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index",0]}]},{"key":{"Fun":295},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index_mut",0]}]},{"key":{"Global":72},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":132},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":132}}]},{"key":{"Fun":296},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get",0]}]},{"key":{"Fun":297},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_mut",0]}]},{"key":{"Fun":298},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":299},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":300},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["index",0]}]},{"key":{"Fun":301},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["index_mut",0]}]},{"key":{"Global":73},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":302},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["fmt",0]}]},{"key":{"Global":74},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":303},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}},{"Ident":["fmt",0]}]},{"key":{"Global":75},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":304},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}},{"Ident":["fmt",0]}]},{"key":{"Global":76},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}},{"Ident":["{vtable}",0]}]},{"key":{"Global":77},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":305},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["size_hint",0]}]},{"key":{"Fun":306},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["count",0]}]},{"key":{"Fun":307},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["last",0]}]},{"key":{"Fun":308},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["advance_by",0]}]},{"key":{"Fun":309},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["nth",0]}]},{"key":{"Fun":310},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["max",0]}]},{"key":{"Fun":311},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["min",0]}]},{"key":{"Fun":312},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["is_sorted",0]}]},{"key":{"Fun":313},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"Fun":314},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["steps_between",0]}]},{"key":{"Fun":315},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_checked",0]}]},{"key":{"Fun":316},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward",0]}]},{"key":{"Fun":317},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":318},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_checked",0]}]},{"key":{"Fun":319},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward",0]}]},{"key":{"Fun":320},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_unchecked",0]}]},{"key":{"TraitImpl":133},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":133}}]},{"key":{"TraitImpl":134},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}}]},{"key":{"Fun":321},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["steps_between",0]}]},{"key":{"Fun":322},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":323},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["forward",0]}]},{"key":{"Fun":324},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":325},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":326},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["backward",0]}]},{"key":{"Fun":327},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["backward_unchecked",0]}]},{"key":{"Fun":328},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"TraitImpl":135},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":135}}]},{"key":{"Fun":329},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Fun":330},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Fun":331},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["is_valid",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":332},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3469},"kind":"InherentImplBlock"}}},{"Ident":["debug_struct_field2_finish",0]}]},{"key":{"Fun":333},"value":[{"Ident":["subtle",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1496,{"Adt":{"id":{"Adt":9},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["unwrap_u8",0]}]},{"key":{"Fun":334},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}},{"Ident":["hash",0]}]},{"key":{"Fun":335},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}},{"Ident":["hash_slice",0]}]},{"key":{"Global":78},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":336},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}},{"Ident":["fmt",0]}]},{"key":{"Global":79},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":337},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}},{"Ident":["fmt",0]}]},{"key":{"TraitDecl":47},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]}]},{"key":{"Global":80},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":338},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective_niels",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":339},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_affine_niels",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"TraitDecl":48},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]}]},{"key":{"TraitImpl":136},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":136}}]},{"key":{"TraitImpl":137},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":137}}]},{"key":{"Type":66},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Ident":["NonZeroUsizeInner",0]}]},{"key":{"TraitImpl":138},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":138}}]},{"key":{"Type":67},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":340},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["into_iter",0]}]},{"key":{"Type":68},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":341},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["call_mut",0]}]},{"key":{"Type":69},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":342},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["call_once",0]}]},{"key":{"Fun":343},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]},{"Ident":["from_iter",0]}]},{"key":{"TraitDecl":49},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]}]},{"key":{"Fun":344},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["from_output",0]}]},{"key":{"Fun":345},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["branch",0]}]},{"key":{"Type":70},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["control_flow",0]},{"Ident":["ControlFlow",0]}]},{"key":{"Fun":346},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend",0]}]},{"key":{"Fun":347},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_one",0]}]},{"key":{"Fun":348},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_reserve",0]}]},{"key":{"Fun":349},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_one_unchecked",0]}]},{"key":{"Type":71},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":350},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["next_back",0]}]},{"key":{"Fun":351},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["advance_back_by",0]}]},{"key":{"Fun":352},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["nth_back",0]}]},{"key":{"Fun":353},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["try_rfold",0]}]},{"key":{"Fun":354},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["rfold",0]}]},{"key":{"Fun":355},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["rfind",0]}]},{"key":{"Type":72},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":356},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["len",0]}]},{"key":{"Fun":357},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["is_empty",0]}]},{"key":{"Fun":358},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["cmp",0]}]},{"key":{"Fun":359},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["max",0]}]},{"key":{"Fun":360},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["min",0]}]},{"key":{"Fun":361},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["clamp",0]}]},{"key":{"Fun":362},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]},{"Ident":["product",0]}]},{"key":{"Type":73},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":363},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":364},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["lt",0]}]},{"key":{"Fun":365},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["le",0]}]},{"key":{"Fun":366},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["gt",0]}]},{"key":{"Fun":367},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["ge",0]}]},{"key":{"Fun":368},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":369},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":370},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":371},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_ge",0]}]},{"key":{"Fun":372},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]},{"Ident":["size",0]}]},{"key":{"Type":74},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["BackendKind",0]}]},{"key":{"Fun":373},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["get_selected_backend",0]}]},{"key":{"Fun":374},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["variable_base",0]},{"Ident":["mul",0]}]},{"key":{"Fun":375},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["variable_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul",0]}]},{"key":{"Fun":376},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["ED25519_BASEPOINT_POINT",0]}]},{"key":{"Fun":377},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["mul",0]}]},{"key":{"Fun":378},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul",0]}]},{"key":{"Fun":379},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["scalar_fits_in_128_bits",0]}]},{"key":{"Fun":380},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_triple_base_mul_128_128_256_prechecked",0]}]},{"key":{"TraitImpl":139},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":139}}]},{"key":{"TraitImpl":140},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}}]},{"key":{"Fun":381},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["steps_between",0]}]},{"key":{"Fun":382},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":383},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["forward",0]}]},{"key":{"Fun":384},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":385},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":386},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["backward",0]}]},{"key":{"Fun":387},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["backward_unchecked",0]}]},{"key":{"TraitDecl":50},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]}]},{"key":{"Global":81},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":388},"value":[{"Ident":["curve25519",0]},{"Ident":["constants",0]},{"Ident":["BASEPOINT_ORDER",0]}]},{"key":{"Fun":389},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["Into",0]},{"Ident":["into",0]}]},{"key":{"Global":82},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["SQRT_M1",0]}]},{"key":{"Type":75},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":390},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]},{"Ident":["bitor",0]}]},{"key":{"Type":76},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]},{"Ident":["{vtable}",0]}]},{"key":{"Global":83},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":132}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":391},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":133}},{"Ident":["clone",0]}]},{"key":{"Global":84},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":141},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}}]},{"key":{"Fun":392},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":393},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["lt",0]}]},{"key":{"Fun":394},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["le",0]}]},{"key":{"Fun":395},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["gt",0]}]},{"key":{"Fun":396},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["ge",0]}]},{"key":{"Fun":397},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":398},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":399},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":400},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["__chaining_ge",0]}]},{"key":{"TraitImpl":142},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":142}}]},{"key":{"Global":85},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D",0]}]},{"key":{"Fun":401},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":402},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}]},{"key":{"Type":77},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":403},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]},{"Ident":["bitand",0]}]},{"key":{"Global":86},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D2",0]}]},{"key":{"Type":78},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]},{"Ident":["{vtable}",0]}]},{"key":{"Global":87},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":137}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":143},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":143}}]},{"key":{"Fun":404},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]},{"Ident":["from_residual",0]}]},{"key":{"Fun":405},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_triple_base",0]},{"Ident":["mul_128_128_256_prechecked",0]}]},{"key":{"Fun":406},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_triple_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul_128_128_256_prechecked",0]}]},{"key":{"Fun":407},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":139}},{"Ident":["clone",0]}]},{"key":{"Global":88},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":144},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":144}}]},{"key":{"Fun":408},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":409},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["lt",0]}]},{"key":{"Fun":410},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["le",0]}]},{"key":{"Fun":411},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["gt",0]}]},{"key":{"Fun":412},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["ge",0]}]},{"key":{"Fun":413},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":414},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":415},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":416},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["__chaining_ge",0]}]},{"key":{"Type":79},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":417},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]},{"Ident":["is_identity",0]}]},{"key":{"Fun":418},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["SQRT_M1",0]}]},{"key":{"Global":89},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":419},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}},{"Ident":["eq",0]}]},{"key":{"Fun":420},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}},{"Ident":["ne",0]}]},{"key":{"Fun":421},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":142}},{"Ident":["clone",0]}]},{"key":{"Fun":422},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D",0]}]},{"key":{"Fun":423},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D2",0]}]},{"key":{"Fun":424},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":143}},{"Ident":["clone",0]}]},{"key":{"Global":90},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":144}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":425},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":144}},{"Ident":["eq",0]}]},{"key":{"Fun":426},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":144}},{"Ident":["ne",0]}]},{"key":{"Fun":427},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":0}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":428},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":429},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":430},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":54}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":431},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":432},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":433},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":69}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":434},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":435},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":436},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":105}},{"Ident":["assert_fields_are_eq",0]}]}],"assoc_item_names":[{"types":[],"methods":["assert_receiver_is_total_eq","assert_fields_are_eq"],"consts":[]},{"types":[],"methods":["eq","ne"],"consts":[]},{"types":[],"methods":["ct_eq","ct_ne"],"consts":[]},{"types":[],"methods":["default"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":["clone","clone_from"],"consts":[]},null,{"types":[],"methods":["drop_glue"],"consts":[]},{"types":[],"methods":["fmt"],"consts":[]},{"types":[],"methods":["add_assign"],"consts":[]},{"types":["Output"],"methods":["add"],"consts":[]},{"types":[],"methods":["sub_assign"],"consts":[]},{"types":["Output"],"methods":["sub"],"consts":[]},{"types":[],"methods":["mul_assign"],"consts":[]},{"types":["Output"],"methods":["mul"],"consts":[]},{"types":["Output"],"methods":["neg"],"consts":[]},{"types":[],"methods":["conditional_select","conditional_assign","conditional_swap"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":["identity"],"consts":[]},{"types":[],"methods":["is_valid"],"consts":[]},{"types":[],"methods":["hash","hash_slice"],"consts":[]},{"types":[],"methods":["finish","write","write_u8","write_u16","write_u32","write_u64","write_u128","write_usize","write_i8","write_i16","write_i32","write_i64","write_i128","write_isize","write_length_prefix","write_str"],"consts":[]},{"types":["Error"],"methods":["try_from"],"consts":[]},{"types":[],"methods":["borrow"],"consts":[]},{"types":[],"methods":["sum"],"consts":[]},{"types":["Item"],"methods":["next","next_chunk","size_hint","count","last","advance_by","nth","step_by","chain","zip","intersperse","intersperse_with","map","for_each","filter","filter_map","enumerate","peekable","skip_while","take_while","map_while","skip","take","scan","flat_map","flatten","map_windows","fuse","inspect","by_ref","collect","try_collect","collect_into","partition","partition_in_place","is_partitioned","try_fold","try_for_each","fold","reduce","try_reduce","all","any","find","find_map","try_find","position","rposition","max","min","max_by_key","max_by","min_by_key","min_by","rev","unzip","copied","cloned","cycle","array_chunks","sum","product","cmp","cmp_by","partial_cmp","partial_cmp_by","eq","eq_by","ne","lt","le","gt","ge","is_sorted","is_sorted_by","is_sorted_by_key","__iterator_get_unchecked"],"consts":[]},{"types":[],"methods":["from"],"consts":[]},{"types":["Output"],"methods":["index"],"consts":[]},{"types":["Output"],"methods":["get","get_mut","get_unchecked","get_unchecked_mut","index","index_mut"],"consts":[]},{"types":[],"methods":["steps_between","forward_checked","forward","forward_unchecked","backward_checked","backward","backward_unchecked"],"consts":[]},{"types":["NonZeroInner"],"methods":[],"consts":[]},{"types":["Item","IntoIter"],"methods":["into_iter"],"consts":[]},{"types":[],"methods":["call_mut"],"consts":[]},{"types":["Output"],"methods":["call_once"],"consts":[]},{"types":[],"methods":["from_iter"],"consts":[]},{"types":["Output","Residual","Self_Clause1_TryType"],"methods":["from_output","branch"],"consts":[]},{"types":["TryType"],"methods":[],"consts":[]},{"types":[],"methods":["extend","extend_one","extend_reserve","extend_one_unchecked"],"consts":[]},{"types":[],"methods":["next_back","advance_back_by","nth_back","try_rfold","rfold","rfind"],"consts":[]},{"types":[],"methods":["len","is_empty"],"consts":[]},{"types":[],"methods":["cmp","max","min","clamp"],"consts":[]},{"types":[],"methods":["product"],"consts":[]},{"types":[],"methods":["partial_cmp","lt","le","gt","ge","__chaining_lt","__chaining_le","__chaining_gt","__chaining_ge"],"consts":[]},{"types":[],"methods":["size"],"consts":["MAY_HAVE_SIDE_EFFECT"]},{"types":[],"methods":["into"],"consts":[]},{"types":["Output"],"methods":["bitor"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":["Output"],"methods":["bitand"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":["from_residual"],"consts":[]},{"types":[],"methods":["is_identity"],"consts":[]}],"short_names":[{"key":{"TraitImpl":0},"value":[{"Ident":["impl_Eq_for_FieldElement51",0]}]},{"key":{"TraitImpl":1},"value":[{"Ident":["impl_PartialEq_FieldElement51_for_FieldElement51",0]}]},{"key":{"TraitImpl":2},"value":[{"Ident":["impl_ConstantTimeEq_for_FieldElement51",0]}]},{"key":{"TraitImpl":3},"value":[{"Ident":["impl_Default_for_FieldElement51",0]}]},{"key":{"TraitImpl":4},"value":[{"Ident":["impl_Copy_for_FieldElement51",0]}]},{"key":{"TraitImpl":5},"value":[{"Ident":["impl_TrivialClone_for_FieldElement51",0]}]},{"key":{"TraitImpl":6},"value":[{"Ident":["impl_Clone_for_FieldElement51",0]}]},{"key":{"TraitImpl":7},"value":[{"Ident":["impl_Debug_for_FieldElement51",0]}]},{"key":{"TraitImpl":8},"value":[{"Ident":["impl_AddAssign_for_FieldElement51",0]}]},{"key":{"TraitImpl":9},"value":[{"Impl":{"Trait":9}}]},{"key":{"TraitImpl":10},"value":[{"Ident":["impl_SubAssign_for_FieldElement51",0]}]},{"key":{"TraitImpl":11},"value":[{"Impl":{"Trait":11}}]},{"key":{"TraitImpl":12},"value":[{"Ident":["impl_MulAssign_for_FieldElement51",0]}]},{"key":{"TraitImpl":13},"value":[{"Impl":{"Trait":13}}]},{"key":{"TraitImpl":14},"value":[{"Impl":{"Trait":14}}]},{"key":{"TraitImpl":15},"value":[{"Ident":["impl_ConditionallySelectable_for_FieldElement51",0]}]},{"key":{"TraitImpl":16},"value":[{"Ident":["impl_Copy_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":17},"value":[{"Ident":["impl_TrivialClone_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":18},"value":[{"Ident":["impl_Clone_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":19},"value":[{"Ident":["impl_Copy_for_CompletedPoint",0]}]},{"key":{"TraitImpl":20},"value":[{"Ident":["impl_TrivialClone_for_CompletedPoint",0]}]},{"key":{"TraitImpl":21},"value":[{"Ident":["impl_Clone_for_CompletedPoint",0]}]},{"key":{"TraitImpl":22},"value":[{"Ident":["impl_Copy_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":23},"value":[{"Ident":["impl_TrivialClone_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":24},"value":[{"Ident":["impl_Clone_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":25},"value":[{"Ident":["impl_Eq_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":26},"value":[{"Ident":["impl_StructuralPartialEq_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":27},"value":[{"Ident":["impl_PartialEq_AffineNielsPoint_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":28},"value":[{"Ident":["impl_Copy_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":29},"value":[{"Ident":["impl_TrivialClone_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":30},"value":[{"Ident":["impl_Clone_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":31},"value":[{"Ident":["impl_Identity_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":32},"value":[{"Ident":["impl_Identity_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":33},"value":[{"Ident":["impl_Default_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":34},"value":[{"Ident":["impl_Identity_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":35},"value":[{"Ident":["impl_Default_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":36},"value":[{"Ident":["impl_ValidityCheck_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":37},"value":[{"Ident":["impl_ConditionallySelectable_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":38},"value":[{"Ident":["impl_ConditionallySelectable_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":39},"value":[{"Impl":{"Trait":39}}]},{"key":{"TraitImpl":40},"value":[{"Impl":{"Trait":40}}]},{"key":{"TraitImpl":41},"value":[{"Impl":{"Trait":41}}]},{"key":{"TraitImpl":42},"value":[{"Impl":{"Trait":42}}]},{"key":{"TraitImpl":43},"value":[{"Impl":{"Trait":43}}]},{"key":{"TraitImpl":44},"value":[{"Impl":{"Trait":44}}]},{"key":{"TraitImpl":45},"value":[{"Ident":["impl_Debug_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":46},"value":[{"Ident":["impl_Debug_for_CompletedPoint",0]}]},{"key":{"TraitImpl":47},"value":[{"Ident":["impl_Debug_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":48},"value":[{"Ident":["impl_Debug_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":49},"value":[{"Ident":["impl_Copy_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":50},"value":[{"Ident":["impl_TrivialClone_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":51},"value":[{"Ident":["impl_Clone_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":52},"value":[{"Ident":["impl_Hash_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":53},"value":[{"Ident":["impl_ConstantTimeEq_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":54},"value":[{"Ident":["impl_Eq_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":55},"value":[{"Ident":["impl_PartialEq_CompressedEdwardsY_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":56},"value":[{"Ident":["impl_Debug_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":57},"value":[{"Ident":["impl_TryFrom_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":58},"value":[{"Ident":["impl_Copy_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":59},"value":[{"Ident":["impl_TrivialClone_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":60},"value":[{"Ident":["impl_Clone_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":61},"value":[{"Ident":["impl_Identity_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":62},"value":[{"Ident":["impl_Default_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":63},"value":[{"Ident":["impl_Identity_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":64},"value":[{"Ident":["impl_Default_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":65},"value":[{"Ident":["impl_ValidityCheck_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":66},"value":[{"Ident":["impl_ConditionallySelectable_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":67},"value":[{"Ident":["impl_ConstantTimeEq_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":68},"value":[{"Ident":["impl_PartialEq_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":69},"value":[{"Ident":["impl_Eq_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":70},"value":[{"Impl":{"Trait":70}}]},{"key":{"TraitImpl":71},"value":[{"Ident":["impl_Add_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":72},"value":[{"Impl":{"Trait":72}}]},{"key":{"TraitImpl":73},"value":[{"Ident":["impl_Add_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":74},"value":[{"Ident":["impl_AddAssign_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":75},"value":[{"Ident":["impl_AddAssign_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":76},"value":[{"Impl":{"Trait":76}}]},{"key":{"TraitImpl":77},"value":[{"Ident":["impl_Sub_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":78},"value":[{"Impl":{"Trait":78}}]},{"key":{"TraitImpl":79},"value":[{"Ident":["impl_Sub_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":80},"value":[{"Ident":["impl_SubAssign_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":81},"value":[{"Ident":["impl_SubAssign_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":82},"value":[{"Ident":["impl_Sum_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":83},"value":[{"Impl":{"Trait":83}}]},{"key":{"TraitImpl":84},"value":[{"Ident":["impl_Neg_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":85},"value":[{"Ident":["impl_MulAssign_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":86},"value":[{"Ident":["impl_MulAssign_Scalar_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":87},"value":[{"Ident":["impl_Mul_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":88},"value":[{"Impl":{"Trait":88}}]},{"key":{"TraitImpl":89},"value":[{"Ident":["impl_Mul_Scalar_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":90},"value":[{"Impl":{"Trait":90}}]},{"key":{"TraitImpl":91},"value":[{"Impl":{"Trait":91}}]},{"key":{"TraitImpl":92},"value":[{"Ident":["impl_Mul_EdwardsPoint_for_Scalar",0]}]},{"key":{"TraitImpl":93},"value":[{"Impl":{"Trait":93}}]},{"key":{"TraitImpl":94},"value":[{"Impl":{"Trait":94}}]},{"key":{"TraitImpl":95},"value":[{"Ident":["impl_Debug_for_EdwardsPoint",0]}]},{"key":{"Global":0},"value":[{"Impl":{"Trait":1}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":2},"value":[{"Impl":{"Trait":1}},{"Ident":["eq",0]}]},{"key":{"Fun":5},"value":[{"Impl":{"Trait":2}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":8},"value":[{"Impl":{"Trait":3}},{"Ident":["default",0]}]},{"key":{"Fun":17},"value":[{"Impl":{"Trait":6}},{"Ident":["clone",0]}]},{"key":{"Global":1},"value":[{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":20},"value":[{"Impl":{"Trait":7}},{"Ident":["fmt",0]}]},{"key":{"Global":2},"value":[{"Impl":{"Trait":8}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":21},"value":[{"Impl":{"Trait":8}},{"Ident":["add_assign",0]}]},{"key":{"Global":3},"value":[{"Impl":{"Trait":9}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":22},"value":[{"Impl":{"Trait":9}},{"Ident":["add",0]}]},{"key":{"Global":4},"value":[{"Impl":{"Trait":10}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":23},"value":[{"Impl":{"Trait":10}},{"Ident":["sub_assign",0]}]},{"key":{"Global":5},"value":[{"Impl":{"Trait":11}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":24},"value":[{"Impl":{"Trait":11}},{"Ident":["sub",0]}]},{"key":{"Global":6},"value":[{"Impl":{"Trait":12}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":25},"value":[{"Impl":{"Trait":12}},{"Ident":["mul_assign",0]}]},{"key":{"Global":7},"value":[{"Impl":{"Trait":13}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":26},"value":[{"Impl":{"Trait":13}},{"Ident":["mul",0]}]},{"key":{"Global":8},"value":[{"Impl":{"Trait":14}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":27},"value":[{"Impl":{"Trait":14}},{"Ident":["neg",0]}]},{"key":{"Fun":28},"value":[{"Impl":{"Trait":15}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":29},"value":[{"Impl":{"Trait":15}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":30},"value":[{"Impl":{"Trait":15}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":39},"value":[{"Impl":{"Trait":18}},{"Ident":["clone",0]}]},{"key":{"Fun":40},"value":[{"Impl":{"Trait":21}},{"Ident":["clone",0]}]},{"key":{"Fun":41},"value":[{"Impl":{"Trait":24}},{"Ident":["clone",0]}]},{"key":{"Fun":42},"value":[{"Impl":{"Trait":25}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Global":12},"value":[{"Impl":{"Trait":26}},{"Ident":["{vtable}",0]}]},{"key":{"Global":13},"value":[{"Impl":{"Trait":27}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":43},"value":[{"Impl":{"Trait":27}},{"Ident":["eq",0]}]},{"key":{"Fun":44},"value":[{"Impl":{"Trait":30}},{"Ident":["clone",0]}]},{"key":{"Fun":45},"value":[{"Impl":{"Trait":31}},{"Ident":["identity",0]}]},{"key":{"Fun":46},"value":[{"Impl":{"Trait":32}},{"Ident":["identity",0]}]},{"key":{"Fun":47},"value":[{"Impl":{"Trait":33}},{"Ident":["default",0]}]},{"key":{"Fun":48},"value":[{"Impl":{"Trait":34}},{"Ident":["identity",0]}]},{"key":{"Fun":49},"value":[{"Impl":{"Trait":35}},{"Ident":["default",0]}]},{"key":{"Global":14},"value":[{"Impl":{"Trait":36}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":50},"value":[{"Impl":{"Trait":36}},{"Ident":["is_valid",0]}]},{"key":{"Fun":51},"value":[{"Impl":{"Trait":37}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":52},"value":[{"Impl":{"Trait":37}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":56},"value":[{"Impl":{"Trait":38}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":57},"value":[{"Impl":{"Trait":38}},{"Ident":["conditional_assign",0]}]},{"key":{"Global":15},"value":[{"Impl":{"Trait":39}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":62},"value":[{"Impl":{"Trait":39}},{"Ident":["add",0]}]},{"key":{"Global":16},"value":[{"Impl":{"Trait":40}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":63},"value":[{"Impl":{"Trait":40}},{"Ident":["sub",0]}]},{"key":{"Global":17},"value":[{"Impl":{"Trait":41}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":64},"value":[{"Impl":{"Trait":41}},{"Ident":["add",0]}]},{"key":{"Global":18},"value":[{"Impl":{"Trait":42}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":65},"value":[{"Impl":{"Trait":42}},{"Ident":["sub",0]}]},{"key":{"Global":19},"value":[{"Impl":{"Trait":43}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":66},"value":[{"Impl":{"Trait":43}},{"Ident":["neg",0]}]},{"key":{"Global":20},"value":[{"Impl":{"Trait":44}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":67},"value":[{"Impl":{"Trait":44}},{"Ident":["neg",0]}]},{"key":{"Global":21},"value":[{"Impl":{"Trait":45}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":68},"value":[{"Impl":{"Trait":45}},{"Ident":["fmt",0]}]},{"key":{"Global":22},"value":[{"Impl":{"Trait":46}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":69},"value":[{"Impl":{"Trait":46}},{"Ident":["fmt",0]}]},{"key":{"Global":23},"value":[{"Impl":{"Trait":47}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":70},"value":[{"Impl":{"Trait":47}},{"Ident":["fmt",0]}]},{"key":{"Global":24},"value":[{"Impl":{"Trait":48}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":71},"value":[{"Impl":{"Trait":48}},{"Ident":["fmt",0]}]},{"key":{"TraitImpl":96},"value":[{"Ident":["impl_Copy_for_AffinePoint",0]}]},{"key":{"TraitImpl":97},"value":[{"Ident":["impl_TrivialClone_for_AffinePoint",0]}]},{"key":{"TraitImpl":98},"value":[{"Ident":["impl_Clone_for_AffinePoint",0]}]},{"key":{"TraitImpl":99},"value":[{"Ident":["impl_Debug_for_AffinePoint",0]}]},{"key":{"TraitImpl":100},"value":[{"Ident":["impl_ConstantTimeEq_for_AffinePoint",0]}]},{"key":{"TraitImpl":101},"value":[{"Ident":["impl_ConditionallySelectable_for_AffinePoint",0]}]},{"key":{"TraitImpl":102},"value":[{"Ident":["impl_Default_for_AffinePoint",0]}]},{"key":{"TraitImpl":103},"value":[{"Ident":["impl_Identity_for_AffinePoint",0]}]},{"key":{"TraitImpl":104},"value":[{"Ident":["impl_PartialEq_AffinePoint_for_AffinePoint",0]}]},{"key":{"TraitImpl":105},"value":[{"Ident":["impl_Eq_for_AffinePoint",0]}]},{"key":{"TraitImpl":106},"value":[{"Ident":["impl_Mul_AffinePoint_for_Scalar",0]}]},{"key":{"TraitImpl":107},"value":[{"Impl":{"Trait":107}}]},{"key":{"Fun":72},"value":[{"Impl":{"Trait":51}},{"Ident":["clone",0]}]},{"key":{"Fun":73},"value":[{"Impl":{"Trait":52}},{"Ident":["hash",0]}]},{"key":{"Fun":76},"value":[{"Impl":{"Trait":53}},{"Ident":["ct_eq",0]}]},{"key":{"Global":25},"value":[{"Impl":{"Trait":55}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":77},"value":[{"Impl":{"Trait":55}},{"Ident":["eq",0]}]},{"key":{"Global":26},"value":[{"Impl":{"Trait":56}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":78},"value":[{"Impl":{"Trait":56}},{"Ident":["fmt",0]}]},{"key":{"Fun":82},"value":[{"Impl":{"Trait":57}},{"Ident":["try_from",0]}]},{"key":{"Fun":83},"value":[{"Impl":{"Trait":60}},{"Ident":["clone",0]}]},{"key":{"Fun":84},"value":[{"Impl":{"Trait":61}},{"Ident":["identity",0]}]},{"key":{"Fun":85},"value":[{"Impl":{"Trait":62}},{"Ident":["default",0]}]},{"key":{"Fun":87},"value":[{"Impl":{"Trait":63}},{"Ident":["identity",0]}]},{"key":{"Fun":88},"value":[{"Impl":{"Trait":64}},{"Ident":["default",0]}]},{"key":{"Global":27},"value":[{"Impl":{"Trait":65}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":89},"value":[{"Impl":{"Trait":65}},{"Ident":["is_valid",0]}]},{"key":{"Fun":90},"value":[{"Impl":{"Trait":66}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":91},"value":[{"Impl":{"Trait":67}},{"Ident":["ct_eq",0]}]},{"key":{"Global":28},"value":[{"Impl":{"Trait":68}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":92},"value":[{"Impl":{"Trait":68}},{"Ident":["eq",0]}]},{"key":{"Global":29},"value":[{"Impl":{"Trait":70}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":100},"value":[{"Impl":{"Trait":70}},{"Ident":["add",0]}]},{"key":{"Global":30},"value":[{"Impl":{"Trait":71}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":101},"value":[{"Impl":{"Trait":71}},{"Ident":["add",0]}]},{"key":{"Global":31},"value":[{"Impl":{"Trait":72}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":102},"value":[{"Impl":{"Trait":72}},{"Ident":["add",0]}]},{"key":{"Global":32},"value":[{"Impl":{"Trait":73}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":103},"value":[{"Impl":{"Trait":73}},{"Ident":["add",0]}]},{"key":{"Global":33},"value":[{"Impl":{"Trait":74}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":104},"value":[{"Impl":{"Trait":74}},{"Ident":["add_assign",0]}]},{"key":{"Global":34},"value":[{"Impl":{"Trait":75}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":105},"value":[{"Impl":{"Trait":75}},{"Ident":["add_assign",0]}]},{"key":{"Global":35},"value":[{"Impl":{"Trait":76}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":106},"value":[{"Impl":{"Trait":76}},{"Ident":["sub",0]}]},{"key":{"Global":36},"value":[{"Impl":{"Trait":77}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":107},"value":[{"Impl":{"Trait":77}},{"Ident":["sub",0]}]},{"key":{"Global":37},"value":[{"Impl":{"Trait":78}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":108},"value":[{"Impl":{"Trait":78}},{"Ident":["sub",0]}]},{"key":{"Global":38},"value":[{"Impl":{"Trait":79}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":109},"value":[{"Impl":{"Trait":79}},{"Ident":["sub",0]}]},{"key":{"Global":39},"value":[{"Impl":{"Trait":80}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":110},"value":[{"Impl":{"Trait":80}},{"Ident":["sub_assign",0]}]},{"key":{"Global":40},"value":[{"Impl":{"Trait":81}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":111},"value":[{"Impl":{"Trait":81}},{"Ident":["sub_assign",0]}]},{"key":{"Fun":112},"value":[{"Impl":{"Trait":82}},{"Ident":["sum",0]}]},{"key":{"Global":41},"value":[{"Impl":{"Trait":83}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":113},"value":[{"Impl":{"Trait":83}},{"Ident":["neg",0]}]},{"key":{"Global":42},"value":[{"Impl":{"Trait":84}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":114},"value":[{"Impl":{"Trait":84}},{"Ident":["neg",0]}]},{"key":{"Global":43},"value":[{"Impl":{"Trait":85}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":115},"value":[{"Impl":{"Trait":85}},{"Ident":["mul_assign",0]}]},{"key":{"Global":44},"value":[{"Impl":{"Trait":86}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":116},"value":[{"Impl":{"Trait":86}},{"Ident":["mul_assign",0]}]},{"key":{"Global":45},"value":[{"Impl":{"Trait":87}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":117},"value":[{"Impl":{"Trait":87}},{"Ident":["mul",0]}]},{"key":{"Global":46},"value":[{"Impl":{"Trait":88}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":118},"value":[{"Impl":{"Trait":88}},{"Ident":["mul",0]}]},{"key":{"Global":47},"value":[{"Impl":{"Trait":89}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":119},"value":[{"Impl":{"Trait":89}},{"Ident":["mul",0]}]},{"key":{"Global":48},"value":[{"Impl":{"Trait":90}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":120},"value":[{"Impl":{"Trait":90}},{"Ident":["mul",0]}]},{"key":{"Global":49},"value":[{"Impl":{"Trait":91}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":121},"value":[{"Impl":{"Trait":91}},{"Ident":["mul",0]}]},{"key":{"Global":50},"value":[{"Impl":{"Trait":92}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":122},"value":[{"Impl":{"Trait":92}},{"Ident":["mul",0]}]},{"key":{"Global":51},"value":[{"Impl":{"Trait":93}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":123},"value":[{"Impl":{"Trait":93}},{"Ident":["mul",0]}]},{"key":{"Global":52},"value":[{"Impl":{"Trait":94}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":124},"value":[{"Impl":{"Trait":94}},{"Ident":["mul",0]}]},{"key":{"Global":53},"value":[{"Impl":{"Trait":95}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":134},"value":[{"Impl":{"Trait":95}},{"Ident":["fmt",0]}]},{"key":{"TraitImpl":108},"value":[{"Ident":["impl_Into_for_T",0]}]},{"key":{"Fun":135},"value":[{"Impl":{"Trait":108}},{"Ident":["into",0]}]},{"key":{"TraitImpl":109},"value":[{"Ident":["impl_From_Choice_for_bool",0]}]},{"key":{"TraitImpl":110},"value":[{"Ident":["impl_ConstantTimeEq_for_slice",0]}]},{"key":{"Fun":136},"value":[{"Impl":{"Trait":110}},{"Ident":["ct_eq",0]}]},{"key":{"TraitImpl":111},"value":[{"Ident":["impl_ConstantTimeEq_for_u8",0]}]},{"key":{"TraitImpl":112},"value":[{"Ident":["impl_From_u8_for_Choice",0]}]},{"key":{"TraitImpl":113},"value":[{"Ident":["impl_BitOr_Choice_for_Choice",0]}]},{"key":{"Fun":138},"value":[{"Impl":{"Trait":113}},{"Ident":["bitor",0]}]},{"key":{"TraitImpl":114},"value":[{"Ident":["impl_Index_for_array",0]}]},{"key":{"Fun":141},"value":[{"Impl":{"Trait":114}},{"Ident":["index",0]}]},{"key":{"TraitImpl":115},"value":[{"Ident":["impl_Index_for_slice",0]}]},{"key":{"TraitImpl":116},"value":[{"Ident":["impl_SliceIndex_slice_for_RangeFull",0]}]},{"key":{"TraitImpl":117},"value":[{"Impl":{"Trait":117}}]},{"key":{"TraitImpl":118},"value":[{"Ident":["impl_Debug_for_slice",0]}]},{"key":{"TraitImpl":119},"value":[{"Ident":["impl_Debug_for_u64",0]}]},{"key":{"TraitImpl":120},"value":[{"Ident":["impl_IntoIterator_for_T",0]}]},{"key":{"Fun":146},"value":[{"Impl":{"Trait":120}},{"Ident":["into_iter",0]}]},{"key":{"TraitImpl":121},"value":[{"Ident":["impl_Iterator_for_Range",0]}]},{"key":{"TraitImpl":122},"value":[{"Ident":["impl_Step_for_usize",0]}]},{"key":{"Fun":147},"value":[{"Impl":{"Trait":121}},{"Ident":["next",0]}]},{"key":{"Fun":153},"value":[{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["m",0]}]},{"key":{"Global":57},"value":[{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"TraitImpl":123},"value":[{"Ident":["impl_ConditionallySelectable_for_u64",0]}]},{"key":{"Fun":155},"value":[{"Impl":{"Trait":123}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":156},"value":[{"Impl":{"Trait":123}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":157},"value":[{"Impl":{"Trait":123}},{"Ident":["conditional_swap",0]}]},{"key":{"Global":60},"value":[{"Impl":{"Trait":36}},{"Ident":["is_valid",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":165},"value":[{"Impl":{"Trait":98}},{"Ident":["clone",0]}]},{"key":{"Global":61},"value":[{"Impl":{"Trait":99}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":166},"value":[{"Impl":{"Trait":99}},{"Ident":["fmt",0]}]},{"key":{"Fun":167},"value":[{"Impl":{"Trait":100}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":168},"value":[{"Impl":{"Trait":101}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":169},"value":[{"Impl":{"Trait":102}},{"Ident":["default",0]}]},{"key":{"Fun":170},"value":[{"Impl":{"Trait":103}},{"Ident":["identity",0]}]},{"key":{"Global":62},"value":[{"Impl":{"Trait":104}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":171},"value":[{"Impl":{"Trait":104}},{"Ident":["eq",0]}]},{"key":{"Global":63},"value":[{"Impl":{"Trait":106}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":174},"value":[{"Impl":{"Trait":106}},{"Ident":["mul",0]}]},{"key":{"Global":64},"value":[{"Impl":{"Trait":107}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":175},"value":[{"Impl":{"Trait":107}},{"Ident":["mul",0]}]},{"key":{"TraitImpl":124},"value":[{"Ident":["impl_Hash_for_array",0]}]},{"key":{"Fun":192},"value":[{"Impl":{"Trait":124}},{"Ident":["hash",0]}]},{"key":{"TraitImpl":125},"value":[{"Ident":["impl_Hash_for_u8",0]}]},{"key":{"TraitImpl":126},"value":[{"Ident":["impl_Debug_for_array",0]}]},{"key":{"TraitImpl":127},"value":[{"Ident":["impl_Debug_for_u8",0]}]},{"key":{"TraitImpl":128},"value":[{"Ident":["impl_BitAnd_Choice_for_Choice",0]}]},{"key":{"Fun":196},"value":[{"Impl":{"Trait":128}},{"Ident":["bitand",0]}]},{"key":{"TraitImpl":129},"value":[{"Ident":["impl_ZeroablePrimitive_for_usize",0]}]},{"key":{"TraitImpl":130},"value":[{"Ident":["impl_Step_for_u32",0]}]},{"key":{"TraitImpl":131},"value":[{"Ident":["impl_IsIdentity_for_T",0]}]},{"key":{"Fun":280},"value":[{"Impl":{"Trait":131}},{"Ident":["is_identity",0]}]},{"key":{"Fun":282},"value":[{"Impl":{"Trait":109}},{"Ident":["from",0]}]},{"key":{"Fun":283},"value":[{"Impl":{"Trait":111}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":284},"value":[{"Impl":{"Trait":112}},{"Ident":["from",0]}]},{"key":{"Global":69},"value":[{"Impl":{"Trait":113}},{"Ident":["{vtable}",0]}]},{"key":{"Global":70},"value":[{"Impl":{"Trait":114}},{"Ident":["{vtable}",0]}]},{"key":{"Global":71},"value":[{"Impl":{"Trait":115}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":289},"value":[{"Impl":{"Trait":115}},{"Ident":["index",0]}]},{"key":{"Global":72},"value":[{"Impl":{"Trait":116}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":132},"value":[{"Ident":["impl_Sealed_for_RangeFull",0]}]},{"key":{"Fun":296},"value":[{"Impl":{"Trait":116}},{"Ident":["get",0]}]},{"key":{"Fun":297},"value":[{"Impl":{"Trait":116}},{"Ident":["get_mut",0]}]},{"key":{"Fun":298},"value":[{"Impl":{"Trait":116}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":299},"value":[{"Impl":{"Trait":116}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":300},"value":[{"Impl":{"Trait":116}},{"Ident":["index",0]}]},{"key":{"Fun":301},"value":[{"Impl":{"Trait":116}},{"Ident":["index_mut",0]}]},{"key":{"Global":73},"value":[{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":302},"value":[{"Impl":{"Trait":117}},{"Ident":["fmt",0]}]},{"key":{"Global":74},"value":[{"Impl":{"Trait":118}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":303},"value":[{"Impl":{"Trait":118}},{"Ident":["fmt",0]}]},{"key":{"Global":75},"value":[{"Impl":{"Trait":119}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":304},"value":[{"Impl":{"Trait":119}},{"Ident":["fmt",0]}]},{"key":{"Global":76},"value":[{"Impl":{"Trait":120}},{"Ident":["{vtable}",0]}]},{"key":{"Global":77},"value":[{"Impl":{"Trait":121}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":305},"value":[{"Impl":{"Trait":121}},{"Ident":["size_hint",0]}]},{"key":{"Fun":306},"value":[{"Impl":{"Trait":121}},{"Ident":["count",0]}]},{"key":{"Fun":307},"value":[{"Impl":{"Trait":121}},{"Ident":["last",0]}]},{"key":{"Fun":308},"value":[{"Impl":{"Trait":121}},{"Ident":["advance_by",0]}]},{"key":{"Fun":309},"value":[{"Impl":{"Trait":121}},{"Ident":["nth",0]}]},{"key":{"Fun":310},"value":[{"Impl":{"Trait":121}},{"Ident":["max",0]}]},{"key":{"Fun":311},"value":[{"Impl":{"Trait":121}},{"Ident":["min",0]}]},{"key":{"Fun":312},"value":[{"Impl":{"Trait":121}},{"Ident":["is_sorted",0]}]},{"key":{"Fun":313},"value":[{"Impl":{"Trait":121}},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"TraitImpl":133},"value":[{"Ident":["impl_Clone_for_usize",0]}]},{"key":{"TraitImpl":134},"value":[{"Ident":["impl_PartialOrd_usize_for_usize",0]}]},{"key":{"Fun":321},"value":[{"Impl":{"Trait":122}},{"Ident":["steps_between",0]}]},{"key":{"Fun":322},"value":[{"Impl":{"Trait":122}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":323},"value":[{"Impl":{"Trait":122}},{"Ident":["forward",0]}]},{"key":{"Fun":324},"value":[{"Impl":{"Trait":122}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":325},"value":[{"Impl":{"Trait":122}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":326},"value":[{"Impl":{"Trait":122}},{"Ident":["backward",0]}]},{"key":{"Fun":327},"value":[{"Impl":{"Trait":122}},{"Ident":["backward_unchecked",0]}]},{"key":{"Fun":328},"value":[{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"TraitImpl":135},"value":[{"Ident":["impl_Copy_for_u64",0]}]},{"key":{"Fun":331},"value":[{"Impl":{"Trait":36}},{"Ident":["is_valid",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":334},"value":[{"Impl":{"Trait":125}},{"Ident":["hash",0]}]},{"key":{"Fun":335},"value":[{"Impl":{"Trait":125}},{"Ident":["hash_slice",0]}]},{"key":{"Global":78},"value":[{"Impl":{"Trait":126}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":336},"value":[{"Impl":{"Trait":126}},{"Ident":["fmt",0]}]},{"key":{"Global":79},"value":[{"Impl":{"Trait":127}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":337},"value":[{"Impl":{"Trait":127}},{"Ident":["fmt",0]}]},{"key":{"Global":80},"value":[{"Impl":{"Trait":128}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":136},"value":[{"Ident":["impl_Copy_for_usize",0]}]},{"key":{"TraitImpl":137},"value":[{"Ident":["impl_Sealed_for_usize",0]}]},{"key":{"TraitImpl":138},"value":[{"Ident":["impl_Copy_for_NonZeroUsizeInner",0]}]},{"key":{"TraitImpl":139},"value":[{"Ident":["impl_Clone_for_u32",0]}]},{"key":{"TraitImpl":140},"value":[{"Ident":["impl_PartialOrd_u32_for_u32",0]}]},{"key":{"Fun":381},"value":[{"Impl":{"Trait":130}},{"Ident":["steps_between",0]}]},{"key":{"Fun":382},"value":[{"Impl":{"Trait":130}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":383},"value":[{"Impl":{"Trait":130}},{"Ident":["forward",0]}]},{"key":{"Fun":384},"value":[{"Impl":{"Trait":130}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":385},"value":[{"Impl":{"Trait":130}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":386},"value":[{"Impl":{"Trait":130}},{"Ident":["backward",0]}]},{"key":{"Fun":387},"value":[{"Impl":{"Trait":130}},{"Ident":["backward_unchecked",0]}]},{"key":{"Global":81},"value":[{"Impl":{"Trait":131}},{"Ident":["{vtable}",0]}]},{"key":{"Global":83},"value":[{"Impl":{"Trait":132}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":391},"value":[{"Impl":{"Trait":133}},{"Ident":["clone",0]}]},{"key":{"Global":84},"value":[{"Impl":{"Trait":134}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":141},"value":[{"Ident":["impl_PartialEq_usize_for_usize",0]}]},{"key":{"Fun":392},"value":[{"Impl":{"Trait":134}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":393},"value":[{"Impl":{"Trait":134}},{"Ident":["lt",0]}]},{"key":{"Fun":394},"value":[{"Impl":{"Trait":134}},{"Ident":["le",0]}]},{"key":{"Fun":395},"value":[{"Impl":{"Trait":134}},{"Ident":["gt",0]}]},{"key":{"Fun":396},"value":[{"Impl":{"Trait":134}},{"Ident":["ge",0]}]},{"key":{"Fun":397},"value":[{"Impl":{"Trait":134}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":398},"value":[{"Impl":{"Trait":134}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":399},"value":[{"Impl":{"Trait":134}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":400},"value":[{"Impl":{"Trait":134}},{"Ident":["__chaining_ge",0]}]},{"key":{"TraitImpl":142},"value":[{"Ident":["impl_Clone_for_u64",0]}]},{"key":{"Fun":401},"value":[{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":402},"value":[{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}]},{"key":{"Global":87},"value":[{"Impl":{"Trait":137}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":143},"value":[{"Ident":["impl_Clone_for_NonZeroUsizeInner",0]}]},{"key":{"Fun":407},"value":[{"Impl":{"Trait":139}},{"Ident":["clone",0]}]},{"key":{"Global":88},"value":[{"Impl":{"Trait":140}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":144},"value":[{"Ident":["impl_PartialEq_u32_for_u32",0]}]},{"key":{"Fun":408},"value":[{"Impl":{"Trait":140}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":409},"value":[{"Impl":{"Trait":140}},{"Ident":["lt",0]}]},{"key":{"Fun":410},"value":[{"Impl":{"Trait":140}},{"Ident":["le",0]}]},{"key":{"Fun":411},"value":[{"Impl":{"Trait":140}},{"Ident":["gt",0]}]},{"key":{"Fun":412},"value":[{"Impl":{"Trait":140}},{"Ident":["ge",0]}]},{"key":{"Fun":413},"value":[{"Impl":{"Trait":140}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":414},"value":[{"Impl":{"Trait":140}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":415},"value":[{"Impl":{"Trait":140}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":416},"value":[{"Impl":{"Trait":140}},{"Ident":["__chaining_ge",0]}]},{"key":{"Global":89},"value":[{"Impl":{"Trait":141}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":419},"value":[{"Impl":{"Trait":141}},{"Ident":["eq",0]}]},{"key":{"Fun":420},"value":[{"Impl":{"Trait":141}},{"Ident":["ne",0]}]},{"key":{"Fun":421},"value":[{"Impl":{"Trait":142}},{"Ident":["clone",0]}]},{"key":{"Fun":424},"value":[{"Impl":{"Trait":143}},{"Ident":["clone",0]}]},{"key":{"Global":90},"value":[{"Impl":{"Trait":144}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":425},"value":[{"Impl":{"Trait":144}},{"Ident":["eq",0]}]},{"key":{"Fun":426},"value":[{"Impl":{"Trait":144}},{"Ident":["ne",0]}]},{"key":{"Fun":427},"value":[{"Impl":{"Trait":0}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":428},"value":[{"Impl":{"Trait":37}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":429},"value":[{"Impl":{"Trait":38}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":430},"value":[{"Impl":{"Trait":54}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":431},"value":[{"Impl":{"Trait":66}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":432},"value":[{"Impl":{"Trait":66}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":433},"value":[{"Impl":{"Trait":69}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":434},"value":[{"Impl":{"Trait":101}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":435},"value":[{"Impl":{"Trait":101}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":436},"value":[{"Impl":{"Trait":105}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":11},"value":[{"Ident":["pow22501",0]}]},{"key":{"Fun":96},"value":[{"Ident":["to_affine",0]}]},{"key":{"Type":59},"value":[{"Ident":["Rev",0]}]},{"key":{"TraitDecl":43},"value":[{"Ident":["TrustedRandomAccessNoCoerce",0]}]},{"key":{"Type":58},"value":[{"Ident":["Ordering",0]}]},{"key":{"TraitDecl":21},"value":[{"Ident":["Hasher",0]}]},{"key":{"Fun":228},"value":[{"Ident":["by_ref",0]}]},{"key":{"Type":54},"value":[{"Ident":["Flatten",0]}]},{"key":{"Fun":133},"value":[{"Ident":["is_torsion_free",0]}]},{"key":{"Type":74},"value":[{"Ident":["BackendKind",0]}]},{"key":{"TraitDecl":18},"value":[{"Ident":["Identity",0]}]},{"key":{"Type":55},"value":[{"Ident":["MapWindows",0]}]},{"key":{"Fun":197},"value":[{"Ident":["borrow",0]}]},{"key":{"Fun":142},"value":[{"Ident":["new_debug",0]}]},{"key":{"Fun":194},"value":[{"Ident":["step_2",0]}]},{"key":{"Fun":404},"value":[{"Ident":["from_residual",0]}]},{"key":{"Fun":346},"value":[{"Ident":["extend",0]}]},{"key":{"Fun":242},"value":[{"Ident":["find",0]}]},{"key":{"Fun":348},"value":[{"Ident":["extend_reserve",0]}]},{"key":{"TraitDecl":47},"value":[{"Ident":["BitAnd",0]}]},{"key":{"Type":6},"value":[{"Ident":["CompressedEdwardsY",0]}]},{"key":{"Fun":237},"value":[{"Ident":["fold",0]}]},{"key":{"TraitDecl":42},"value":[{"Ident":["PartialOrd",0]}]},{"key":{"Fun":185},"value":[{"Ident":["write_i16",0]}]},{"key":{"TraitDecl":16},"value":[{"Ident":["ConditionallySelectable",0]}]},{"key":{"Fun":352},"value":[{"Ident":["nth_back",0]}]},{"key":{"Fun":93},"value":[{"Ident":["as_projective_niels",0]}]},{"key":{"Type":70},"value":[{"Ident":["ControlFlow",0]}]},{"key":{"Fun":262},"value":[{"Ident":["cmp_by",0]}]},{"key":{"Fun":241},"value":[{"Ident":["any",0]}]},{"key":{"Fun":14},"value":[{"Ident":["pow_p58",0]}]},{"key":{"Fun":139},"value":[{"Ident":["drop_glue",0]}]},{"key":{"Type":14},"value":[{"Ident":["Formatter",0]}]},{"key":{"Type":4},"value":[{"Ident":["AffineNielsPoint",0]}]},{"key":{"Fun":127},"value":[{"Ident":["mul_base_clamped",0]}]},{"key":{"Fun":333},"value":[{"Ident":["unwrap_u8",0]}]},{"key":{"Fun":349},"value":[{"Ident":["extend_one_unchecked",0]}]},{"key":{"Fun":216},"value":[{"Ident":["peekable",0]}]},{"key":{"TraitDecl":24},"value":[{"Ident":["Sum",0]}]},{"key":{"Fun":187},"value":[{"Ident":["write_i64",0]}]},{"key":{"Fun":161},"value":[{"Ident":["load8_at",0]}]},{"key":{"Fun":244},"value":[{"Ident":["try_find",0]}]},{"key":{"TraitDecl":8},"value":[{"Ident":["Debug",0]}]},{"key":{"TraitDecl":35},"value":[{"Ident":["Try",0]}]},{"key":{"Type":62},"value":[{"Ident":["Cycle",0]}]},{"key":{"Fun":239},"value":[{"Ident":["try_reduce",0]}]},{"key":{"Type":44},"value":[{"Ident":["FilterMap",0]}]},{"key":{"Type":21},"value":[{"Ident":["Range",0]}]},{"key":{"Type":40},"value":[{"Ident":["Intersperse",0]}]},{"key":{"Fun":16},"value":[{"Ident":["invsqrt",0]}]},{"key":{"Fun":15},"value":[{"Ident":["sqrt_ratio_i",0]}]},{"key":{"Type":50},"value":[{"Ident":["Skip",0]}]},{"key":{"Fun":81},"value":[{"Ident":["decompress",0]}]},{"key":{"TraitDecl":11},"value":[{"Ident":["SubAssign",0]}]},{"key":{"Fun":180},"value":[{"Ident":["write_u32",0]}]},{"key":{"Fun":208},"value":[{"Ident":["zip",0]}]},{"key":{"Fun":13},"value":[{"Ident":["invert",0]}]},{"key":{"Fun":179},"value":[{"Ident":["write_u16",0]}]},{"key":{"TraitDecl":5},"value":[{"Ident":["Clone",0]}]},{"key":{"TraitDecl":23},"value":[{"Ident":["Borrow",0]}]},{"key":{"Type":49},"value":[{"Ident":["MapWhile",0]}]},{"key":{"Fun":246},"value":[{"Ident":["rposition",0]}]},{"key":{"Fun":256},"value":[{"Ident":["cloned",0]}]},{"key":{"Fun":234},"value":[{"Ident":["is_partitioned",0]}]},{"key":{"Type":19},"value":[{"Ident":["Argument",0]}]},{"key":{"Fun":0},"value":[{"Ident":["assert_receiver_is_total_eq",0]}]},{"key":{"TraitDecl":22},"value":[{"Ident":["TryFrom",0]}]},{"key":{"TraitDecl":2},"value":[{"Ident":["ConstantTimeEq",0]}]},{"key":{"Type":22},"value":[{"Ident":["Option",0]}]},{"key":{"Fun":274},"value":[{"Ident":["is_sorted_by_key",0]}]},{"key":{"TraitDecl":14},"value":[{"Ident":["Mul",0]}]},{"key":{"Fun":356},"value":[{"Ident":["len",0]}]},{"key":{"Global":10},"value":[{"Ident":["ONE",0]}]},{"key":{"Fun":159},"value":[{"Ident":["ONE",0]}]},{"key":{"TraitDecl":38},"value":[{"Ident":["DoubleEndedIterator",0]}]},{"key":{"Fun":232},"value":[{"Ident":["partition",0]}]},{"key":{"TraitDecl":0},"value":[{"Ident":["Eq",0]}]},{"key":{"Type":53},"value":[{"Ident":["FlatMap",0]}]},{"key":{"Type":3},"value":[{"Ident":["CompletedPoint",0]}]},{"key":{"TraitDecl":33},"value":[{"Ident":["FnOnce",0]}]},{"key":{"Fun":183},"value":[{"Ident":["write_usize",0]}]},{"key":{"Fun":38},"value":[{"Ident":["square2",0]}]},{"key":{"TraitDecl":44},"value":[{"Ident":["Into",0]}]},{"key":{"Type":61},"value":[{"Ident":["Cloned",0]}]},{"key":{"Type":38},"value":[{"Ident":["Chain",0]}]},{"key":{"Fun":177},"value":[{"Ident":["write",0]}]},{"key":{"Type":35},"value":[{"Ident":["IntoIter",0]}]},{"key":{"Fun":243},"value":[{"Ident":["find_map",0]}]},{"key":{"Fun":355},"value":[{"Ident":["rfind",0]}]},{"key":{"Fun":245},"value":[{"Ident":["position",0]}]},{"key":{"Fun":218},"value":[{"Ident":["take_while",0]}]},{"key":{"Fun":220},"value":[{"Ident":["skip",0]}]},{"key":{"Global":68},"value":[{"Ident":["BASEPOINT_ORDER",0]}]},{"key":{"Fun":388},"value":[{"Ident":["BASEPOINT_ORDER",0]}]},{"key":{"Fun":143},"value":[{"Ident":["new",0]}]},{"key":{"TraitDecl":41},"value":[{"Ident":["Product",0]}]},{"key":{"Fun":214},"value":[{"Ident":["filter_map",0]}]},{"key":{"Fun":9},"value":[{"Ident":["is_negative",0]}]},{"key":{"Fun":126},"value":[{"Ident":["mul_clamped",0]}]},{"key":{"Fun":188},"value":[{"Ident":["write_i128",0]}]},{"key":{"TraitDecl":34},"value":[{"Ident":["FromIterator",0]}]},{"key":{"TraitDecl":29},"value":[{"Ident":["Step",0]}]},{"key":{"TraitDecl":36},"value":[{"Ident":["Residual",0]}]},{"key":{"Fun":193},"value":[{"Ident":["step_1",0]}]},{"key":{"Fun":211},"value":[{"Ident":["map",0]}]},{"key":{"TraitDecl":12},"value":[{"Ident":["Sub",0]}]},{"key":{"Fun":31},"value":[{"Ident":["from_limbs",0]}]},{"key":{"TraitDecl":37},"value":[{"Ident":["Extend",0]}]},{"key":{"Fun":257},"value":[{"Ident":["cycle",0]}]},{"key":{"Type":12},"value":[{"Ident":["Scalar",0]}]},{"key":{"Fun":191},"value":[{"Ident":["write_str",0]}]},{"key":{"TraitDecl":3},"value":[{"Ident":["Default",0]}]},{"key":{"Fun":273},"value":[{"Ident":["is_sorted_by",0]}]},{"key":{"Type":1},"value":[{"Ident":["FieldElement51",0]}]},{"key":{"Type":39},"value":[{"Ident":["Zip",0]}]},{"key":{"TraitDecl":7},"value":[{"Ident":["Destruct",0]}]},{"key":{"Type":2},"value":[{"Ident":["ProjectivePoint",0]}]},{"key":{"Fun":19},"value":[{"Ident":["clone_from",0]}]},{"key":{"Fun":255},"value":[{"Ident":["copied",0]}]},{"key":{"Fun":223},"value":[{"Ident":["flat_map",0]}]},{"key":{"Fun":372},"value":[{"Ident":["size",0]}]},{"key":{"Fun":95},"value":[{"Ident":["as_affine_niels",0]}]},{"key":{"Fun":176},"value":[{"Ident":["finish",0]}]},{"key":{"TraitDecl":19},"value":[{"Ident":["ValidityCheck",0]}]},{"key":{"Fun":252},"value":[{"Ident":["min_by",0]}]},{"key":{"Fun":224},"value":[{"Ident":["flatten",0]}]},{"key":{"TraitDecl":31},"value":[{"Ident":["IntoIterator",0]}]},{"key":{"Fun":215},"value":[{"Ident":["enumerate",0]}]},{"key":{"Type":45},"value":[{"Ident":["Enumerate",0]}]},{"key":{"Fun":264},"value":[{"Ident":["partial_cmp_by",0]}]},{"key":{"Fun":351},"value":[{"Ident":["advance_back_by",0]}]},{"key":{"TraitDecl":4},"value":[{"Ident":["Copy",0]}]},{"key":{"Fun":341},"value":[{"Ident":["call_mut",0]}]},{"key":{"Fun":342},"value":[{"Ident":["call_once",0]}]},{"key":{"TraitDecl":49},"value":[{"Ident":["FromResidual",0]}]},{"key":{"Fun":212},"value":[{"Ident":["for_each",0]}]},{"key":{"Fun":131},"value":[{"Ident":["mul_by_pow_2",0]}]},{"key":{"Fun":182},"value":[{"Ident":["write_u128",0]}]},{"key":{"Fun":129},"value":[{"Ident":["vartime_triple_scalar_mul_basepoint",0]}]},{"key":{"Fun":36},"value":[{"Ident":["pow2k",0]}]},{"key":{"TraitDecl":20},"value":[{"Ident":["Hash",0]}]},{"key":{"Type":51},"value":[{"Ident":["Take",0]}]},{"key":{"Fun":225},"value":[{"Ident":["map_windows",0]}]},{"key":{"Type":56},"value":[{"Ident":["Fuse",0]}]},{"key":{"Fun":345},"value":[{"Ident":["branch",0]}]},{"key":{"Fun":206},"value":[{"Ident":["step_by",0]}]},{"key":{"Type":46},"value":[{"Ident":["Peekable",0]}]},{"key":{"Fun":172},"value":[{"Ident":["to_edwards",0]}]},{"key":{"Fun":226},"value":[{"Ident":["fuse",0]}]},{"key":{"Fun":249},"value":[{"Ident":["max_by_key",0]}]},{"key":{"Fun":250},"value":[{"Ident":["max_by",0]}]},{"key":{"Fun":379},"value":[{"Ident":["scalar_fits_in_128_bits",0]}]},{"key":{"Type":17},"value":[{"Ident":["Arguments",0]}]},{"key":{"Type":36},"value":[{"Ident":["NonZero",0]}]},{"key":{"Fun":332},"value":[{"Ident":["debug_struct_field2_finish",0]}]},{"key":{"Type":37},"value":[{"Ident":["StepBy",0]}]},{"key":{"Fun":37},"value":[{"Ident":["square",0]}]},{"key":{"Fun":229},"value":[{"Ident":["collect",0]}]},{"key":{"Fun":7},"value":[{"Ident":["ct_ne",0]}]},{"key":{"TraitDecl":32},"value":[{"Ident":["FnMut",0]}]},{"key":{"TraitDecl":45},"value":[{"Ident":["BitOr",0]}]},{"key":{"TraitDecl":15},"value":[{"Ident":["Neg",0]}]},{"key":{"Type":11},"value":[{"Ident":["TryFromSliceError",0]}]},{"key":{"TraitDecl":26},"value":[{"Ident":["From",0]}]},{"key":{"Type":7},"value":[{"Ident":["EdwardsPoint",0]}]},{"key":{"TraitDecl":25},"value":[{"Ident":["Iterator",0]}]},{"key":{"Global":67},"value":[{"Ident":["ED25519_BASEPOINT_POINT",0]}]},{"key":{"Fun":376},"value":[{"Ident":["ED25519_BASEPOINT_POINT",0]}]},{"key":{"TraitDecl":50},"value":[{"Ident":["IsIdentity",0]}]},{"key":{"TraitDecl":13},"value":[{"Ident":["MulAssign",0]}]},{"key":{"Fun":130},"value":[{"Ident":["mul_by_cofactor",0]}]},{"key":{"Type":18},"value":[{"Ident":["RangeFull",0]}]},{"key":{"Type":63},"value":[{"Ident":["ArrayChunks",0]}]},{"key":{"Fun":277},"value":[{"Ident":["clamp_integer",0]}]},{"key":{"Type":15},"value":[{"Ident":["Result",0]}]},{"key":{"Fun":32},"value":[{"Ident":["negate",0]}]},{"key":{"Fun":79},"value":[{"Ident":["as_bytes",0]}]},{"key":{"Fun":144},"value":[{"Ident":["write_fmt",0]}]},{"key":{"Type":42},"value":[{"Ident":["Map",0]}]},{"key":{"Fun":231},"value":[{"Ident":["collect_into",0]}]},{"key":{"Fun":125},"value":[{"Ident":["mul_base",0]}]},{"key":{"Fun":213},"value":[{"Ident":["filter",0]}]},{"key":{"Fun":10},"value":[{"Ident":["is_zero",0]}]},{"key":{"Fun":222},"value":[{"Ident":["scan",0]}]},{"key":{"Fun":186},"value":[{"Ident":["write_i32",0]}]},{"key":{"Fun":347},"value":[{"Ident":["extend_one",0]}]},{"key":{"Fun":200},"value":[{"Ident":["next_chunk",0]}]},{"key":{"TraitDecl":40},"value":[{"Ident":["Ord",0]}]},{"key":{"TraitDecl":9},"value":[{"Ident":["AddAssign",0]}]},{"key":{"Type":5},"value":[{"Ident":["ProjectiveNielsPoint",0]}]},{"key":{"Fun":189},"value":[{"Ident":["write_isize",0]}]},{"key":{"Fun":276},"value":[{"Ident":["variable_base_mul",0]}]},{"key":{"Fun":343},"value":[{"Ident":["from_iter",0]}]},{"key":{"Fun":227},"value":[{"Ident":["inspect",0]}]},{"key":{"Fun":34},"value":[{"Ident":["from_bytes",0]}]},{"key":{"Fun":210},"value":[{"Ident":["intersperse_with",0]}]},{"key":{"Fun":12},"value":[{"Ident":["internal_invert_batch",0]}]},{"key":{"Type":41},"value":[{"Ident":["IntersperseWith",0]}]},{"key":{"Fun":219},"value":[{"Ident":["map_while",0]}]},{"key":{"Type":60},"value":[{"Ident":["Copied",0]}]},{"key":{"TraitDecl":10},"value":[{"Ident":["Add",0]}]},{"key":{"TraitDecl":39},"value":[{"Ident":["ExactSizeIterator",0]}]},{"key":{"TraitDecl":6},"value":[{"Ident":["TrivialClone",0]}]},{"key":{"Fun":344},"value":[{"Ident":["from_output",0]}]},{"key":{"TraitDecl":28},"value":[{"Ident":["SliceIndex",0]}]},{"key":{"Fun":236},"value":[{"Ident":["try_for_each",0]}]},{"key":{"Fun":235},"value":[{"Ident":["try_fold",0]}]},{"key":{"Fun":254},"value":[{"Ident":["unzip",0]}]},{"key":{"Type":47},"value":[{"Ident":["SkipWhile",0]}]},{"key":{"Type":43},"value":[{"Ident":["Filter",0]}]},{"key":{"Fun":181},"value":[{"Ident":["write_u64",0]}]},{"key":{"Fun":217},"value":[{"Ident":["skip_while",0]}]},{"key":{"Fun":178},"value":[{"Ident":["write_u8",0]}]},{"key":{"Fun":373},"value":[{"Ident":["get_selected_backend",0]}]},{"key":{"Global":11},"value":[{"Ident":["MINUS_ONE",0]}]},{"key":{"Fun":160},"value":[{"Ident":["MINUS_ONE",0]}]},{"key":{"Fun":380},"value":[{"Ident":["vartime_triple_base_mul_128_128_256_prechecked",0]}]},{"key":{"Type":16},"value":[{"Ident":["Error",0]}]},{"key":{"Fun":278},"value":[{"Ident":["vartime_double_base_mul",0]}]},{"key":{"Fun":357},"value":[{"Ident":["is_empty",0]}]},{"key":{"Global":9},"value":[{"Ident":["ZERO",0]}]},{"key":{"Fun":158},"value":[{"Ident":["ZERO",0]}]},{"key":{"Fun":221},"value":[{"Ident":["take",0]}]},{"key":{"TraitDecl":30},"value":[{"Ident":["ZeroablePrimitive",0]}]},{"key":{"Type":66},"value":[{"Ident":["NonZeroUsizeInner",0]}]},{"key":{"Type":9},"value":[{"Ident":["Choice",0]}]},{"key":{"Fun":207},"value":[{"Ident":["chain",0]}]},{"key":{"Fun":258},"value":[{"Ident":["array_chunks",0]}]},{"key":{"TraitDecl":17},"value":[{"Ident":["StructuralPartialEq",0]}]},{"key":{"Fun":97},"value":[{"Ident":["to_montgomery",0]}]},{"key":{"TraitDecl":27},"value":[{"Ident":["Index",0]}]},{"key":{"Fun":353},"value":[{"Ident":["try_rfold",0]}]},{"key":{"Fun":361},"value":[{"Ident":["clamp",0]}]},{"key":{"Fun":253},"value":[{"Ident":["rev",0]}]},{"key":{"Fun":354},"value":[{"Ident":["rfold",0]}]},{"key":{"Fun":86},"value":[{"Ident":["from_slice",0]}]},{"key":{"Fun":184},"value":[{"Ident":["write_i8",0]}]},{"key":{"Type":10},"value":[{"Ident":["AffinePoint",0]}]},{"key":{"Fun":209},"value":[{"Ident":["intersperse",0]}]},{"key":{"Global":86},"value":[{"Ident":["EDWARDS_D2",0]}]},{"key":{"Fun":423},"value":[{"Ident":["EDWARDS_D2",0]}]},{"key":{"Fun":350},"value":[{"Ident":["next_back",0]}]},{"key":{"Fun":190},"value":[{"Ident":["write_length_prefix",0]}]},{"key":{"Fun":266},"value":[{"Ident":["eq_by",0]}]},{"key":{"Fun":279},"value":[{"Ident":["vartime_triple_base_mul_128_128_256",0]}]},{"key":{"Type":57},"value":[{"Ident":["Inspect",0]}]},{"key":{"Fun":128},"value":[{"Ident":["vartime_double_scalar_mul_basepoint",0]}]},{"key":{"Fun":240},"value":[{"Ident":["all",0]}]},{"key":{"TraitDecl":1},"value":[{"Ident":["PartialEq",0]}]},{"key":{"Global":82},"value":[{"Ident":["SQRT_M1",0]}]},{"key":{"Fun":418},"value":[{"Ident":["SQRT_M1",0]}]},{"key":{"Fun":132},"value":[{"Ident":["is_small_order",0]}]},{"key":{"Global":85},"value":[{"Ident":["EDWARDS_D",0]}]},{"key":{"Fun":422},"value":[{"Ident":["EDWARDS_D",0]}]},{"key":{"Fun":251},"value":[{"Ident":["min_by_key",0]}]},{"key":{"Type":0},"value":[{"Ident":["FieldElement",0]}]},{"key":{"Type":32},"value":[{"Ident":["MontgomeryPoint",0]}]},{"key":{"Fun":233},"value":[{"Ident":["partition_in_place",0]}]},{"key":{"Type":52},"value":[{"Ident":["Scan",0]}]},{"key":{"Type":48},"value":[{"Ident":["TakeWhile",0]}]},{"key":{"Fun":230},"value":[{"Ident":["try_collect",0]}]}],"type_decls":[{"def_id":0,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Ident":["FieldElement",0]}],"span":{"data":{"file_id":1,"beg":{"line":50,"col":0},"end":{"line":50,"col":75}},"generated_from_span":null},"source_text":"pub(crate) type FieldElement = backend::serial::u64::field::FieldElement51;","attr_info":{"attributes":[{"DocComment":" A `FieldElement` represents an element of the field"},{"DocComment":" \\\\( \\mathbb Z / (2\\^{255} - 19)\\\\)."},{"DocComment":""},{"DocComment":" The `FieldElement` type is pinned to the 64-bit serial implementation."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Alias":{"Deduplicated":1391}},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":40,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":1,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Ident":["FieldElement51",0]}],"span":{"data":{"file_id":5,"beg":{"line":43,"col":0},"end":{"line":43,"col":47}},"generated_from_span":null},"source_text":"pub struct FieldElement51(pub(crate) [u64; 5]);","attr_info":{"attributes":[{"DocComment":" A `FieldElement51` represents an element of the field"},{"DocComment":" \\\\( \\mathbb Z / (2\\^{255} - 19)\\\\)."},{"DocComment":""},{"DocComment":" In the 64-bit implementation, a `FieldElement` is represented in"},{"DocComment":" radix \\\\(2\\^{51}\\\\) as five `u64`s; the coefficients are allowed to"},{"DocComment":" grow up to \\\\(2\\^{54}\\\\) between reductions modulo \\\\(p\\\\)."},{"DocComment":""},{"DocComment":" # Note"},{"DocComment":""},{"DocComment":" The `curve25519::field` module provides a type alias"},{"DocComment":" `curve25519::field::FieldElement` to either `FieldElement51`"},{"DocComment":" or `FieldElement2625`."},{"DocComment":""},{"DocComment":" The backend-specific type `FieldElement51` should not be used"},{"DocComment":" outside of the `curve25519::field` module."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":5,"beg":{"line":43,"col":26},"end":{"line":43,"col":45}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":null,"ty":{"HashConsedValue":[1552,{"Array":[{"HashConsedValue":[1550,{"Literal":{"UInt":"U64"}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"HashConsedValue":[1551,{"Literal":{"UInt":"Usize"}}]}}]}]}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":40,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":2,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["ProjectivePoint",0]}],"span":{"data":{"file_id":6,"beg":{"line":154,"col":0},"end":{"line":158,"col":1}},"generated_from_span":null},"source_text":"pub struct ProjectivePoint {\n pub X: FieldElement,\n pub Y: FieldElement,\n pub Z: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" A `ProjectivePoint` is a point \\\\((X:Y:Z)\\\\) on the \\\\(\\mathbb"},{"DocComment":" P\\^2\\\\) model of the curve."},{"DocComment":" A point \\\\((x,y)\\\\) in the affine model corresponds to"},{"DocComment":" \\\\((x:y:1)\\\\)."},{"DocComment":""},{"DocComment":" More details on the relationships between the different curve models"},{"DocComment":" can be found in the module-level documentation."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":6,"beg":{"line":155,"col":4},"end":{"line":155,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":156,"col":4},"end":{"line":156,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Y","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":157,"col":4},"end":{"line":157,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Z","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":120,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":3,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["CompletedPoint",0]}],"span":{"data":{"file_id":6,"beg":{"line":169,"col":0},"end":{"line":174,"col":1}},"generated_from_span":null},"source_text":"pub struct CompletedPoint {\n pub X: FieldElement,\n pub Y: FieldElement,\n pub Z: FieldElement,\n pub T: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" A `CompletedPoint` is a point \\\\(((X:Z), (Y:T))\\\\) on the \\\\(\\mathbb"},{"DocComment":" P\\^1 \\times \\mathbb P\\^1 \\\\) model of the curve."},{"DocComment":" A point (x,y) in the affine model corresponds to \\\\( ((x:1),(y:1))"},{"DocComment":" \\\\)."},{"DocComment":""},{"DocComment":" More details on the relationships between the different curve models"},{"DocComment":" can be found in the module-level documentation."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":6,"beg":{"line":170,"col":4},"end":{"line":170,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":171,"col":4},"end":{"line":171,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Y","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":172,"col":4},"end":{"line":172,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Z","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":173,"col":4},"end":{"line":173,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"T","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":160,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80,120],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":4,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["AffineNielsPoint",0]}],"span":{"data":{"file_id":6,"beg":{"line":184,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"source_text":"pub struct AffineNielsPoint {\n pub y_plus_x: FieldElement,\n pub y_minus_x: FieldElement,\n pub xy2d: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" A pre-computed point in the affine model for the curve, represented as"},{"DocComment":" \\\\((y+x, y-x, 2dxy)\\\\) in \"Niels coordinates\"."},{"DocComment":""},{"DocComment":" More details on the relationships between the different curve models"},{"DocComment":" can be found in the module-level documentation."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"y_plus_x","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"y_minus_x","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"xy2d","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":120,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":5,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["ProjectiveNielsPoint",0]}],"span":{"data":{"file_id":6,"beg":{"line":206,"col":0},"end":{"line":211,"col":1}},"generated_from_span":null},"source_text":"pub struct ProjectiveNielsPoint {\n pub Y_plus_X: FieldElement,\n pub Y_minus_X: FieldElement,\n pub Z: FieldElement,\n pub T2d: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" A pre-computed point on the \\\\( \\mathbb P\\^3 \\\\) model for the"},{"DocComment":" curve, represented as \\\\((Y+X, Y-X, Z, 2dXY)\\\\) in \"Niels coordinates\"."},{"DocComment":""},{"DocComment":" More details on the relationships between the different curve models"},{"DocComment":" can be found in the module-level documentation."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":6,"beg":{"line":207,"col":4},"end":{"line":207,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Y_plus_X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":208,"col":4},"end":{"line":208,"col":31}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Y_minus_X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":209,"col":4},"end":{"line":209,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Z","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":210,"col":4},"end":{"line":210,"col":25}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"T2d","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":160,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80,120],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":6,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["CompressedEdwardsY",0]}],"span":{"data":{"file_id":7,"beg":{"line":175,"col":0},"end":{"line":175,"col":44}},"generated_from_span":null},"source_text":"pub struct CompressedEdwardsY(pub [u8; 32]);","attr_info":{"attributes":[{"DocComment":" In \"Edwards y\" / \"Ed25519\" format, the curve point \\\\((x,y)\\\\) is"},{"DocComment":" determined by the \\\\(y\\\\)-coordinate and the sign of \\\\(x\\\\)."},{"DocComment":""},{"DocComment":" The first 255 bits of a `CompressedEdwardsY` represent the"},{"DocComment":" \\\\(y\\\\)-coordinate. The high bit of the 32nd byte gives the sign of \\\\(x\\\\)."},{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"HashConsedValue":[2114,{"Array":[{"HashConsedValue":[2113,{"Literal":{"UInt":"U8"}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}]}]}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":32,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":7,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["EdwardsPoint",0]}],"span":{"data":{"file_id":7,"beg":{"line":390,"col":0},"end":{"line":395,"col":1}},"generated_from_span":null},"source_text":"pub struct EdwardsPoint {\n pub(crate) X: FieldElement,\n pub(crate) Y: FieldElement,\n pub(crate) Z: FieldElement,\n pub(crate) T: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" An `EdwardsPoint` represents a point on the Edwards form of Curve25519."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":7,"beg":{"line":391,"col":4},"end":{"line":391,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":7,"beg":{"line":392,"col":4},"end":{"line":392,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"Y","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":7,"beg":{"line":393,"col":4},"end":{"line":393,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"Z","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":7,"beg":{"line":394,"col":4},"end":{"line":394,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"T","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":160,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80,120],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,{"def_id":9,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["Choice",0]}],"span":{"data":{"file_id":11,"beg":{"line":120,"col":0},"end":{"line":120,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The `Choice` struct represents a choice for use in conditional assignment."},{"DocComment":""},{"DocComment":" It is a wrapper around a `u8`, which should have the value either `1` (true)"},{"DocComment":" or `0` (false)."},{"DocComment":""},{"DocComment":" The conversion from `u8` to `Choice` passes the value through an optimization"},{"DocComment":" barrier, as a best-effort attempt to prevent the compiler from inferring that"},{"DocComment":" the `Choice` value is a boolean. This strategy is based on Tim Maclean's"},{"DocComment":" [work on `rust-timing-shield`][rust-timing-shield], which attempts to provide"},{"DocComment":" a more comprehensive approach for preventing software side-channels in Rust"},{"DocComment":" code."},{"DocComment":""},{"DocComment":" The `Choice` struct implements operators for AND, OR, XOR, and NOT, to allow"},{"DocComment":" combining `Choice` values. These operations do not short-circuit."},{"DocComment":""},{"DocComment":" [rust-timing-shield]:"},{"DocComment":" https://www.chosenplaintext.ca/open-source/rust-timing-shield/security"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":10,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Ident":["AffinePoint",0]}],"span":{"data":{"file_id":19,"beg":{"line":12,"col":0},"end":{"line":15,"col":1}},"generated_from_span":null},"source_text":"pub struct AffinePoint {\n pub(super) x: FieldElement,\n pub(super) y: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" Affine Edwards point on untwisted curve."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"x","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"y","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":80,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":11,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["TryFromSliceError",0]}],"span":{"data":{"file_id":22,"beg":{"line":183,"col":0},"end":{"line":183,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The error type returned when a conversion from a slice to an array fails."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":0,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":12,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Ident":["Scalar",0]}],"span":{"data":{"file_id":28,"beg":{"line":165,"col":0},"end":{"line":202,"col":1}},"generated_from_span":null},"source_text":"pub struct Scalar {\n /// `bytes` is a little-endian byte encoding of an integer representing a scalar modulo the\n /// group order.\n ///\n /// # Invariant #1\n ///\n /// The integer representing this scalar is less than \\\\(2\\^{255}\\\\). That is, the most\n /// significant bit of `bytes[31]` is 0.\n ///\n /// This is required for `EdwardsPoint` variable- and fixed-base multiplication, because most\n /// integers above 2^255 are unrepresentable in our radix-16 NAF (see [`Self::as_radix_16`]).\n /// The invariant is also required because our `MontgomeryPoint` multiplication assumes the MSB\n /// is 0 (see `MontgomeryPoint::mul`).\n ///\n /// # Invariant #2 (weak)\n ///\n /// The integer representing this scalar is less than \\\\(2\\^{255} - 19 \\\\), i.e., it represents\n /// a canonical representative of an element of \\\\( \\mathbb Z / \\ell\\mathbb Z \\\\). This is\n /// stronger than invariant #1. It also sometimes has to be broken.\n ///\n /// This invariant is deliberately broken in the implementation of `EdwardsPoint::{mul_clamped,\n /// mul_base_clamped}`, `MontgomeryPoint::{mul_clamped, mul_base_clamped}`, and\n /// `BasepointTable::mul_base_clamped`. This is not an issue though. As mentioned above,\n /// scalar-point multiplication is defined for any choice of `bytes` that satisfies invariant\n /// #1. Since clamping guarantees invariant #1 is satisfied, these operations are well defined.\n ///\n /// Note: Scalar-point mult is the _only_ thing you can do safely with an unreduced scalar.\n /// Scalar-scalar addition and subtraction are NOT correct when using unreduced scalars.\n /// Multiplication is correct, but this is only due to a quirk of our implementation, and not\n /// guaranteed to hold in general in the future.\n ///\n /// Note: It is not possible to construct an unreduced `Scalar` from the public API unless the\n /// `legacy_compatibility` is enabled (thus making `Scalar::from_bits` public). Thus, for all\n /// public non-legacy uses, invariant #2\n /// always holds.\n ///\n pub(crate) bytes: [u8; 32],\n}","attr_info":{"attributes":[{"DocComment":" The `Scalar` struct holds an element of \\\\(\\mathbb Z / \\ell\\mathbb Z \\\\)."},{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":28,"beg":{"line":201,"col":4},"end":{"line":201,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" `bytes` is a little-endian byte encoding of an integer representing a scalar modulo the"},{"DocComment":" group order."},{"DocComment":""},{"DocComment":" # Invariant #1"},{"DocComment":""},{"DocComment":" The integer representing this scalar is less than \\\\(2\\^{255}\\\\). That is, the most"},{"DocComment":" significant bit of `bytes[31]` is 0."},{"DocComment":""},{"DocComment":" This is required for `EdwardsPoint` variable- and fixed-base multiplication, because most"},{"DocComment":" integers above 2^255 are unrepresentable in our radix-16 NAF (see [`Self::as_radix_16`])."},{"DocComment":" The invariant is also required because our `MontgomeryPoint` multiplication assumes the MSB"},{"DocComment":" is 0 (see `MontgomeryPoint::mul`)."},{"DocComment":""},{"DocComment":" # Invariant #2 (weak)"},{"DocComment":""},{"DocComment":" The integer representing this scalar is less than \\\\(2\\^{255} - 19 \\\\), i.e., it represents"},{"DocComment":" a canonical representative of an element of \\\\( \\mathbb Z / \\ell\\mathbb Z \\\\). This is"},{"DocComment":" stronger than invariant #1. It also sometimes has to be broken."},{"DocComment":""},{"DocComment":" This invariant is deliberately broken in the implementation of `EdwardsPoint::{mul_clamped,"},{"DocComment":" mul_base_clamped}`, `MontgomeryPoint::{mul_clamped, mul_base_clamped}`, and"},{"DocComment":" `BasepointTable::mul_base_clamped`. This is not an issue though. As mentioned above,"},{"DocComment":" scalar-point multiplication is defined for any choice of `bytes` that satisfies invariant"},{"DocComment":" #1. Since clamping guarantees invariant #1 is satisfied, these operations are well defined."},{"DocComment":""},{"DocComment":" Note: Scalar-point mult is the _only_ thing you can do safely with an unreduced scalar."},{"DocComment":" Scalar-scalar addition and subtraction are NOT correct when using unreduced scalars."},{"DocComment":" Multiplication is correct, but this is only due to a quirk of our implementation, and not"},{"DocComment":" guaranteed to hold in general in the future."},{"DocComment":""},{"DocComment":" Note: It is not possible to construct an unreduced `Scalar` from the public API unless the"},{"DocComment":" `legacy_compatibility` is enabled (thus making `Scalar::from_bits` public). Thus, for all"},{"DocComment":" public non-legacy uses, invariant #2"},{"DocComment":" always holds."},{"DocComment":""}],"inline":null,"rename":null,"public":false},"name":"bytes","ty":{"Deduplicated":2114}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":32,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":13,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":15,"beg":{"line":1053,"col":0},"end":{"line":1053,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":{"VTableTy":{"dyn_predicate":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"HashConsedValue":[1435,{"TypeVar":{"Bound":[1,0]}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},"Erased"]}],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1436,{"TypeVar":{"Bound":[0,0]}}]},"kind":"Dyn"}},"field_map":[],"supertrait_map":[]}},"kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":14,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Formatter",0]}],"span":{"data":{"file_id":15,"beg":{"line":561,"col":0},"end":{"line":561,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Configuration for formatting."},{"DocComment":""},{"DocComment":" A `Formatter` represents various options related to formatting. Users do not"},{"DocComment":" construct `Formatter`s directly; a mutable reference to one is passed to"},{"DocComment":" the `fmt` method of all formatting traits, like [`Debug`] and [`Display`]."},{"DocComment":""},{"DocComment":" To interact with a `Formatter`, you'll call various methods to change the"},{"DocComment":" various options related to formatting. For examples, please see the"},{"DocComment":" documentation of the methods defined on `Formatter` below."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Formatter"},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Mutable"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[{"regions":[],"skip_binder":[{"Var":{"Free":0}},{"Var":{"Free":0}}]}],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":24,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[16,0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":15,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["result",0]},{"Ident":["Result",0]}],"span":{"data":{"file_id":29,"beg":{"line":557,"col":0},"end":{"line":557,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" `Result` is a type that represents either success ([`Ok`]) or failure ([`Err`])."},{"DocComment":""},{"DocComment":" See the [module documentation](self) for details."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Result"},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"E"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":29,"beg":{"line":561,"col":4},"end":{"line":561,"col":6}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Contains the success value"}],"inline":null,"rename":null,"public":true},"name":"Ok","fields":[{"span":{"data":{"file_id":29,"beg":{"line":561,"col":53},"end":{"line":561,"col":54}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"HashConsedValue":[10076,{"TypeVar":{"Free":0}}]}}],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":29,"beg":{"line":566,"col":4},"end":{"line":566,"col":7}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Contains the error value"}],"inline":null,"rename":null,"public":true},"name":"Err","fields":[{"span":{"data":{"file_id":29,"beg":{"line":566,"col":54},"end":{"line":566,"col":55}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"HashConsedValue":[10077,{"TypeVar":{"Free":1}}]}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},{"def_id":16,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Error",0]}],"span":{"data":{"file_id":15,"beg":{"line":109,"col":0},"end":{"line":109,"col":16}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The error type which is returned from formatting a message into a stream."},{"DocComment":""},{"DocComment":" This type does not support transmission of an error other than that an error"},{"DocComment":" occurred. This is because, despite the existence of this error,"},{"DocComment":" string formatting is considered an infallible operation."},{"DocComment":" `fmt()` implementors should not return this `Error` unless they received it from their"},{"DocComment":" [`Formatter`]. The only time your code should create a new instance of this"},{"DocComment":" error is when implementing `fmt::Write`, in order to cancel the formatting operation when"},{"DocComment":" writing to the underlying stream fails."},{"DocComment":""},{"DocComment":" Any extra information must be arranged to be transmitted through some other means,"},{"DocComment":" such as storing it in a field to be consulted after the formatting operation has been"},{"DocComment":" cancelled. (For example, this is how [`std::io::Write::write_fmt()`] propagates IO errors"},{"DocComment":" during writing.)"},{"DocComment":""},{"DocComment":" This type, `fmt::Error`, should not be"},{"DocComment":" confused with [`std::io::Error`] or [`std::error::Error`], which you may also"},{"DocComment":" have in scope."},{"DocComment":""},{"DocComment":" [`std::io::Error`]: ../../std/io/struct.Error.html"},{"DocComment":" [`std::io::Write::write_fmt()`]: ../../std/io/trait.Write.html#method.write_fmt"},{"DocComment":" [`std::error::Error`]: ../../std/error/trait.Error.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" use std::fmt::{self, write};"},{"DocComment":""},{"DocComment":" let mut output = String::new();"},{"DocComment":" if let Err(fmt::Error) = write(&mut output, format_args!(\"Hello {}!\", \"world\")) {"},{"DocComment":" panic!(\"An error occurred\");"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":0,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":17,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Arguments",0]}],"span":{"data":{"file_id":15,"beg":{"line":716,"col":0},"end":{"line":716,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This structure represents a safely precompiled version of a format string"},{"DocComment":" and its arguments. This cannot be generated at runtime because it cannot"},{"DocComment":" safely be done, so no constructors are given and the fields are private"},{"DocComment":" to prevent modification."},{"DocComment":""},{"DocComment":" The [`format_args!`] macro will safely create an instance of this structure."},{"DocComment":" The macro validates the format string at compile-time so usage of the"},{"DocComment":" [`write()`] and [`format()`] functions can be safely performed."},{"DocComment":""},{"DocComment":" You can use the `Arguments<'a>` that [`format_args!`] returns in `Debug`"},{"DocComment":" and `Display` contexts as seen below. The example also shows that `Debug`"},{"DocComment":" and `Display` format to the same thing: the interpolated format string"},{"DocComment":" in `format_args!`."},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let debug = format!(\"{:?}\", format_args!(\"{} foo {:?}\", 1, 2));"},{"DocComment":" let display = format!(\"{}\", format_args!(\"{} foo {:?}\", 1, 2));"},{"DocComment":" assert_eq!(\"1 foo 2\", display);"},{"DocComment":" assert_eq!(display, debug);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`format()`]: ../../std/fmt/fn.format.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"format_arguments"},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Shared"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":16,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,8],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":18,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["RangeFull",0]}],"span":{"data":{"file_id":31,"beg":{"line":44,"col":0},"end":{"line":44,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An unbounded range (`..`)."},{"DocComment":""},{"DocComment":" `RangeFull` is primarily used as a [slicing index], its shorthand is `..`."},{"DocComment":" It cannot serve as an [`Iterator`] because it doesn't have a starting point."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The `..` syntax is a `RangeFull`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(.., std::ops::RangeFull);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It does not have an [`IntoIterator`] implementation, so you can't use it in"},{"DocComment":" a `for` loop directly. This won't compile:"},{"DocComment":""},{"DocComment":" ```compile_fail,E0277"},{"DocComment":" for i in .. {"},{"DocComment":" // ..."},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Used as a [slicing index], `RangeFull` produces the full array as a slice."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let arr = [0, 1, 2, 3, 4];"},{"DocComment":" assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]); // This is the `RangeFull`"},{"DocComment":" assert_eq!(arr[ .. 3], [0, 1, 2 ]);"},{"DocComment":" assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);"},{"DocComment":" assert_eq!(arr[1.. ], [ 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[1.. 3], [ 1, 2 ]);"},{"DocComment":" assert_eq!(arr[1..=3], [ 1, 2, 3 ]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [slicing index]: crate::slice::SliceIndex"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"RangeFull"},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":0,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":19,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["rt",0]},{"Ident":["Argument",0]}],"span":{"data":{"file_id":32,"beg":{"line":38,"col":0},"end":{"line":38,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"format_argument"},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Shared"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":16,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":{"Align":2},"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,{"def_id":21,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["Range",0]}],"span":{"data":{"file_id":31,"beg":{"line":82,"col":0},"end":{"line":82,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A (half-open) range bounded inclusively below and exclusively above"},{"DocComment":" (`start..end`)."},{"DocComment":""},{"DocComment":" The range `start..end` contains all values with `start <= x < end`."},{"DocComment":" It is empty if `start >= end`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The `start..end` syntax is a `Range`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!((3..5), std::ops::Range { start: 3, end: 5 });"},{"DocComment":" assert_eq!(3 + 4 + 5, (3..6).sum());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let arr = [0, 1, 2, 3, 4];"},{"DocComment":" assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[ .. 3], [0, 1, 2 ]);"},{"DocComment":" assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);"},{"DocComment":" assert_eq!(arr[1.. ], [ 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[1.. 3], [ 1, 2 ]); // This is a `Range`"},{"DocComment":" assert_eq!(arr[1..=3], [ 1, 2, 3 ]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Range"},"generics":{"regions":[],"types":[{"index":0,"name":"Idx"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":31,"beg":{"line":85,"col":4},"end":{"line":85,"col":18}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" The lower bound of the range (inclusive)."}],"inline":null,"rename":null,"public":true},"name":"start","ty":{"Deduplicated":10076}},{"span":{"data":{"file_id":31,"beg":{"line":88,"col":4},"end":{"line":88,"col":16}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" The upper bound of the range (exclusive)."}],"inline":null,"rename":null,"public":true},"name":"end","ty":{"Deduplicated":10076}}]},"layout":[],"ptr_metadata":"None"},{"def_id":22,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["option",0]},{"Ident":["Option",0]}],"span":{"data":{"file_id":37,"beg":{"line":597,"col":0},"end":{"line":597,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The `Option` type. See [the module level documentation](self) for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Option"},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":37,"beg":{"line":601,"col":4},"end":{"line":601,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" No value."}],"inline":null,"rename":null,"public":true},"name":"None","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":37,"beg":{"line":605,"col":4},"end":{"line":605,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Some value of type `T`."}],"inline":null,"rename":null,"public":true},"name":"Some","fields":[{"span":{"data":{"file_id":37,"beg":{"line":605,"col":55},"end":{"line":605,"col":56}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":10076}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},null,null,null,null,null,null,null,null,null,{"def_id":32,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["montgomery",0]},{"Ident":["MontgomeryPoint",0]}],"span":{"data":{"file_id":41,"beg":{"line":87,"col":0},"end":{"line":87,"col":41}},"generated_from_span":null},"source_text":"pub struct MontgomeryPoint(pub [u8; 32]);","attr_info":{"attributes":[{"DocComment":" Holds the \\\\(u\\\\)-coordinate of a point on the Montgomery form of"},{"DocComment":" Curve25519 or its twist."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":41,"beg":{"line":87,"col":27},"end":{"line":87,"col":39}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":2114}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":32,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,null,{"def_id":35,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["iter",0]},{"Ident":["IntoIter",0]}],"span":{"data":{"file_id":42,"beg":{"line":20,"col":0},"end":{"line":20,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A by-value [array] iterator."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ArrayIntoIter"},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":36,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["NonZero",0]}],"span":{"data":{"file_id":43,"beg":{"line":128,"col":0},"end":{"line":128,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A value that is known not to equal zero."},{"DocComment":""},{"DocComment":" This enables some memory layout optimization."},{"DocComment":" For example, `Option>` is the same size as `u32`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use core::{num::NonZero};"},{"DocComment":""},{"DocComment":" assert_eq!(size_of::>>(), size_of::());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Layout"},{"DocComment":""},{"DocComment":" `NonZero` is guaranteed to have the same layout and bit validity as `T`"},{"DocComment":" with the exception that the all-zero bit pattern is invalid."},{"DocComment":" `Option>` is guaranteed to be compatible with `T`, including in"},{"DocComment":" FFI."},{"DocComment":""},{"DocComment":" Thanks to the [null pointer optimization], `NonZero` and"},{"DocComment":" `Option>` are guaranteed to have the same size and alignment:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::num::NonZero;"},{"DocComment":""},{"DocComment":" assert_eq!(size_of::>(), size_of::>>());"},{"DocComment":" assert_eq!(align_of::>(), align_of::>>());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [null pointer optimization]: crate::option#representation"},{"DocComment":""},{"DocComment":" # Note on generic usage"},{"DocComment":""},{"DocComment":" `NonZero` can only be used with some standard library primitive types"},{"DocComment":" (such as `u8`, `i32`, and etc.). The type parameter `T` must implement the"},{"DocComment":" internal trait [`ZeroablePrimitive`], which is currently permanently unstable"},{"DocComment":" and cannot be implemented by users. Therefore, you cannot use `NonZero`"},{"DocComment":" with your own types, nor can you implement traits for all `NonZero`,"},{"DocComment":" only for concrete types."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"NonZero"},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_NonZeroInner"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":37,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["step_by",0]},{"Ident":["StepBy",0]}],"span":{"data":{"file_id":45,"beg":{"line":16,"col":0},"end":{"line":16,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator for stepping iterators by a custom amount."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`step_by`] method on [`Iterator`]. See"},{"DocComment":" its documentation for more."},{"DocComment":""},{"DocComment":" [`step_by`]: Iterator::step_by"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":38,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["chain",0]},{"Ident":["Chain",0]}],"span":{"data":{"file_id":47,"beg":{"line":23,"col":0},"end":{"line":23,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that links two iterators together, in a chain."},{"DocComment":""},{"DocComment":" This `struct` is created by [`chain`] or [`Iterator::chain`]. See their"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::iter::Chain;"},{"DocComment":" use std::slice::Iter;"},{"DocComment":""},{"DocComment":" let a1 = [1, 2, 3];"},{"DocComment":" let a2 = [4, 5, 6];"},{"DocComment":" let iter: Chain, Iter<'_, _>> = a1.iter().chain(a2.iter());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"A"},{"index":1,"name":"B"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":39,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["Zip",0]}],"span":{"data":{"file_id":48,"beg":{"line":13,"col":0},"end":{"line":13,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that iterates two other iterators simultaneously."},{"DocComment":""},{"DocComment":" This `struct` is created by [`zip`] or [`Iterator::zip`]."},{"DocComment":" See their documentation for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"A"},{"index":1,"name":"B"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":40,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["Intersperse",0]}],"span":{"data":{"file_id":49,"beg":{"line":9,"col":0},"end":{"line":9,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator adapter that places a separator between all elements."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::intersperse`]. See its documentation"},{"DocComment":" for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":41,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["IntersperseWith",0]}],"span":{"data":{"file_id":49,"beg":{"line":83,"col":0},"end":{"line":83,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator adapter that places a separator between all elements."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::intersperse_with`]. See its"},{"DocComment":" documentation for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"G"},{"index":2,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":42,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map",0]},{"Ident":["Map",0]}],"span":{"data":{"file_id":51,"beg":{"line":61,"col":0},"end":{"line":61,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that maps the values of `iter` with `f`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`map`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`map`]: Iterator::map"},{"DocComment":" [`Iterator`]: trait.Iterator.html"},{"DocComment":""},{"DocComment":" # Notes about side effects"},{"DocComment":""},{"DocComment":" The [`map`] iterator implements [`DoubleEndedIterator`], meaning that"},{"DocComment":" you can also [`map`] backwards:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let v: Vec = [1, 2, 3].into_iter().map(|x| x + 1).rev().collect();"},{"DocComment":""},{"DocComment":" assert_eq!(v, [4, 3, 2]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`DoubleEndedIterator`]: trait.DoubleEndedIterator.html"},{"DocComment":""},{"DocComment":" But if your closure has state, iterating backwards may act in a way you do"},{"DocComment":" not expect. Let's go through an example. First, in the forward direction:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let mut c = 0;"},{"DocComment":""},{"DocComment":" for pair in ['a', 'b', 'c'].into_iter()"},{"DocComment":" .map(|letter| { c += 1; (letter, c) }) {"},{"DocComment":" println!(\"{pair:?}\");"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" This will print `('a', 1), ('b', 2), ('c', 3)`."},{"DocComment":""},{"DocComment":" Now consider this twist where we add a call to `rev`. This version will"},{"DocComment":" print `('c', 1), ('b', 2), ('a', 3)`. Note that the letters are reversed,"},{"DocComment":" but the values of the counter still go in order. This is because `map()` is"},{"DocComment":" still being called lazily on each item, but we are popping items off the"},{"DocComment":" back of the vector now, instead of shifting them from the front."},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let mut c = 0;"},{"DocComment":""},{"DocComment":" for pair in ['a', 'b', 'c'].into_iter()"},{"DocComment":" .map(|letter| { c += 1; (letter, c) })"},{"DocComment":" .rev() {"},{"DocComment":" println!(\"{pair:?}\");"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":43,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter",0]},{"Ident":["Filter",0]}],"span":{"data":{"file_id":52,"beg":{"line":21,"col":0},"end":{"line":21,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that filters the elements of `iter` with `predicate`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`filter`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`filter`]: Iterator::filter"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":44,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter_map",0]},{"Ident":["FilterMap",0]}],"span":{"data":{"file_id":53,"beg":{"line":18,"col":0},"end":{"line":18,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that uses `f` to both filter and map elements from `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`filter_map`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`filter_map`]: Iterator::filter_map"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":45,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["enumerate",0]},{"Ident":["Enumerate",0]}],"span":{"data":{"file_id":54,"beg":{"line":18,"col":0},"end":{"line":18,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that yields the current count and the element during iteration."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`enumerate`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`enumerate`]: Iterator::enumerate"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Enumerate"},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":46,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["peekable",0]},{"Ident":["Peekable",0]}],"span":{"data":{"file_id":55,"beg":{"line":17,"col":0},"end":{"line":17,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator with a `peek()` that returns an optional reference to the next"},{"DocComment":" element."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`peekable`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`peekable`]: Iterator::peekable"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"IterPeekable"},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":47,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip_while",0]},{"Ident":["SkipWhile",0]}],"span":{"data":{"file_id":56,"beg":{"line":17,"col":0},"end":{"line":17,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that rejects elements while `predicate` returns `true`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`skip_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`skip_while`]: Iterator::skip_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":48,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take_while",0]},{"Ident":["TakeWhile",0]}],"span":{"data":{"file_id":57,"beg":{"line":17,"col":0},"end":{"line":17,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only accepts elements while `predicate` returns `true`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`take_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`take_while`]: Iterator::take_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":49,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_while",0]},{"Ident":["MapWhile",0]}],"span":{"data":{"file_id":58,"beg":{"line":17,"col":0},"end":{"line":17,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only accepts elements while `predicate` returns `Some(_)`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`map_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`map_while`]: Iterator::map_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":50,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip",0]},{"Ident":["Skip",0]}],"span":{"data":{"file_id":59,"beg":{"line":21,"col":0},"end":{"line":21,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that skips over `n` elements of `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`skip`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`skip`]: Iterator::skip"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":51,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take",0]},{"Ident":["Take",0]}],"span":{"data":{"file_id":60,"beg":{"line":17,"col":0},"end":{"line":17,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only iterates over the first `n` iterations of `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`take`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`take`]: Iterator::take"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":52,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["scan",0]},{"Ident":["Scan",0]}],"span":{"data":{"file_id":61,"beg":{"line":17,"col":0},"end":{"line":17,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator to maintain state while iterating another iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`scan`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`scan`]: Iterator::scan"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"St"},{"index":2,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":53,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["FlatMap",0]}],"span":{"data":{"file_id":62,"beg":{"line":17,"col":0},"end":{"line":17,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that maps each element to an iterator, and yields the elements"},{"DocComment":" of the produced iterators."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::flat_map`]. See its documentation"},{"DocComment":" for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"U"},{"index":2,"name":"F"},{"index":3,"name":"Clause0_Item"},{"index":4,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":54,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["Flatten",0]}],"span":{"data":{"file_id":62,"beg":{"line":184,"col":0},"end":{"line":184,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that flattens one level of nesting in an iterator of things"},{"DocComment":" that can be turned into iterators."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`flatten`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`flatten`]: Iterator::flatten()"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"},{"index":2,"name":"Clause1_Item"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":55,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_windows",0]},{"Ident":["MapWindows",0]}],"span":{"data":{"file_id":63,"beg":{"line":11,"col":0},"end":{"line":11,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator over the mapped windows of another iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`Iterator::map_windows`]. See its"},{"DocComment":" documentation for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"},{"index":2,"name":"Clause0_Item"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":56,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["fuse",0]},{"Ident":["Fuse",0]}],"span":{"data":{"file_id":64,"beg":{"line":17,"col":0},"end":{"line":17,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that yields `None` forever after the underlying iterator"},{"DocComment":" yields `None` once."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::fuse`]. See its documentation"},{"DocComment":" for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":57,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["inspect",0]},{"Ident":["Inspect",0]}],"span":{"data":{"file_id":65,"beg":{"line":18,"col":0},"end":{"line":18,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that calls a function with a reference to each element before"},{"DocComment":" yielding it."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`inspect`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`inspect`]: Iterator::inspect"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":58,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ordering",0]}],"span":{"data":{"file_id":9,"beg":{"line":405,"col":0},"end":{"line":405,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An `Ordering` is the result of a comparison between two values."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(1.cmp(&2), Ordering::Less);"},{"DocComment":""},{"DocComment":" assert_eq!(1.cmp(&1), Ordering::Equal);"},{"DocComment":""},{"DocComment":" assert_eq!(2.cmp(&1), Ordering::Greater);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Ordering"},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":9,"beg":{"line":408,"col":4},"end":{"line":408,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is less than another."}],"inline":null,"rename":null,"public":true},"name":"Less","fields":[],"discriminant":{"Scalar":{"Signed":["I8","-1"]}}},{"id":1,"span":{"data":{"file_id":9,"beg":{"line":411,"col":4},"end":{"line":411,"col":9}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is equal to another."}],"inline":null,"rename":null,"public":true},"name":"Equal","fields":[],"discriminant":{"Scalar":{"Signed":["I8","0"]}}},{"id":2,"span":{"data":{"file_id":9,"beg":{"line":414,"col":4},"end":{"line":414,"col":11}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is greater than another."}],"inline":null,"rename":null,"public":true},"name":"Greater","fields":[],"discriminant":{"Scalar":{"Signed":["I8","1"]}}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Branch":{"offset":0,"int_ty":{"Signed":"I8"},"children":[[{"start":{"Signed":["I8","-1"]},"end":{"Signed":["I8","-1"]}},{"Known":0}],[{"start":{"Signed":["I8","0"]},"end":{"Signed":["I8","0"]}},{"Known":1}],[{"start":{"Signed":["I8","1"]},"end":{"Signed":["I8","1"]}},{"Known":2}]],"fallback":"Invalid"}},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","-1"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","0"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","1"]}]]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":true}}}],"ptr_metadata":"None"},{"def_id":59,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["rev",0]},{"Ident":["Rev",0]}],"span":{"data":{"file_id":69,"beg":{"line":15,"col":0},"end":{"line":15,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A double-ended iterator with the direction inverted."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`rev`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`rev`]: Iterator::rev"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":60,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["copied",0]},{"Ident":["Copied",0]}],"span":{"data":{"file_id":70,"beg":{"line":19,"col":0},"end":{"line":19,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that copies the elements of an underlying iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`copied`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`copied`]: Iterator::copied"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":61,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cloned",0]},{"Ident":["Cloned",0]}],"span":{"data":{"file_id":71,"beg":{"line":18,"col":0},"end":{"line":18,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that clones the elements of an underlying iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`cloned`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`cloned`]: Iterator::cloned"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":62,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cycle",0]},{"Ident":["Cycle",0]}],"span":{"data":{"file_id":72,"beg":{"line":15,"col":0},"end":{"line":15,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that repeats endlessly."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`cycle`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`cycle`]: Iterator::cycle"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":63,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["array_chunks",0]},{"Ident":["ArrayChunks",0]}],"span":{"data":{"file_id":73,"beg":{"line":19,"col":0},"end":{"line":19,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator over `N` elements of the iterator at a time."},{"DocComment":""},{"DocComment":" The chunks do not overlap. If `N` does not divide the length of the"},{"DocComment":" iterator, then the last up to `N-1` elements will be omitted."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`array_chunks`][Iterator::array_chunks]"},{"DocComment":" method on [`Iterator`]. See its documentation for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},null,null,{"def_id":66,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Ident":["NonZeroUsizeInner",0]}],"span":{"data":{"file_id":77,"beg":{"line":20,"col":8},"end":{"line":20,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":8,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":true,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,null,null,{"def_id":70,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["control_flow",0]},{"Ident":["ControlFlow",0]}],"span":{"data":{"file_id":78,"beg":{"line":89,"col":0},"end":{"line":89,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to tell an operation whether it should exit early or go on as usual."},{"DocComment":""},{"DocComment":" This is used when exposing things (like graph traversals or visitors) where"},{"DocComment":" you want the user to be able to choose whether to exit early."},{"DocComment":" Having the enum makes it clearer -- no more wondering \"wait, what did `false`"},{"DocComment":" mean again?\" -- and allows including a value."},{"DocComment":""},{"DocComment":" Similar to [`Option`] and [`Result`], this enum can be used with the `?` operator"},{"DocComment":" to return immediately if the [`Break`] variant is present or otherwise continue normally"},{"DocComment":" with the value inside the [`Continue`] variant."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Early-exiting from [`Iterator::try_for_each`]:"},{"DocComment":" ```"},{"DocComment":" use std::ops::ControlFlow;"},{"DocComment":""},{"DocComment":" let r = (2..100).try_for_each(|x| {"},{"DocComment":" if 403 % x == 0 {"},{"DocComment":" return ControlFlow::Break(x)"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" });"},{"DocComment":" assert_eq!(r, ControlFlow::Break(13));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" A basic tree traversal:"},{"DocComment":" ```"},{"DocComment":" use std::ops::ControlFlow;"},{"DocComment":""},{"DocComment":" pub struct TreeNode {"},{"DocComment":" value: T,"},{"DocComment":" left: Option>>,"},{"DocComment":" right: Option>>,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl TreeNode {"},{"DocComment":" pub fn traverse_inorder(&self, f: &mut impl FnMut(&T) -> ControlFlow) -> ControlFlow {"},{"DocComment":" if let Some(left) = &self.left {"},{"DocComment":" left.traverse_inorder(f)?;"},{"DocComment":" }"},{"DocComment":" f(&self.value)?;"},{"DocComment":" if let Some(right) = &self.right {"},{"DocComment":" right.traverse_inorder(f)?;"},{"DocComment":" }"},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" }"},{"DocComment":" fn leaf(value: T) -> Option>> {"},{"DocComment":" Some(Box::new(Self { value, left: None, right: None }))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let node = TreeNode {"},{"DocComment":" value: 0,"},{"DocComment":" left: TreeNode::leaf(1),"},{"DocComment":" right: Some(Box::new(TreeNode {"},{"DocComment":" value: -1,"},{"DocComment":" left: TreeNode::leaf(5),"},{"DocComment":" right: TreeNode::leaf(2),"},{"DocComment":" }))"},{"DocComment":" };"},{"DocComment":" let mut sum = 0;"},{"DocComment":""},{"DocComment":" let res = node.traverse_inorder(&mut |val| {"},{"DocComment":" if *val < 0 {"},{"DocComment":" ControlFlow::Break(*val)"},{"DocComment":" } else {"},{"DocComment":" sum += *val;"},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" }"},{"DocComment":" });"},{"DocComment":" assert_eq!(res, ControlFlow::Break(-1));"},{"DocComment":" assert_eq!(sum, 6);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`Break`]: ControlFlow::Break"},{"DocComment":" [`Continue`]: ControlFlow::Continue"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ControlFlow"},"generics":{"regions":[],"types":[{"index":0,"name":"B"},{"index":1,"name":"C"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":78,"beg":{"line":93,"col":4},"end":{"line":93,"col":12}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Move on to the next phase of the operation as normal."}],"inline":null,"rename":null,"public":true},"name":"Continue","fields":[{"span":{"data":{"file_id":78,"beg":{"line":93,"col":13},"end":{"line":93,"col":14}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":10077}}],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":78,"beg":{"line":97,"col":4},"end":{"line":97,"col":9}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Exit the operation without running subsequent phases."}],"inline":null,"rename":null,"public":true},"name":"Break","fields":[{"span":{"data":{"file_id":78,"beg":{"line":97,"col":10},"end":{"line":97,"col":11}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":10076}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},null,null,null,{"def_id":74,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["BackendKind",0]}],"span":{"data":{"file_id":4,"beg":{"line":46,"col":0},"end":{"line":50,"col":1}},"generated_from_span":null},"source_text":"enum BackendKind {\n #[cfg(target_arch = \"x86_64\")]\n Avx2,\n Serial,\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":4,"beg":{"line":48,"col":4},"end":{"line":48,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"Avx2","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":4,"beg":{"line":49,"col":4},"end":{"line":49,"col":10}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"Serial","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Branch":{"offset":0,"int_ty":{"Unsigned":"U8"},"children":[[{"start":{"Unsigned":["U8","0"]},"end":{"Unsigned":["U8","0"]}},{"Known":0}],[{"start":{"Unsigned":["U8","1"]},"end":{"Unsigned":["U8","1"]}},{"Known":1}]],"fallback":"Invalid"}},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","0"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","1"]}]]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,null,null,null,null],"fun_decls":[null,{"def_id":1,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":356,"col":4},"end":{"line":356,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10116,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10076},"Shared"]}]}],"output":{"HashConsedValue":[1443,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":2,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}},{"Ident":["eq",0]}],"span":{"data":{"file_id":1,"beg":{"line":55,"col":4},"end":{"line":57,"col":5}},"generated_from_span":null},"source_text":"fn eq(&self, other: &FieldElement) -> bool {\n self.ct_eq(other).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10080,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1391},"Shared"]}]},{"HashConsedValue":[10081,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1391},"Shared"]}]}],"output":{"HashConsedValue":[1470,{"Literal":"Bool"}]}},"src":{"TraitImpl":{"impl_ref":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":55,"col":4},"end":{"line":57,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":55,"col":42},"end":{"line":55,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":55,"col":10},"end":{"line":55,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[2793,{"Ref":[{"Body":1},{"Deduplicated":1391},"Shared"]}]}},{"index":2,"name":"other","span":{"data":{"file_id":1,"beg":{"line":55,"col":17},"end":{"line":55,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2794,{"Ref":[{"Body":2},{"Deduplicated":1391},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[2795,{"Ref":[{"Body":3},{"Deduplicated":1391},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":56,"col":19},"end":{"line":56,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[2796,{"Ref":[{"Body":4},{"Deduplicated":1391},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":57,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":25}},"generated_from_span":null},"id":0,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":12}},"generated_from_span":null},"id":1,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":12}},"generated_from_span":null},"id":2,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":19},"end":{"line":56,"col":24}},"generated_from_span":null},"id":3,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":19},"end":{"line":56,"col":24}},"generated_from_span":null},"id":4,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":25}},"generated_from_span":null},"id":5,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":24},"end":{"line":56,"col":25}},"generated_from_span":null},"id":6,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":24},"end":{"line":56,"col":25}},"generated_from_span":null},"id":7,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":32}},"generated_from_span":null},"id":8,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2823,{"kind":{"TraitImpl":{"id":109,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1470},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":31},"end":{"line":56,"col":32}},"generated_from_span":null},"id":9,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":57,"col":5},"end":{"line":57,"col":5}},"generated_from_span":null},"id":10,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":3,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":255,"col":4},"end":{"line":255,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Tests for `self` and `other` values to be equal, and is used by `==`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"cmp_partialeq_eq"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"HashConsedValue":[10201,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10077},"Shared"]}]}],"output":{"Deduplicated":1470}},"src":{"TraitDecl":{"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":5,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":2}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":1,"beg":{"line":64,"col":4},"end":{"line":66,"col":5}},"generated_from_span":null},"source_text":"fn ct_eq(&self, other: &FieldElement) -> Choice {\n self.to_bytes().ct_eq(&other.to_bytes())\n }","attr_info":{"attributes":[{"DocComment":" Test equality between two `FieldElement`s. Since the"},{"DocComment":" internal representation is not canonical, the field elements"},{"DocComment":" are normalized to wire format before comparison."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080},{"Deduplicated":10081}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":2,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":64,"col":4},"end":{"line":66,"col":5}},"generated_from_span":null},"bound_body_regions":16,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":64,"col":45},"end":{"line":64,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":64,"col":13},"end":{"line":64,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"other","span":{"data":{"file_id":1,"beg":{"line":64,"col":20},"end":{"line":64,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2828,{"Ref":[{"Body":4},{"HashConsedValue":[2239,{"Slice":{"Deduplicated":2113}}]},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2831,{"Ref":[{"Body":6},{"Deduplicated":2114},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"ty":{"HashConsedValue":[2832,{"Ref":[{"Body":7},{"Deduplicated":2239},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"ty":{"HashConsedValue":[2833,{"Ref":[{"Body":8},{"Deduplicated":2114},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"ty":{"HashConsedValue":[2834,{"Ref":[{"Body":9},{"Deduplicated":2114},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":11,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":66,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":11,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":12,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":13,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":12}},"generated_from_span":null},"id":14,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":12}},"generated_from_span":null},"id":15,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":16,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":17,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2831}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":18,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2831}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2828}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":22},"end":{"line":65,"col":23}},"generated_from_span":null},"id":19,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":22},"end":{"line":65,"col":23}},"generated_from_span":null},"id":20,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":21,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":22,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":23,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":47}},"generated_from_span":null},"id":24,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":36}},"generated_from_span":null},"id":25,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":36}},"generated_from_span":null},"id":26,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":47}},"generated_from_span":null},"id":27,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":46},"end":{"line":65,"col":47}},"generated_from_span":null},"id":28,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":29,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2834}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":30,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2833}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2834}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":31,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2833}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":2832}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":46},"end":{"line":65,"col":47}},"generated_from_span":null},"id":32,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":48}},"generated_from_span":null},"id":33,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":136}},"generics":{"regions":[{"Body":14},{"Body":15}],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2863,{"kind":{"TraitImpl":{"id":111,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2828}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2832}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":34,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":35,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":36,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":37,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":38,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":66,"col":5},"end":{"line":66,"col":5}},"generated_from_span":null},"id":39,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":6,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":11,"beg":{"line":273,"col":4},"end":{"line":273,"col":44}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Determine if two items are equal."},{"DocComment":""},{"DocComment":" The `ct_eq` function should execute in constant time."},{"DocComment":""},{"DocComment":" # Returns"},{"DocComment":""},{"DocComment":" * `Choice(1u8)` if `self == other`;"},{"DocComment":" * `Choice(0u8)` if `self != other`."}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"HashConsedValue":[10202,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10076},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitDecl":{"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":8,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":3}},{"Ident":["default",0]}],"span":{"data":{"file_id":1,"beg":{"line":70,"col":4},"end":{"line":72,"col":5}},"generated_from_span":null},"source_text":"fn default() -> Self {\n FieldElement::ZERO\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":3,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":70,"col":4},"end":{"line":72,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":70,"col":20},"end":{"line":70,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":71,"col":8},"end":{"line":72,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":71,"col":8},"end":{"line":71,"col":26}},"generated_from_span":null},"id":40,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":72,"col":5},"end":{"line":72,"col":5}},"generated_from_span":null},"id":41,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["is_negative",0]}],"span":{"data":{"file_id":1,"beg":{"line":139,"col":4},"end":{"line":142,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn is_negative(&self) -> Choice {\n let bytes = self.to_bytes();\n (bytes[0] & 1).into()\n }","attr_info":{"attributes":[{"DocComment":" Determine if this `FieldElement` is negative, in the sense"},{"DocComment":" used in the ed25519 paper: `x` is negative if the low bit is"},{"DocComment":" set."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" If negative, return `Choice(1)`. Otherwise, return `Choice(0)`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1496}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":139,"col":4},"end":{"line":142,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":139,"col":40},"end":{"line":139,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":139,"col":30},"end":{"line":139,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"bytes","span":{"data":{"file_id":1,"beg":{"line":140,"col":12},"end":{"line":140,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":140,"col":20},"end":{"line":140,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":141,"col":8},"end":{"line":141,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":141,"col":15},"end":{"line":141,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":7,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9005,{"Ref":["Erased",{"Deduplicated":2114},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9004,{"Ref":["Erased",{"Deduplicated":2113},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":140,"col":12},"end":{"line":142,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":140,"col":12},"end":{"line":140,"col":17}},"generated_from_span":null},"id":43,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":140,"col":20},"end":{"line":140,"col":24}},"generated_from_span":null},"id":44,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":140,"col":20},"end":{"line":140,"col":24}},"generated_from_span":null},"id":45,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":140,"col":20},"end":{"line":140,"col":35}},"generated_from_span":null},"id":46,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":140,"col":34},"end":{"line":140,"col":35}},"generated_from_span":null},"id":47,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":8},"end":{"line":141,"col":22}},"generated_from_span":null},"id":48,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":49,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":15},"end":{"line":141,"col":16}},"generated_from_span":null},"id":50,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":15},"end":{"line":141,"col":16}},"generated_from_span":null},"id":51,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":8636,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":8637,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":9005}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":8638,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":8639,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":9005}}},{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":54,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":8},"end":{"line":141,"col":22}},"generated_from_span":null},"id":55,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","1"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":21},"end":{"line":141,"col":22}},"generated_from_span":null},"id":56,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":8},"end":{"line":141,"col":29}},"generated_from_span":null},"id":57,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":2113},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10203,{"kind":{"TraitImpl":{"id":112,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2113}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":28},"end":{"line":141,"col":29}},"generated_from_span":null},"id":58,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":28},"end":{"line":141,"col":29}},"generated_from_span":null},"id":59,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":142,"col":4},"end":{"line":142,"col":5}},"generated_from_span":null},"id":60,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":142,"col":5},"end":{"line":142,"col":5}},"generated_from_span":null},"id":61,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["is_zero",0]}],"span":{"data":{"file_id":1,"beg":{"line":149,"col":4},"end":{"line":154,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn is_zero(&self) -> Choice {\n let zero = [0u8; 32];\n let bytes = self.to_bytes();\n\n bytes.ct_eq(&zero)\n }","attr_info":{"attributes":[{"DocComment":" Determine if this `FieldElement` is zero."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" If zero, return `Choice(1)`. Otherwise, return `Choice(0)`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1496}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":149,"col":4},"end":{"line":154,"col":5}},"generated_from_span":null},"bound_body_regions":15,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":149,"col":36},"end":{"line":149,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":149,"col":26},"end":{"line":149,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"zero","span":{"data":{"file_id":1,"beg":{"line":150,"col":12},"end":{"line":150,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":3,"name":"bytes","span":{"data":{"file_id":1,"beg":{"line":151,"col":12},"end":{"line":151,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":151,"col":20},"end":{"line":151,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[2827,{"Ref":[{"Body":3},{"Deduplicated":2239},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[2830,{"Ref":[{"Body":5},{"Deduplicated":2114},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2882,{"Ref":[{"Body":6},{"Deduplicated":2239},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2883,{"Ref":[{"Body":7},{"Deduplicated":2114},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2833}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":150,"col":12},"end":{"line":154,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":150,"col":12},"end":{"line":150,"col":16}},"generated_from_span":null},"id":62,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":150,"col":19},"end":{"line":150,"col":28}},"generated_from_span":null},"id":63,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":12},"end":{"line":151,"col":17}},"generated_from_span":null},"id":64,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":20},"end":{"line":151,"col":24}},"generated_from_span":null},"id":65,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":20},"end":{"line":151,"col":24}},"generated_from_span":null},"id":66,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":20},"end":{"line":151,"col":35}},"generated_from_span":null},"id":67,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":34},"end":{"line":151,"col":35}},"generated_from_span":null},"id":68,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"id":69,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"id":70,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"id":71,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2830}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"id":72,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2830}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":2827}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":12},"end":{"line":153,"col":13}},"generated_from_span":null},"id":73,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":74,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":75,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":76,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":77,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2833}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":78,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2883}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2833}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":79,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2883}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":2882}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":24},"end":{"line":153,"col":25}},"generated_from_span":null},"id":80,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":26}},"generated_from_span":null},"id":81,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":136}},"generics":{"regions":[{"Body":13},{"Body":14}],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[{"Deduplicated":2863}]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2827}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2882}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":25},"end":{"line":153,"col":26}},"generated_from_span":null},"id":82,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":25},"end":{"line":153,"col":26}},"generated_from_span":null},"id":83,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":25},"end":{"line":153,"col":26}},"generated_from_span":null},"id":84,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":154,"col":4},"end":{"line":154,"col":5}},"generated_from_span":null},"id":85,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":154,"col":4},"end":{"line":154,"col":5}},"generated_from_span":null},"id":86,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":154,"col":5},"end":{"line":154,"col":5}},"generated_from_span":null},"id":87,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":11,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow22501",0]}],"span":{"data":{"file_id":1,"beg":{"line":159,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"source_text":"fn pow22501(&self) -> (FieldElement, FieldElement) {\n // Instead of managing which temporary variables are used\n // for what, we define as many as we need and leave stack\n // allocation to the compiler\n //\n // Each temporary variable t_i is of the form (self)^e_i.\n // Squaring t_i corresponds to multiplying e_i by 2,\n // so the pow2k function shifts e_i left by k places.\n // Multiplying t_i and t_j corresponds to adding e_i + e_j.\n //\n // Temporary t_i Nonzero bits of e_i\n //\n let t0 = self.square(); // 1 e_0 = 2^1\n let t1 = t0.square().square(); // 3 e_1 = 2^3\n let t2 = self * &t1; // 3,0 e_2 = 2^3 + 2^0\n let t3 = &t0 * &t2; // 3,1,0\n let t4 = t3.square(); // 4,2,1\n let t5 = &t2 * &t4; // 4,3,2,1,0\n let t6 = t5.pow2k(5); // 9,8,7,6,5\n let t7 = &t6 * &t5; // 9,8,7,6,5,4,3,2,1,0\n let t8 = t7.pow2k(10); // 19..10\n let t9 = &t8 * &t7; // 19..0\n let t10 = t9.pow2k(20); // 39..20\n let t11 = &t10 * &t9; // 39..0\n let t12 = t11.pow2k(10); // 49..10\n let t13 = &t12 * &t7; // 49..0\n let t14 = t13.pow2k(50); // 99..50\n let t15 = &t14 * &t13; // 99..0\n let t16 = t15.pow2k(100); // 199..100\n let t17 = &t16 * &t15; // 199..0\n let t18 = t17.pow2k(50); // 249..50\n let t19 = &t18 * &t13; // 249..0\n\n (t19, t3)\n }","attr_info":{"attributes":[{"DocComment":" Compute (self^(2^250-1), self^11), used as a helper function"},{"DocComment":" within invert() and pow22523()."},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"HashConsedValue":[2885,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":159,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"bound_body_regions":85,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":159,"col":26},"end":{"line":159,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2885}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":159,"col":16},"end":{"line":159,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"t0","span":{"data":{"file_id":1,"beg":{"line":171,"col":12},"end":{"line":171,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":171,"col":18},"end":{"line":171,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":4,"name":"t1","span":{"data":{"file_id":1,"beg":{"line":172,"col":12},"end":{"line":172,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":8,"name":"t2","span":{"data":{"file_id":1,"beg":{"line":173,"col":12},"end":{"line":173,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":173,"col":18},"end":{"line":173,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2886,{"Ref":[{"Body":5},{"Deduplicated":1391},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2887,{"Ref":[{"Body":6},{"Deduplicated":1391},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2888,{"Ref":[{"Body":7},{"Deduplicated":1391},"Shared"]}]}},{"index":12,"name":"t3","span":{"data":{"file_id":1,"beg":{"line":174,"col":12},"end":{"line":174,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":1,"beg":{"line":174,"col":18},"end":{"line":174,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2889,{"Ref":[{"Body":8},{"Deduplicated":1391},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2890,{"Ref":[{"Body":9},{"Deduplicated":1391},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2891,{"Ref":[{"Body":10},{"Deduplicated":1391},"Shared"]}]}},{"index":16,"name":"t4","span":{"data":{"file_id":1,"beg":{"line":175,"col":12},"end":{"line":175,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":17,"name":null,"span":{"data":{"file_id":1,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2892,{"Ref":[{"Body":11},{"Deduplicated":1391},"Shared"]}]}},{"index":18,"name":"t5","span":{"data":{"file_id":1,"beg":{"line":176,"col":12},"end":{"line":176,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":19,"name":null,"span":{"data":{"file_id":1,"beg":{"line":176,"col":18},"end":{"line":176,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2893,{"Ref":[{"Body":12},{"Deduplicated":1391},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2894,{"Ref":[{"Body":13},{"Deduplicated":1391},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2895,{"Ref":[{"Body":14},{"Deduplicated":1391},"Shared"]}]}},{"index":22,"name":"t6","span":{"data":{"file_id":1,"beg":{"line":177,"col":12},"end":{"line":177,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":1,"beg":{"line":177,"col":18},"end":{"line":177,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2896,{"Ref":[{"Body":15},{"Deduplicated":1391},"Shared"]}]}},{"index":24,"name":"t7","span":{"data":{"file_id":1,"beg":{"line":178,"col":12},"end":{"line":178,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":25,"name":null,"span":{"data":{"file_id":1,"beg":{"line":178,"col":18},"end":{"line":178,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2897,{"Ref":[{"Body":16},{"Deduplicated":1391},"Shared"]}]}},{"index":26,"name":null,"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2898,{"Ref":[{"Body":17},{"Deduplicated":1391},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2899,{"Ref":[{"Body":18},{"Deduplicated":1391},"Shared"]}]}},{"index":28,"name":"t8","span":{"data":{"file_id":1,"beg":{"line":179,"col":12},"end":{"line":179,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":29,"name":null,"span":{"data":{"file_id":1,"beg":{"line":179,"col":18},"end":{"line":179,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2900,{"Ref":[{"Body":19},{"Deduplicated":1391},"Shared"]}]}},{"index":30,"name":"t9","span":{"data":{"file_id":1,"beg":{"line":180,"col":12},"end":{"line":180,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":31,"name":null,"span":{"data":{"file_id":1,"beg":{"line":180,"col":18},"end":{"line":180,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2901,{"Ref":[{"Body":20},{"Deduplicated":1391},"Shared"]}]}},{"index":32,"name":null,"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2902,{"Ref":[{"Body":21},{"Deduplicated":1391},"Shared"]}]}},{"index":33,"name":null,"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2903,{"Ref":[{"Body":22},{"Deduplicated":1391},"Shared"]}]}},{"index":34,"name":"t10","span":{"data":{"file_id":1,"beg":{"line":181,"col":12},"end":{"line":181,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":35,"name":null,"span":{"data":{"file_id":1,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2904,{"Ref":[{"Body":23},{"Deduplicated":1391},"Shared"]}]}},{"index":36,"name":"t11","span":{"data":{"file_id":1,"beg":{"line":182,"col":12},"end":{"line":182,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":37,"name":null,"span":{"data":{"file_id":1,"beg":{"line":182,"col":18},"end":{"line":182,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2905,{"Ref":[{"Body":24},{"Deduplicated":1391},"Shared"]}]}},{"index":38,"name":null,"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2906,{"Ref":[{"Body":25},{"Deduplicated":1391},"Shared"]}]}},{"index":39,"name":null,"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2907,{"Ref":[{"Body":26},{"Deduplicated":1391},"Shared"]}]}},{"index":40,"name":"t12","span":{"data":{"file_id":1,"beg":{"line":183,"col":12},"end":{"line":183,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":41,"name":null,"span":{"data":{"file_id":1,"beg":{"line":183,"col":18},"end":{"line":183,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2908,{"Ref":[{"Body":27},{"Deduplicated":1391},"Shared"]}]}},{"index":42,"name":"t13","span":{"data":{"file_id":1,"beg":{"line":184,"col":12},"end":{"line":184,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":43,"name":null,"span":{"data":{"file_id":1,"beg":{"line":184,"col":18},"end":{"line":184,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2909,{"Ref":[{"Body":28},{"Deduplicated":1391},"Shared"]}]}},{"index":44,"name":null,"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2910,{"Ref":[{"Body":29},{"Deduplicated":1391},"Shared"]}]}},{"index":45,"name":null,"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2911,{"Ref":[{"Body":30},{"Deduplicated":1391},"Shared"]}]}},{"index":46,"name":"t14","span":{"data":{"file_id":1,"beg":{"line":185,"col":12},"end":{"line":185,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":47,"name":null,"span":{"data":{"file_id":1,"beg":{"line":185,"col":18},"end":{"line":185,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2912,{"Ref":[{"Body":31},{"Deduplicated":1391},"Shared"]}]}},{"index":48,"name":"t15","span":{"data":{"file_id":1,"beg":{"line":186,"col":12},"end":{"line":186,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":49,"name":null,"span":{"data":{"file_id":1,"beg":{"line":186,"col":18},"end":{"line":186,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2913,{"Ref":[{"Body":32},{"Deduplicated":1391},"Shared"]}]}},{"index":50,"name":null,"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2914,{"Ref":[{"Body":33},{"Deduplicated":1391},"Shared"]}]}},{"index":51,"name":null,"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2915,{"Ref":[{"Body":34},{"Deduplicated":1391},"Shared"]}]}},{"index":52,"name":"t16","span":{"data":{"file_id":1,"beg":{"line":187,"col":12},"end":{"line":187,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":53,"name":null,"span":{"data":{"file_id":1,"beg":{"line":187,"col":18},"end":{"line":187,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2916,{"Ref":[{"Body":35},{"Deduplicated":1391},"Shared"]}]}},{"index":54,"name":"t17","span":{"data":{"file_id":1,"beg":{"line":188,"col":12},"end":{"line":188,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":55,"name":null,"span":{"data":{"file_id":1,"beg":{"line":188,"col":18},"end":{"line":188,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2917,{"Ref":[{"Body":36},{"Deduplicated":1391},"Shared"]}]}},{"index":56,"name":null,"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2918,{"Ref":[{"Body":37},{"Deduplicated":1391},"Shared"]}]}},{"index":57,"name":null,"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2919,{"Ref":[{"Body":38},{"Deduplicated":1391},"Shared"]}]}},{"index":58,"name":"t18","span":{"data":{"file_id":1,"beg":{"line":189,"col":12},"end":{"line":189,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":59,"name":null,"span":{"data":{"file_id":1,"beg":{"line":189,"col":18},"end":{"line":189,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2920,{"Ref":[{"Body":39},{"Deduplicated":1391},"Shared"]}]}},{"index":60,"name":"t19","span":{"data":{"file_id":1,"beg":{"line":190,"col":12},"end":{"line":190,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":61,"name":null,"span":{"data":{"file_id":1,"beg":{"line":190,"col":18},"end":{"line":190,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2921,{"Ref":[{"Body":40},{"Deduplicated":1391},"Shared"]}]}},{"index":62,"name":null,"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2922,{"Ref":[{"Body":41},{"Deduplicated":1391},"Shared"]}]}},{"index":63,"name":null,"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2923,{"Ref":[{"Body":42},{"Deduplicated":1391},"Shared"]}]}},{"index":64,"name":null,"span":{"data":{"file_id":1,"beg":{"line":192,"col":9},"end":{"line":192,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":65,"name":null,"span":{"data":{"file_id":1,"beg":{"line":192,"col":14},"end":{"line":192,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":171,"col":12},"end":{"line":193,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":171,"col":12},"end":{"line":171,"col":14}},"generated_from_span":null},"id":88,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":171,"col":18},"end":{"line":171,"col":22}},"generated_from_span":null},"id":89,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":171,"col":18},"end":{"line":171,"col":22}},"generated_from_span":null},"id":90,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Instead of managing which temporary variables are used","for what, we define as many as we need and leave stack","allocation to the compiler","","Each temporary variable t_i is of the form (self)^e_i.","Squaring t_i corresponds to multiplying e_i by 2,","so the pow2k function shifts e_i left by k places.","Multiplying t_i and t_j corresponds to adding e_i + e_j.","","Temporary t_i Nonzero bits of e_i",""]},{"span":{"data":{"file_id":1,"beg":{"line":171,"col":18},"end":{"line":171,"col":31}},"generated_from_span":null},"id":91,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2794}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":171,"col":30},"end":{"line":171,"col":31}},"generated_from_span":null},"id":92,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":12},"end":{"line":172,"col":14}},"generated_from_span":null},"id":93,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"id":94,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"id":95,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"id":96,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"id":97,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"id":98,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":46}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"id":99,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":28},"end":{"line":172,"col":29}},"generated_from_span":null},"id":100,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":38}},"generated_from_span":null},"id":101,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":48}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":37},"end":{"line":172,"col":38}},"generated_from_span":null},"id":102,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":38},"end":{"line":172,"col":39}},"generated_from_span":null},"id":103,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":12},"end":{"line":173,"col":14}},"generated_from_span":null},"id":104,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":18},"end":{"line":173,"col":22}},"generated_from_span":null},"id":105,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":18},"end":{"line":173,"col":22}},"generated_from_span":null},"id":106,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2886}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"id":107,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"id":108,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"id":109,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"id":110,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":18},"end":{"line":173,"col":28}},"generated_from_span":null},"id":111,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":49},{"Body":50}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":27},"end":{"line":173,"col":28}},"generated_from_span":null},"id":112,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":27},"end":{"line":173,"col":28}},"generated_from_span":null},"id":113,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":28},"end":{"line":173,"col":29}},"generated_from_span":null},"id":114,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":12},"end":{"line":174,"col":14}},"generated_from_span":null},"id":115,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":18},"end":{"line":174,"col":21}},"generated_from_span":null},"id":116,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":18},"end":{"line":174,"col":21}},"generated_from_span":null},"id":117,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"id":118,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"id":119,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"id":120,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"id":121,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":18},"end":{"line":174,"col":27}},"generated_from_span":null},"id":122,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":51},{"Body":52}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":26},"end":{"line":174,"col":27}},"generated_from_span":null},"id":123,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":26},"end":{"line":174,"col":27}},"generated_from_span":null},"id":124,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":27},"end":{"line":174,"col":28}},"generated_from_span":null},"id":125,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":12},"end":{"line":175,"col":14}},"generated_from_span":null},"id":126,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"id":127,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"id":128,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":18},"end":{"line":175,"col":29}},"generated_from_span":null},"id":129,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":28},"end":{"line":175,"col":29}},"generated_from_span":null},"id":130,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":12},"end":{"line":176,"col":14}},"generated_from_span":null},"id":131,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":18},"end":{"line":176,"col":21}},"generated_from_span":null},"id":132,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":18},"end":{"line":176,"col":21}},"generated_from_span":null},"id":133,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"id":134,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"id":135,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"id":136,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":16},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"id":137,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":18},"end":{"line":176,"col":27}},"generated_from_span":null},"id":138,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":55},{"Body":56}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2894}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":26},"end":{"line":176,"col":27}},"generated_from_span":null},"id":139,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":26},"end":{"line":176,"col":27}},"generated_from_span":null},"id":140,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":27},"end":{"line":176,"col":28}},"generated_from_span":null},"id":141,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":12},"end":{"line":177,"col":14}},"generated_from_span":null},"id":142,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":18},"end":{"line":177,"col":20}},"generated_from_span":null},"id":143,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":18},"end":{"line":177,"col":20}},"generated_from_span":null},"id":144,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":18},"end":{"line":177,"col":29}},"generated_from_span":null},"id":145,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":58}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2896}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","5"]}}},"ty":{"HashConsedValue":[2925,{"Literal":{"UInt":"U32"}}]}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":28},"end":{"line":177,"col":29}},"generated_from_span":null},"id":146,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":12},"end":{"line":178,"col":14}},"generated_from_span":null},"id":147,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":18},"end":{"line":178,"col":21}},"generated_from_span":null},"id":148,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":18},"end":{"line":178,"col":21}},"generated_from_span":null},"id":149,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Local":22},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"id":150,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"id":151,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"id":152,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"id":153,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":27},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":18},"end":{"line":178,"col":27}},"generated_from_span":null},"id":154,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":59},{"Body":60}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":24},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":26},"end":{"line":178,"col":27}},"generated_from_span":null},"id":155,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":26},"end":{"line":178,"col":27}},"generated_from_span":null},"id":156,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":27},"end":{"line":178,"col":28}},"generated_from_span":null},"id":157,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":12},"end":{"line":179,"col":14}},"generated_from_span":null},"id":158,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":18},"end":{"line":179,"col":20}},"generated_from_span":null},"id":159,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":18},"end":{"line":179,"col":20}},"generated_from_span":null},"id":160,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Local":24},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":18},"end":{"line":179,"col":30}},"generated_from_span":null},"id":161,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":62}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2900}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","10"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":29},"end":{"line":179,"col":30}},"generated_from_span":null},"id":162,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":12},"end":{"line":180,"col":14}},"generated_from_span":null},"id":163,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":18},"end":{"line":180,"col":21}},"generated_from_span":null},"id":164,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":18},"end":{"line":180,"col":21}},"generated_from_span":null},"id":165,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Local":28},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"id":166,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"id":167,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"id":168,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Local":24},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"id":169,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":33},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":18},"end":{"line":180,"col":27}},"generated_from_span":null},"id":170,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":63},{"Body":64}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":30},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":26},"end":{"line":180,"col":27}},"generated_from_span":null},"id":171,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":26},"end":{"line":180,"col":27}},"generated_from_span":null},"id":172,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":27},"end":{"line":180,"col":28}},"generated_from_span":null},"id":173,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":12},"end":{"line":181,"col":15}},"generated_from_span":null},"id":174,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"id":175,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"id":176,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":30},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":18},"end":{"line":181,"col":30}},"generated_from_span":null},"id":177,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":66}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":2904}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","20"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":34},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":29},"end":{"line":181,"col":30}},"generated_from_span":null},"id":178,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":12},"end":{"line":182,"col":15}},"generated_from_span":null},"id":179,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":18},"end":{"line":182,"col":22}},"generated_from_span":null},"id":180,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":18},"end":{"line":182,"col":22}},"generated_from_span":null},"id":181,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Local":34},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"id":182,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"id":183,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"id":184,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":30},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"id":185,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":39},"ty":{"Deduplicated":2907}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":18},"end":{"line":182,"col":28}},"generated_from_span":null},"id":186,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":67},{"Body":68}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2905}}},{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":2906}}}],"dest":{"kind":{"Local":36},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":27},"end":{"line":182,"col":28}},"generated_from_span":null},"id":187,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":27},"end":{"line":182,"col":28}},"generated_from_span":null},"id":188,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":28},"end":{"line":182,"col":29}},"generated_from_span":null},"id":189,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":12},"end":{"line":183,"col":15}},"generated_from_span":null},"id":190,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":18},"end":{"line":183,"col":21}},"generated_from_span":null},"id":191,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":18},"end":{"line":183,"col":21}},"generated_from_span":null},"id":192,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Local":36},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":18},"end":{"line":183,"col":31}},"generated_from_span":null},"id":193,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":70}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2908}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","10"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":40},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":30},"end":{"line":183,"col":31}},"generated_from_span":null},"id":194,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":12},"end":{"line":184,"col":15}},"generated_from_span":null},"id":195,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":18},"end":{"line":184,"col":22}},"generated_from_span":null},"id":196,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":18},"end":{"line":184,"col":22}},"generated_from_span":null},"id":197,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":40},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"id":198,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"id":199,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"id":200,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Local":24},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"id":201,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":45},"ty":{"Deduplicated":2911}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":18},"end":{"line":184,"col":28}},"generated_from_span":null},"id":202,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":71},{"Body":72}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":2909}}},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2910}}}],"dest":{"kind":{"Local":42},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":27},"end":{"line":184,"col":28}},"generated_from_span":null},"id":203,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":27},"end":{"line":184,"col":28}},"generated_from_span":null},"id":204,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":28},"end":{"line":184,"col":29}},"generated_from_span":null},"id":205,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":12},"end":{"line":185,"col":15}},"generated_from_span":null},"id":206,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":18},"end":{"line":185,"col":21}},"generated_from_span":null},"id":207,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":18},"end":{"line":185,"col":21}},"generated_from_span":null},"id":208,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":42},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":18},"end":{"line":185,"col":31}},"generated_from_span":null},"id":209,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":74}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":2912}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","50"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":30},"end":{"line":185,"col":31}},"generated_from_span":null},"id":210,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":12},"end":{"line":186,"col":15}},"generated_from_span":null},"id":211,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":18},"end":{"line":186,"col":22}},"generated_from_span":null},"id":212,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":18},"end":{"line":186,"col":22}},"generated_from_span":null},"id":213,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":46},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"id":214,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"id":215,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"id":216,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":42},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"id":217,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":51},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":18},"end":{"line":186,"col":29}},"generated_from_span":null},"id":218,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":75},{"Body":76}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":28},"end":{"line":186,"col":29}},"generated_from_span":null},"id":219,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":28},"end":{"line":186,"col":29}},"generated_from_span":null},"id":220,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":29},"end":{"line":186,"col":30}},"generated_from_span":null},"id":221,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":12},"end":{"line":187,"col":15}},"generated_from_span":null},"id":222,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":18},"end":{"line":187,"col":21}},"generated_from_span":null},"id":223,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":18},"end":{"line":187,"col":21}},"generated_from_span":null},"id":224,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Local":48},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":18},"end":{"line":187,"col":32}},"generated_from_span":null},"id":225,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":78}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":2916}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","100"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":31},"end":{"line":187,"col":32}},"generated_from_span":null},"id":226,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":12},"end":{"line":188,"col":15}},"generated_from_span":null},"id":227,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":18},"end":{"line":188,"col":22}},"generated_from_span":null},"id":228,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":18},"end":{"line":188,"col":22}},"generated_from_span":null},"id":229,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":2917}},{"Ref":{"place":{"kind":{"Local":52},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"id":230,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"id":231,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"id":232,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Local":48},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"id":233,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":2918}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":2919}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":18},"end":{"line":188,"col":29}},"generated_from_span":null},"id":234,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":79},{"Body":80}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":2917}}},{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":2918}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":28},"end":{"line":188,"col":29}},"generated_from_span":null},"id":235,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":28},"end":{"line":188,"col":29}},"generated_from_span":null},"id":236,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":29},"end":{"line":188,"col":30}},"generated_from_span":null},"id":237,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":12},"end":{"line":189,"col":15}},"generated_from_span":null},"id":238,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":18},"end":{"line":189,"col":21}},"generated_from_span":null},"id":239,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":18},"end":{"line":189,"col":21}},"generated_from_span":null},"id":240,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":2920}},{"Ref":{"place":{"kind":{"Local":54},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":18},"end":{"line":189,"col":31}},"generated_from_span":null},"id":241,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":82}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":2920}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","50"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":30},"end":{"line":189,"col":31}},"generated_from_span":null},"id":242,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":12},"end":{"line":190,"col":15}},"generated_from_span":null},"id":243,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":18},"end":{"line":190,"col":22}},"generated_from_span":null},"id":244,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":18},"end":{"line":190,"col":22}},"generated_from_span":null},"id":245,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":2921}},{"Ref":{"place":{"kind":{"Local":58},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"id":246,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"id":247,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"id":248,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":2923}},{"Ref":{"place":{"kind":{"Local":42},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"id":249,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":2923}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":18},"end":{"line":190,"col":29}},"generated_from_span":null},"id":250,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":83},{"Body":84}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":2921}}},{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":2922}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":28},"end":{"line":190,"col":29}},"generated_from_span":null},"id":251,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":28},"end":{"line":190,"col":29}},"generated_from_span":null},"id":252,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":29},"end":{"line":190,"col":30}},"generated_from_span":null},"id":253,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":9},"end":{"line":192,"col":12}},"generated_from_span":null},"id":254,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":9},"end":{"line":192,"col":12}},"generated_from_span":null},"id":255,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":60},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":14},"end":{"line":192,"col":16}},"generated_from_span":null},"id":256,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":14},"end":{"line":192,"col":16}},"generated_from_span":null},"id":257,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":8},"end":{"line":192,"col":17}},"generated_from_span":null},"id":258,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2885}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":16},"end":{"line":192,"col":17}},"generated_from_span":null},"id":259,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":16},"end":{"line":192,"col":17}},"generated_from_span":null},"id":260,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":261,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":262,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":263,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":264,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":265,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":266,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":267,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":268,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":269,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":270,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":271,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":272,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":273,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":274,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":275,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":276,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":277,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":278,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":279,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":280,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":5},"end":{"line":193,"col":5}},"generated_from_span":null},"id":281,"kind":"Return","comments_before":[]}]},"comments":[[171,["Instead of managing which temporary variables are used","for what, we define as many as we need and leave stack","allocation to the compiler","","Each temporary variable t_i is of the form (self)^e_i.","Squaring t_i corresponds to multiplying e_i by 2,","so the pow2k function shifts e_i left by k places.","Multiplying t_i and t_j corresponds to adding e_i + e_j.","","Temporary t_i Nonzero bits of e_i",""]]]}}},{"def_id":12,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["internal_invert_batch",0]}],"span":{"data":{"file_id":1,"beg":{"line":216,"col":4},"end":{"line":270,"col":5}},"generated_from_span":null},"source_text":"fn internal_invert_batch(inputs: &mut [FieldElement], scratch: &mut [FieldElement]) {\n // Montgomery’s Trick and Fast Implementation of Masked AES\n // Genelle, Prouff and Quisquater\n // Section 3.2\n\n debug_assert_eq!(inputs.len(), scratch.len());\n\n // Keep an accumulator of all of the previous products\n let mut acc = FieldElement::ONE;\n\n // Pass through the input vector, recording the previous\n // products in the scratch space\n for (input, scratch) in inputs.iter().zip(scratch.iter_mut()) {\n *scratch = acc;\n // acc <- acc * input, but skipping zeros (constant-time)\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut product = &acc * input;\n acc.conditional_assign(&product, !input.is_zero());\n\n #[cfg(feature = \"zeroize\")]\n product.zeroize();\n }\n\n // acc is nonzero because we skipped zeros in inputs\n assert!(bool::from(!acc.is_zero()));\n\n // Compute the inverse of all products\n acc = acc.invert();\n\n // Pass through the vector backwards to compute the inverses\n // in place\n for (input, scratch) in inputs.iter_mut().rev().zip(scratch.iter_mut().rev()) {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut tmp = &acc * input;\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut inverse = &acc * scratch;\n // input <- acc * scratch, then acc <- tmp\n // Again, we skip zeros in a constant-time way\n let nz = !input.is_zero();\n input.conditional_assign(&inverse, nz);\n acc.conditional_assign(&tmp, nz);\n\n #[cfg(feature = \"zeroize\")]\n {\n tmp.zeroize();\n inverse.zeroize();\n }\n }\n\n #[cfg(feature = \"zeroize\")]\n {\n acc.zeroize();\n scratch.zeroize();\n }\n }","attr_info":{"attributes":[{"DocComment":" Given a slice of pub(crate)lic `FieldElements`, replace each with its inverse. `scratch` can"},{"DocComment":" contain anything, so long as its length is the same as `inputs`."},{"DocComment":""},{"DocComment":" When an input `FieldElement` is zero, its value is unchanged."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":" Panics when `scratch.len() != inputs.len()`"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10204,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[2926,{"Slice":{"Deduplicated":1391}}]},"Mut"]}]},{"HashConsedValue":[10205,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2926},"Mut"]}]}],"output":{"Deduplicated":1443}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":13,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invert",0]}],"span":{"data":{"file_id":1,"beg":{"line":280,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn invert(&self) -> FieldElement {\n // The bits of p-2 = 2^255 -19 -2 are 11010111111...11.\n //\n // nonzero bits of exponent\n let (t19, t3) = self.pow22501(); // t19: 249..0 ; t3: 3,1,0\n let t20 = t19.pow2k(5); // 254..5\n let t21 = &t20 * &t3; // 254..5,3,1,0\n\n t21\n }","attr_info":{"attributes":[{"DocComment":" Given a nonzero field element, compute its inverse."},{"DocComment":""},{"DocComment":" The inverse is computed as self^(p-2), since"},{"DocComment":" x^(p-2)x = x^(p-1) = 1 (mod p)."},{"DocComment":""},{"DocComment":" This function returns zero on input zero."},{"Unknown":{"path":"rustfmt::skip","args":null}},{"Unknown":{"path":"allow","args":"clippy::let_and_return"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":280,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"bound_body_regions":13,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":280,"col":35},"end":{"line":280,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":280,"col":25},"end":{"line":280,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"t19","span":{"data":{"file_id":1,"beg":{"line":284,"col":13},"end":{"line":284,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":"t3","span":{"data":{"file_id":1,"beg":{"line":284,"col":18},"end":{"line":284,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2885}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":6,"name":"t20","span":{"data":{"file_id":1,"beg":{"line":285,"col":12},"end":{"line":285,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":285,"col":18},"end":{"line":285,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":8,"name":"t21","span":{"data":{"file_id":1,"beg":{"line":286,"col":12},"end":{"line":286,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":286,"col":18},"end":{"line":286,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":11,"name":null,"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2887}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":284,"col":13},"end":{"line":289,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":39}},"generated_from_span":null},"id":282,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":28}},"generated_from_span":null},"id":283,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":28}},"generated_from_span":null},"id":284,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["The bits of p-2 = 2^255 -19 -2 are 11010111111...11.",""," nonzero bits of exponent"]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":39}},"generated_from_span":null},"id":285,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":11}},"generics":{"regions":[{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2794}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":2885}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":38},"end":{"line":284,"col":39}},"generated_from_span":null},"id":286,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":13},"end":{"line":284,"col":16}},"generated_from_span":null},"id":287,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":13},"end":{"line":284,"col":16}},"generated_from_span":null},"id":288,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2885}},{"Field":[{"Tuple":2},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":18},"end":{"line":284,"col":20}},"generated_from_span":null},"id":289,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":18},"end":{"line":284,"col":20}},"generated_from_span":null},"id":290,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2885}},{"Field":[{"Tuple":2},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":39},"end":{"line":284,"col":40}},"generated_from_span":null},"id":291,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":12},"end":{"line":285,"col":15}},"generated_from_span":null},"id":292,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":18},"end":{"line":285,"col":21}},"generated_from_span":null},"id":293,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":18},"end":{"line":285,"col":21}},"generated_from_span":null},"id":294,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":18},"end":{"line":285,"col":30}},"generated_from_span":null},"id":295,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2795}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","5"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":29},"end":{"line":285,"col":30}},"generated_from_span":null},"id":296,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":12},"end":{"line":286,"col":15}},"generated_from_span":null},"id":297,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":18},"end":{"line":286,"col":22}},"generated_from_span":null},"id":298,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":18},"end":{"line":286,"col":22}},"generated_from_span":null},"id":299,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"id":300,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"id":301,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"id":302,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"id":303,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2887}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":18},"end":{"line":286,"col":28}},"generated_from_span":null},"id":304,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":11},{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":27},"end":{"line":286,"col":28}},"generated_from_span":null},"id":305,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":27},"end":{"line":286,"col":28}},"generated_from_span":null},"id":306,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":28},"end":{"line":286,"col":29}},"generated_from_span":null},"id":307,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":288,"col":8},"end":{"line":288,"col":11}},"generated_from_span":null},"id":308,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"id":309,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"id":310,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"id":311,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"id":312,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":5},"end":{"line":289,"col":5}},"generated_from_span":null},"id":313,"kind":"Return","comments_before":[]}]},"comments":[[284,["The bits of p-2 = 2^255 -19 -2 are 11010111111...11.",""," nonzero bits of exponent"]]]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow_p58",0]}],"span":{"data":{"file_id":1,"beg":{"line":294,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn pow_p58(&self) -> FieldElement {\n // The bits of (p-5)/8 are 101111.....11.\n //\n // nonzero bits of exponent\n let (t19, _) = self.pow22501(); // 249..0\n let t20 = t19.pow2k(2); // 251..2\n let t21 = self * &t20; // 251..2,0\n\n t21\n }","attr_info":{"attributes":[{"DocComment":" Raise this field element to the power (p-5)/8 = 2^252 -3."},{"Unknown":{"path":"rustfmt::skip","args":null}},{"Unknown":{"path":"allow","args":"clippy::let_and_return"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":294,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"bound_body_regions":13,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":294,"col":36},"end":{"line":294,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":294,"col":26},"end":{"line":294,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"t19","span":{"data":{"file_id":1,"beg":{"line":298,"col":13},"end":{"line":298,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":2885}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":5,"name":"t20","span":{"data":{"file_id":1,"beg":{"line":299,"col":12},"end":{"line":299,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":299,"col":18},"end":{"line":299,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":7,"name":"t21","span":{"data":{"file_id":1,"beg":{"line":300,"col":12},"end":{"line":300,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":1,"beg":{"line":300,"col":18},"end":{"line":300,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2887}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":298,"col":13},"end":{"line":303,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":38}},"generated_from_span":null},"id":314,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":27}},"generated_from_span":null},"id":315,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":27}},"generated_from_span":null},"id":316,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["The bits of (p-5)/8 are 101111.....11.",""," nonzero bits of exponent"]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":38}},"generated_from_span":null},"id":317,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":11}},"generics":{"regions":[{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2794}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2885}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":37},"end":{"line":298,"col":38}},"generated_from_span":null},"id":318,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":13},"end":{"line":298,"col":16}},"generated_from_span":null},"id":319,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":13},"end":{"line":298,"col":16}},"generated_from_span":null},"id":320,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2885}},{"Field":[{"Tuple":2},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":38},"end":{"line":298,"col":39}},"generated_from_span":null},"id":321,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":12},"end":{"line":299,"col":15}},"generated_from_span":null},"id":322,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":18},"end":{"line":299,"col":21}},"generated_from_span":null},"id":323,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":18},"end":{"line":299,"col":21}},"generated_from_span":null},"id":324,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":18},"end":{"line":299,"col":30}},"generated_from_span":null},"id":325,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2795}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":29},"end":{"line":299,"col":30}},"generated_from_span":null},"id":326,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":12},"end":{"line":300,"col":15}},"generated_from_span":null},"id":327,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":18},"end":{"line":300,"col":22}},"generated_from_span":null},"id":328,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":18},"end":{"line":300,"col":22}},"generated_from_span":null},"id":329,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2796}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"id":330,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"id":331,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"id":332,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"id":333,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2887}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":18},"end":{"line":300,"col":29}},"generated_from_span":null},"id":334,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":11},{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":28},"end":{"line":300,"col":29}},"generated_from_span":null},"id":335,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":28},"end":{"line":300,"col":29}},"generated_from_span":null},"id":336,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":29},"end":{"line":300,"col":30}},"generated_from_span":null},"id":337,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":302,"col":8},"end":{"line":302,"col":11}},"generated_from_span":null},"id":338,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":303,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"id":339,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":303,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"id":340,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":303,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"id":341,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":303,"col":5},"end":{"line":303,"col":5}},"generated_from_span":null},"id":342,"kind":"Return","comments_before":[]}]},"comments":[[298,["The bits of (p-5)/8 are 101111.....11.",""," nonzero bits of exponent"]]]}}},{"def_id":15,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]}],"span":{"data":{"file_id":1,"beg":{"line":317,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn sqrt_ratio_i(u: &FieldElement, v: &FieldElement) -> (Choice, FieldElement) {\n // Using the same trick as in ed25519 decoding, we merge the\n // inversion, the square root, and the square test as follows.\n //\n // To compute sqrt(α), we can compute β = α^((p+3)/8).\n // Then β^2 = ±α, so multiplying β by sqrt(-1) if necessary\n // gives sqrt(α).\n //\n // To compute 1/sqrt(α), we observe that\n // 1/β = α^(p-1 - (p+3)/8) = α^((7p-11)/8)\n // = α^3 * (α^7)^((p-5)/8).\n //\n // We can therefore compute sqrt(u/v) = sqrt(u)/sqrt(v)\n // by first computing\n // r = u^((p+3)/8) v^(p-1-(p+3)/8)\n // = u u^((p-5)/8) v^3 (v^7)^((p-5)/8)\n // = (uv^3) (uv^7)^((p-5)/8).\n //\n // If v is nonzero and u/v is square, then r^2 = ±u/v,\n // so vr^2 = ±u.\n // If vr^2 = u, then sqrt(u/v) = r.\n // If vr^2 = -u, then sqrt(u/v) = r*sqrt(-1).\n //\n // If v is zero, r is also zero.\n\n let v3 = &v.square() * v;\n let v7 = &v3.square() * v;\n let mut r = &(u * &v3) * &(u * &v7).pow_p58();\n let check = v * &r.square();\n\n let i = &constants::SQRT_M1;\n\n let correct_sign_sqrt = check.ct_eq(u);\n let flipped_sign_sqrt = check.ct_eq(&(-u));\n let flipped_sign_sqrt_i = check.ct_eq(&(&(-u) * i));\n\n let r_prime = &constants::SQRT_M1 * &r;\n r.conditional_assign(&r_prime, flipped_sign_sqrt | flipped_sign_sqrt_i);\n\n // Choose the nonnegative square root.\n //\n // NOTE: written as negate-then-conditional-assign rather than\n // `r.conditional_negate(r_is_negative)`: semantically identical and\n // still constant-time, but it avoids subtle's `ConditionallyNegatable`\n // blanket impl (whose `for<'a> &'a T: Neg` bound breaks the Aeneas\n // verification toolchain; see verification/field/README.md).\n let r_is_negative = r.is_negative();\n let r_neg = -&r;\n r.conditional_assign(&r_neg, r_is_negative);\n\n let was_nonzero_square = correct_sign_sqrt | flipped_sign_sqrt;\n\n (was_nonzero_square, r)\n }","attr_info":{"attributes":[{"DocComment":" Given `FieldElements` `u` and `v`, compute either `sqrt(u/v)`"},{"DocComment":" or `sqrt(i*u/v)` in constant time."},{"DocComment":""},{"DocComment":" This function always returns the nonnegative square root."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" - `(Choice(1), +sqrt(u/v)) ` if `v` is nonzero and `u/v` is square;"},{"DocComment":" - `(Choice(1), zero) ` if `u` is zero;"},{"DocComment":" - `(Choice(0), zero) ` if `v` is zero and `u` is nonzero;"},{"DocComment":" - `(Choice(0), +sqrt(i*u/v))` if `u/v` is nonsquare (so `i*u/v` is square)."},{"DocComment":""}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080},{"Deduplicated":10081}],"output":{"HashConsedValue":[2929,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":317,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"bound_body_regions":103,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":317,"col":70},"end":{"line":317,"col":92}},"generated_from_span":null},"ty":{"Deduplicated":2929}},{"index":1,"name":"u","span":{"data":{"file_id":1,"beg":{"line":317,"col":31},"end":{"line":317,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"v","span":{"data":{"file_id":1,"beg":{"line":317,"col":49},"end":{"line":317,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":"v3","span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":342,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":342,"col":17},"end":{"line":342,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":8,"name":"v7","span":{"data":{"file_id":1,"beg":{"line":343,"col":12},"end":{"line":343,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":343,"col":17},"end":{"line":343,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":12,"name":null,"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":13,"name":"r","span":{"data":{"file_id":1,"beg":{"line":344,"col":12},"end":{"line":344,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":14,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":20},"end":{"line":344,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":15,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":21},"end":{"line":344,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":22},"end":{"line":344,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":17,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":18,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":19,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":20,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":21,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":22,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":23,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":35},"end":{"line":344,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":25,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":26,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":27,"name":"check","span":{"data":{"file_id":1,"beg":{"line":345,"col":12},"end":{"line":345,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":20},"end":{"line":345,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":29,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":30,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":31,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":33,"name":"i","span":{"data":{"file_id":1,"beg":{"line":347,"col":12},"end":{"line":347,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":34,"name":"correct_sign_sqrt","span":{"data":{"file_id":1,"beg":{"line":349,"col":12},"end":{"line":349,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":35,"name":null,"span":{"data":{"file_id":1,"beg":{"line":349,"col":32},"end":{"line":349,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":36,"name":null,"span":{"data":{"file_id":1,"beg":{"line":349,"col":44},"end":{"line":349,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":37,"name":"flipped_sign_sqrt","span":{"data":{"file_id":1,"beg":{"line":350,"col":12},"end":{"line":350,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":38,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":32},"end":{"line":350,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":39,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":40,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":41,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":45},"end":{"line":350,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":42,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":47},"end":{"line":350,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":43,"name":"flipped_sign_sqrt_i","span":{"data":{"file_id":1,"beg":{"line":351,"col":12},"end":{"line":351,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":44,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":34},"end":{"line":351,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":45,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":46,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":47,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":47},"end":{"line":351,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":48,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":48},"end":{"line":351,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":49,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":49},"end":{"line":351,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":50,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":51},"end":{"line":351,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":51,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":56},"end":{"line":351,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":52,"name":"r_prime","span":{"data":{"file_id":1,"beg":{"line":353,"col":12},"end":{"line":353,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":53,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2917}},{"index":54,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2918}},{"index":55,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":56,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":57,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[2932,{"Ref":[{"Body":40},{"Deduplicated":1391},"Mut"]}]}},{"index":58,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2922}},{"index":59,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2923}},{"index":60,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":61,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":62,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":59},"end":{"line":354,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":63,"name":"r_is_negative","span":{"data":{"file_id":1,"beg":{"line":363,"col":12},"end":{"line":363,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":64,"name":null,"span":{"data":{"file_id":1,"beg":{"line":363,"col":28},"end":{"line":363,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2933,{"Ref":[{"Body":43},{"Deduplicated":1391},"Shared"]}]}},{"index":65,"name":"r_neg","span":{"data":{"file_id":1,"beg":{"line":364,"col":12},"end":{"line":364,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":66,"name":null,"span":{"data":{"file_id":1,"beg":{"line":364,"col":21},"end":{"line":364,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2934,{"Ref":[{"Body":44},{"Deduplicated":1391},"Shared"]}]}},{"index":67,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":68,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[2935,{"Ref":[{"Body":45},{"Deduplicated":1391},"Mut"]}]}},{"index":69,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[2936,{"Ref":[{"Body":46},{"Deduplicated":1391},"Shared"]}]}},{"index":70,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[2937,{"Ref":[{"Body":47},{"Deduplicated":1391},"Shared"]}]}},{"index":71,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":37},"end":{"line":365,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":72,"name":"was_nonzero_square","span":{"data":{"file_id":1,"beg":{"line":367,"col":12},"end":{"line":367,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":73,"name":null,"span":{"data":{"file_id":1,"beg":{"line":367,"col":33},"end":{"line":367,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":74,"name":null,"span":{"data":{"file_id":1,"beg":{"line":367,"col":53},"end":{"line":367,"col":70}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":75,"name":null,"span":{"data":{"file_id":1,"beg":{"line":369,"col":9},"end":{"line":369,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":76,"name":null,"span":{"data":{"file_id":1,"beg":{"line":369,"col":29},"end":{"line":369,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":77,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[2938,{"Ref":[{"Body":48},{"Deduplicated":1391},"Shared"]}]}},{"index":78,"name":null,"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[2939,{"Ref":[{"Body":49},{"Deduplicated":1391},"Shared"]}]}},{"index":79,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[2942,{"Ref":[{"Body":70},{"Deduplicated":1391},"Shared"]}]}},{"index":80,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8889,{"Ref":[{"Body":87},{"Deduplicated":1391},"Shared"]}]}},{"index":81,"name":null,"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[4085,{"Ref":[{"Body":101},{"Deduplicated":1391},"Shared"]}]}},{"index":82,"name":null,"span":{"data":{"file_id":1,"beg":{"line":347,"col":17},"end":{"line":347,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":83,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[4087,{"Ref":[{"Body":102},{"Deduplicated":1391},"Shared"]}]}},{"index":84,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":23},"end":{"line":353,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":345,"col":35}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":342,"col":14}},"generated_from_span":null},"id":343,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":342,"col":14}},"generated_from_span":null},"id":344,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":342,"col":14}},"generated_from_span":null},"id":345,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":17},"end":{"line":342,"col":28}},"generated_from_span":null},"id":346,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":28}},"generated_from_span":null},"id":347,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":19}},"generated_from_span":null},"id":348,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":19}},"generated_from_span":null},"id":349,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Using the same trick as in ed25519 decoding, we merge the","inversion, the square root, and the square test as follows.","","To compute sqrt(α), we can compute β = α^((p+3)/8).","Then β^2 = ±α, so multiplying β by sqrt(-1) if necessary","gives sqrt(α).","","To compute 1/sqrt(α), we observe that"," 1/β = α^(p-1 - (p+3)/8) = α^((7p-11)/8)"," = α^3 * (α^7)^((p-5)/8).","","We can therefore compute sqrt(u/v) = sqrt(u)/sqrt(v)","by first computing"," r = u^((p+3)/8) v^(p-1-(p+3)/8)"," = u u^((p-5)/8) v^3 (v^7)^((p-5)/8)"," = (uv^3) (uv^7)^((p-5)/8).","","If v is nonzero and u/v is square, then r^2 = ±u/v,"," so vr^2 = ±u.","If vr^2 = u, then sqrt(u/v) = r.","If vr^2 = -u, then sqrt(u/v) = r*sqrt(-1).","","If v is zero, r is also zero."]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":28}},"generated_from_span":null},"id":350,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":27},"end":{"line":342,"col":28}},"generated_from_span":null},"id":351,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":17},"end":{"line":342,"col":28}},"generated_from_span":null},"id":352,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"id":353,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"id":354,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":17},"end":{"line":342,"col":32}},"generated_from_span":null},"id":355,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":52},{"Body":53}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"id":356,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"id":357,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":32},"end":{"line":342,"col":33}},"generated_from_span":null},"id":358,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":12},"end":{"line":343,"col":14}},"generated_from_span":null},"id":359,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":17},"end":{"line":343,"col":29}},"generated_from_span":null},"id":360,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":29}},"generated_from_span":null},"id":361,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":20}},"generated_from_span":null},"id":362,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":20}},"generated_from_span":null},"id":363,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":29}},"generated_from_span":null},"id":364,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":28},"end":{"line":343,"col":29}},"generated_from_span":null},"id":365,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":17},"end":{"line":343,"col":29}},"generated_from_span":null},"id":366,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"id":367,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"id":368,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":17},"end":{"line":343,"col":33}},"generated_from_span":null},"id":369,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":56},{"Body":57}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"id":370,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"id":371,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":33},"end":{"line":343,"col":34}},"generated_from_span":null},"id":372,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":12},"end":{"line":344,"col":17}},"generated_from_span":null},"id":373,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":20},"end":{"line":344,"col":30}},"generated_from_span":null},"id":374,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":21},"end":{"line":344,"col":30}},"generated_from_span":null},"id":375,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":22},"end":{"line":344,"col":23}},"generated_from_span":null},"id":376,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":22},"end":{"line":344,"col":23}},"generated_from_span":null},"id":377,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2891}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"id":378,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"id":379,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"id":380,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"id":381,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":21},"end":{"line":344,"col":30}},"generated_from_span":null},"id":382,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":58},{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":29},"end":{"line":344,"col":30}},"generated_from_span":null},"id":383,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":29},"end":{"line":344,"col":30}},"generated_from_span":null},"id":384,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":20},"end":{"line":344,"col":30}},"generated_from_span":null},"id":385,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"id":386,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"id":387,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":53}},"generated_from_span":null},"id":388,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"id":389,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"id":390,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":35},"end":{"line":344,"col":36}},"generated_from_span":null},"id":391,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":35},"end":{"line":344,"col":36}},"generated_from_span":null},"id":392,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2897}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"id":393,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"id":394,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"id":395,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"id":396,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"id":397,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":60},{"Body":61}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"id":398,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":42},"end":{"line":344,"col":43}},"generated_from_span":null},"id":399,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":42},"end":{"line":344,"col":43}},"generated_from_span":null},"id":400,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":53}},"generated_from_span":null},"id":401,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":14}},"generics":{"regions":[{"Body":63}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":52},"end":{"line":344,"col":53}},"generated_from_span":null},"id":402,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"id":403,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":21},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"id":404,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":20},"end":{"line":344,"col":53}},"generated_from_span":null},"id":405,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":64},{"Body":65}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2894}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":52},"end":{"line":344,"col":53}},"generated_from_span":null},"id":406,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":52},"end":{"line":344,"col":53}},"generated_from_span":null},"id":407,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":408,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":409,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":410,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":411,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":412,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":413,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":12},"end":{"line":345,"col":17}},"generated_from_span":null},"id":414,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":20},"end":{"line":345,"col":21}},"generated_from_span":null},"id":415,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":20},"end":{"line":345,"col":21}},"generated_from_span":null},"id":416,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2900}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2794}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"id":417,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"id":418,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":35}},"generated_from_span":null},"id":419,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":26}},"generated_from_span":null},"id":420,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":26}},"generated_from_span":null},"id":421,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":35}},"generated_from_span":null},"id":422,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":67}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2903}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":34},"end":{"line":345,"col":35}},"generated_from_span":null},"id":423,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"id":424,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Local":31},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"id":425,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":20},"end":{"line":345,"col":35}},"generated_from_span":null},"id":426,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":68},{"Body":69}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":427,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":428,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":17},"end":{"line":347,"col":35}},"generated_from_span":null},"id":429,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":17},"end":{"line":347,"col":35}},"generated_from_span":null},"id":430,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":82,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":431,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":4085}},{"Ref":{"place":{"kind":{"Local":82},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":432,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":2942}},{"Use":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":4085}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":34},"end":{"line":345,"col":35}},"generated_from_span":null},"id":433,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":34},"end":{"line":345,"col":35}},"generated_from_span":null},"id":434,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":35},"end":{"line":345,"col":36}},"generated_from_span":null},"id":435,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":35},"end":{"line":345,"col":36}},"generated_from_span":null},"id":436,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":12},"end":{"line":347,"col":13}},"generated_from_span":null},"id":437,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":438,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":2939}},{"Use":[{"Move":{"kind":{"Local":79},"ty":{"Deduplicated":2942}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":439,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":78},"ty":{"Deduplicated":2939}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":12},"end":{"line":349,"col":29}},"generated_from_span":null},"id":440,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":32},"end":{"line":349,"col":37}},"generated_from_span":null},"id":441,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":32},"end":{"line":349,"col":37}},"generated_from_span":null},"id":442,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":44},"end":{"line":349,"col":45}},"generated_from_span":null},"id":443,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":44},"end":{"line":349,"col":45}},"generated_from_span":null},"id":444,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":32},"end":{"line":349,"col":46}},"generated_from_span":null},"id":445,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":73},{"Body":74}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":2905}}},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2906}}}],"dest":{"kind":{"Local":34},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":45},"end":{"line":349,"col":46}},"generated_from_span":null},"id":446,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":45},"end":{"line":349,"col":46}},"generated_from_span":null},"id":447,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":12},"end":{"line":350,"col":29}},"generated_from_span":null},"id":448,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":32},"end":{"line":350,"col":37}},"generated_from_span":null},"id":449,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":32},"end":{"line":350,"col":37}},"generated_from_span":null},"id":450,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"id":451,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"id":452,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":45},"end":{"line":350,"col":49}},"generated_from_span":null},"id":453,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":47},"end":{"line":350,"col":48}},"generated_from_span":null},"id":454,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":47},"end":{"line":350,"col":48}},"generated_from_span":null},"id":455,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2910}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":45},"end":{"line":350,"col":49}},"generated_from_span":null},"id":456,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":75}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":2910}}}],"dest":{"kind":{"Local":41},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":48},"end":{"line":350,"col":49}},"generated_from_span":null},"id":457,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"id":458,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":41},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"id":459,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":40},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":32},"end":{"line":350,"col":50}},"generated_from_span":null},"id":460,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":78},{"Body":79}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":37},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":49},"end":{"line":350,"col":50}},"generated_from_span":null},"id":461,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":49},"end":{"line":350,"col":50}},"generated_from_span":null},"id":462,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":50},"end":{"line":350,"col":51}},"generated_from_span":null},"id":463,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":50},"end":{"line":350,"col":51}},"generated_from_span":null},"id":464,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":12},"end":{"line":351,"col":31}},"generated_from_span":null},"id":465,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":34},"end":{"line":351,"col":39}},"generated_from_span":null},"id":466,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":34},"end":{"line":351,"col":39}},"generated_from_span":null},"id":467,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"id":468,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"id":469,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":47},"end":{"line":351,"col":58}},"generated_from_span":null},"id":470,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":48},"end":{"line":351,"col":53}},"generated_from_span":null},"id":471,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":49},"end":{"line":351,"col":53}},"generated_from_span":null},"id":472,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":51},"end":{"line":351,"col":52}},"generated_from_span":null},"id":473,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":51},"end":{"line":351,"col":52}},"generated_from_span":null},"id":474,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":2915}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":49},"end":{"line":351,"col":53}},"generated_from_span":null},"id":475,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":80}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":2915}}}],"dest":{"kind":{"Local":49},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":52},"end":{"line":351,"col":53}},"generated_from_span":null},"id":476,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":48},"end":{"line":351,"col":53}},"generated_from_span":null},"id":477,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Local":49},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":56},"end":{"line":351,"col":57}},"generated_from_span":null},"id":478,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":56},"end":{"line":351,"col":57}},"generated_from_span":null},"id":479,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":33},"ty":{"Deduplicated":2904}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":47},"end":{"line":351,"col":58}},"generated_from_span":null},"id":480,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":81},{"Body":82}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":2914}}},{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":2916}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":57},"end":{"line":351,"col":58}},"generated_from_span":null},"id":481,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":57},"end":{"line":351,"col":58}},"generated_from_span":null},"id":482,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"id":483,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":47},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"id":484,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":2913}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":34},"end":{"line":351,"col":59}},"generated_from_span":null},"id":485,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":85},{"Body":86}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2911}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":2912}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":486,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":487,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":23},"end":{"line":353,"col":41}},"generated_from_span":null},"id":488,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":23},"end":{"line":353,"col":41}},"generated_from_span":null},"id":489,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":82,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":490,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":4087}},{"Ref":{"place":{"kind":{"Local":84},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":491,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":8889}},{"Use":[{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":4087}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":58},"end":{"line":351,"col":59}},"generated_from_span":null},"id":492,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":58},"end":{"line":351,"col":59}},"generated_from_span":null},"id":493,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":59},"end":{"line":351,"col":60}},"generated_from_span":null},"id":494,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":59},"end":{"line":351,"col":60}},"generated_from_span":null},"id":495,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":59},"end":{"line":351,"col":60}},"generated_from_span":null},"id":496,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":12},"end":{"line":353,"col":19}},"generated_from_span":null},"id":497,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":498,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":499,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":2938}},{"Use":[{"Move":{"kind":{"Local":80},"ty":{"Deduplicated":8889}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":500,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":2917}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":77},"ty":{"Deduplicated":2938}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"id":501,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"id":502,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"id":503,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"id":504,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":2918}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":55},"ty":{"Deduplicated":2919}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":46}},"generated_from_span":null},"id":505,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":88},{"Body":89}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":2917}}},{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":2918}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":45},"end":{"line":353,"col":46}},"generated_from_span":null},"id":506,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":45},"end":{"line":353,"col":46}},"generated_from_span":null},"id":507,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":46},"end":{"line":353,"col":47}},"generated_from_span":null},"id":508,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":79}},"generated_from_span":null},"id":509,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":9}},"generated_from_span":null},"id":510,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":9}},"generated_from_span":null},"id":511,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":2932}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"id":512,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"id":513,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"id":514,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":2923}},{"Ref":{"place":{"kind":{"Local":52},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"id":515,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":2923}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":78}},"generated_from_span":null},"id":516,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":56}},"generated_from_span":null},"id":517,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":56}},"generated_from_span":null},"id":518,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":59},"end":{"line":354,"col":78}},"generated_from_span":null},"id":519,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":59},"end":{"line":354,"col":78}},"generated_from_span":null},"id":520,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":78}},"generated_from_span":null},"id":521,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":138}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":77},"end":{"line":354,"col":78}},"generated_from_span":null},"id":522,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":77},"end":{"line":354,"col":78}},"generated_from_span":null},"id":523,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":79}},"generated_from_span":null},"id":524,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":92},{"Body":93}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":2932}}},{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":2922}}},{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":78},"end":{"line":354,"col":79}},"generated_from_span":null},"id":525,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":78},"end":{"line":354,"col":79}},"generated_from_span":null},"id":526,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":78},"end":{"line":354,"col":79}},"generated_from_span":null},"id":527,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":79},"end":{"line":354,"col":80}},"generated_from_span":null},"id":528,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":79},"end":{"line":354,"col":80}},"generated_from_span":null},"id":529,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":12},"end":{"line":363,"col":25}},"generated_from_span":null},"id":530,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":28},"end":{"line":363,"col":29}},"generated_from_span":null},"id":531,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":28},"end":{"line":363,"col":29}},"generated_from_span":null},"id":532,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":2933}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Choose the nonnegative square root.","","NOTE: written as negate-then-conditional-assign rather than","`r.conditional_negate(r_is_negative)`: semantically identical and","still constant-time, but it avoids subtle's `ConditionallyNegatable`","blanket impl (whose `for<'a> &'a T: Neg` bound breaks the Aeneas","verification toolchain; see verification/field/README.md)."]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":28},"end":{"line":363,"col":43}},"generated_from_span":null},"id":533,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":9}},"generics":{"regions":[{"Body":95}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":2933}}}],"dest":{"kind":{"Local":63},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":42},"end":{"line":363,"col":43}},"generated_from_span":null},"id":534,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":12},"end":{"line":364,"col":17}},"generated_from_span":null},"id":535,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":21},"end":{"line":364,"col":23}},"generated_from_span":null},"id":536,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":21},"end":{"line":364,"col":23}},"generated_from_span":null},"id":537,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":2934}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":20},"end":{"line":364,"col":23}},"generated_from_span":null},"id":538,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":96}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":2934}}}],"dest":{"kind":{"Local":65},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":22},"end":{"line":364,"col":23}},"generated_from_span":null},"id":539,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":51}},"generated_from_span":null},"id":540,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":9}},"generated_from_span":null},"id":541,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":9}},"generated_from_span":null},"id":542,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":2935}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"id":543,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"id":544,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"id":545,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":2937}},{"Ref":{"place":{"kind":{"Local":65},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"id":546,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":2936}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":70},"ty":{"Deduplicated":2937}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":37},"end":{"line":365,"col":50}},"generated_from_span":null},"id":547,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":37},"end":{"line":365,"col":50}},"generated_from_span":null},"id":548,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":51}},"generated_from_span":null},"id":549,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":99},{"Body":100}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":2935}}},{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":2936}}},{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":50},"end":{"line":365,"col":51}},"generated_from_span":null},"id":550,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":50},"end":{"line":365,"col":51}},"generated_from_span":null},"id":551,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":50},"end":{"line":365,"col":51}},"generated_from_span":null},"id":552,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":51},"end":{"line":365,"col":52}},"generated_from_span":null},"id":553,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":51},"end":{"line":365,"col":52}},"generated_from_span":null},"id":554,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":12},"end":{"line":367,"col":30}},"generated_from_span":null},"id":555,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":33},"end":{"line":367,"col":50}},"generated_from_span":null},"id":556,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":33},"end":{"line":367,"col":50}},"generated_from_span":null},"id":557,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":53},"end":{"line":367,"col":70}},"generated_from_span":null},"id":558,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":53},"end":{"line":367,"col":70}},"generated_from_span":null},"id":559,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":33},"end":{"line":367,"col":70}},"generated_from_span":null},"id":560,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":138}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":74},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":72},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":69},"end":{"line":367,"col":70}},"generated_from_span":null},"id":561,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":69},"end":{"line":367,"col":70}},"generated_from_span":null},"id":562,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":9},"end":{"line":369,"col":27}},"generated_from_span":null},"id":563,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":9},"end":{"line":369,"col":27}},"generated_from_span":null},"id":564,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":72},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":29},"end":{"line":369,"col":30}},"generated_from_span":null},"id":565,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":29},"end":{"line":369,"col":30}},"generated_from_span":null},"id":566,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":8},"end":{"line":369,"col":31}},"generated_from_span":null},"id":567,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2929}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":30},"end":{"line":369,"col":31}},"generated_from_span":null},"id":568,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":30},"end":{"line":369,"col":31}},"generated_from_span":null},"id":569,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":570,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":571,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":572,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":573,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":574,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":575,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":576,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":577,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":578,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":579,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":580,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":581,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":5},"end":{"line":370,"col":5}},"generated_from_span":null},"id":582,"kind":"Return","comments_before":[]}]},"comments":[[341,["Using the same trick as in ed25519 decoding, we merge the","inversion, the square root, and the square test as follows.","","To compute sqrt(α), we can compute β = α^((p+3)/8).","Then β^2 = ±α, so multiplying β by sqrt(-1) if necessary","gives sqrt(α).","","To compute 1/sqrt(α), we observe that"," 1/β = α^(p-1 - (p+3)/8) = α^((7p-11)/8)"," = α^3 * (α^7)^((p-5)/8).","","We can therefore compute sqrt(u/v) = sqrt(u)/sqrt(v)","by first computing"," r = u^((p+3)/8) v^(p-1-(p+3)/8)"," = u u^((p-5)/8) v^3 (v^7)^((p-5)/8)"," = (uv^3) (uv^7)^((p-5)/8).","","If v is nonzero and u/v is square, then r^2 = ±u/v,"," so vr^2 = ±u.","If vr^2 = u, then sqrt(u/v) = r.","If vr^2 = -u, then sqrt(u/v) = r*sqrt(-1).","","If v is zero, r is also zero."]],[363,["Choose the nonnegative square root.","","NOTE: written as negate-then-conditional-assign rather than","`r.conditional_negate(r_is_negative)`: semantically identical and","still constant-time, but it avoids subtle's `ConditionallyNegatable`","blanket impl (whose `for<'a> &'a T: Neg` bound breaks the Aeneas","verification toolchain; see verification/field/README.md)."]]]}}},{"def_id":16,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invsqrt",0]}],"span":{"data":{"file_id":1,"beg":{"line":384,"col":4},"end":{"line":386,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn invsqrt(&self) -> (Choice, FieldElement) {\n FieldElement::sqrt_ratio_i(&FieldElement::ONE, self)\n }","attr_info":{"attributes":[{"DocComment":" Attempt to compute `sqrt(1/self)` in constant time."},{"DocComment":""},{"DocComment":" Convenience wrapper around `sqrt_ratio_i`."},{"DocComment":""},{"DocComment":" This function always returns the nonnegative square root."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" - `(Choice(1), +sqrt(1/self)) ` if `self` is a nonzero square;"},{"DocComment":" - `(Choice(0), zero) ` if `self` is zero;"},{"DocComment":" - `(Choice(0), +sqrt(i/self)) ` if `self` is a nonzero nonsquare;"},{"DocComment":""}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":2929}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":384,"col":4},"end":{"line":386,"col":5}},"generated_from_span":null},"bound_body_regions":12,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":384,"col":36},"end":{"line":384,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2929}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":384,"col":26},"end":{"line":384,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":55},"end":{"line":385,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":8,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":36},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":583,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":584,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":36},"end":{"line":385,"col":53}},"generated_from_span":null},"id":585,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":36},"end":{"line":385,"col":53}},"generated_from_span":null},"id":586,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":587,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":588,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2892}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":589,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":590,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":591,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":592,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Use":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2887}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":593,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":594,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":55},"end":{"line":385,"col":59}},"generated_from_span":null},"id":595,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":55},"end":{"line":385,"col":59}},"generated_from_span":null},"id":596,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":8},"end":{"line":385,"col":60}},"generated_from_span":null},"id":597,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":15}},"generics":{"regions":[{"Body":9},{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":2794}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":2929}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":59},"end":{"line":385,"col":60}},"generated_from_span":null},"id":598,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":59},"end":{"line":385,"col":60}},"generated_from_span":null},"id":599,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":59},"end":{"line":385,"col":60}},"generated_from_span":null},"id":600,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":386,"col":5},"end":{"line":386,"col":5}},"generated_from_span":null},"id":601,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":17,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":6}},{"Ident":["clone",0]}],"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":6,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2793}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"id":602,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":42,"col":20},"end":{"line":42,"col":20}},"generated_from_span":null},"id":603,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":18,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":236,"col":4},"end":{"line":236,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a duplicate of the value."},{"DocComment":""},{"DocComment":" Note that what \"duplicate\" means varies by type:"},{"DocComment":" - For most types, this creates a deep, independent copy"},{"DocComment":" - For reference types like `&T`, this creates another reference to the same value"},{"DocComment":" - For smart pointers like [`Arc`] or [`Rc`], this increments the reference count"},{"DocComment":" but still points to the same underlying data"},{"DocComment":""},{"DocComment":" [`Arc`]: ../../std/sync/struct.Arc.html"},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(noop_method_call)]"},{"DocComment":" let hello = \"Hello\"; // &str implements Clone"},{"DocComment":""},{"DocComment":" assert_eq!(\"Hello\", hello.clone());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Example with a reference-counted type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::sync::{Arc, Mutex};"},{"DocComment":""},{"DocComment":" let data = Arc::new(Mutex::new(vec![1, 2, 3]));"},{"DocComment":" let data_clone = data.clone(); // Creates another Arc pointing to the same Mutex"},{"DocComment":""},{"DocComment":" {"},{"DocComment":" let mut lock = data.lock().unwrap();"},{"DocComment":" lock.push(4);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Changes are visible through the clone because they share the same underlying data"},{"DocComment":" assert_eq!(*data_clone.lock().unwrap(), vec![1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"clone_fn"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116}],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":20,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":5,"beg":{"line":46,"col":4},"end":{"line":48,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080},{"HashConsedValue":[10207,{"Ref":[{"Var":{"Free":1}},{"HashConsedValue":[10206,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Free":2}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"HashConsedValue":[3010,{"Adt":{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":1443},{"HashConsedValue":[3009,{"Adt":{"id":{"Adt":16},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":46,"col":4},"end":{"line":48,"col":5}},"generated_from_span":null},"bound_body_regions":62,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":46,"col":55},"end":{"line":46,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":46,"col":11},"end":{"line":46,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"f","span":{"data":{"file_id":5,"beg":{"line":46,"col":18},"end":{"line":46,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[3019,{"Ref":[{"Body":5},{"HashConsedValue":[3018,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":15},"end":{"line":47,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[3021,{"Ref":[{"Body":7},{"HashConsedValue":[3020,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3038,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3055,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[3054,{"Ref":[{"Body":16},{"HashConsedValue":[3053,{"Ref":[{"Body":17},{"HashConsedValue":[3046,{"Slice":{"Deduplicated":1550}}]},"Shared"]}]},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3057,{"Ref":[{"Body":18},{"HashConsedValue":[3056,{"Ref":[{"Body":19},{"Deduplicated":3046},"Shared"]}]},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3058,{"Ref":[{"Body":20},{"Deduplicated":3046},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":49},"end":{"line":47,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3059,{"Ref":[{"Body":21},{"Deduplicated":3046},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":43},"end":{"line":47,"col":49}},"generated_from_span":null},"ty":{"HashConsedValue":[3062,{"Ref":[{"Body":23},{"Deduplicated":1552},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":50},"end":{"line":47,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3073,{"Adt":{"id":{"Adt":18},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":11,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3090,{"Array":[{"HashConsedValue":[3089,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":34},"end":{"line":47,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[3091,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3093,{"Ref":[{"Body":28},{"HashConsedValue":[3092,{"Ref":[{"Body":29},{"Deduplicated":3046},"Shared"]}]},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3099,{"Ref":[{"Body":31},{"HashConsedValue":[3097,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","20"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3100,{"Ref":[{"Body":32},{"Deduplicated":3097},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3107,{"Ref":[{"Body":35},{"HashConsedValue":[3106,{"Array":[{"HashConsedValue":[3105,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3110,{"Ref":[{"Body":37},{"HashConsedValue":[3109,{"Array":[{"HashConsedValue":[3108,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":3097}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8899,{"Ref":[{"Body":54},{"Deduplicated":3097},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":47,"col":15},"end":{"line":47,"col":53}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":47,"col":15},"end":{"line":47,"col":16}},"generated_from_span":null},"id":604,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":15},"end":{"line":47,"col":16}},"generated_from_span":null},"id":605,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[10208,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":606,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":607,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":608,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":609,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":49},"end":{"line":47,"col":53}},"generated_from_span":null},"id":610,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":43},"end":{"line":47,"col":49}},"generated_from_span":null},"id":611,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":43},"end":{"line":47,"col":49}},"generated_from_span":null},"id":612,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3062}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":50},"end":{"line":47,"col":52}},"generated_from_span":null},"id":613,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":50},"end":{"line":47,"col":52}},"generated_from_span":null},"id":614,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3073}},{"Aggregate":[{"Adt":[{"id":{"Adt":18},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":49},"end":{"line":47,"col":53}},"generated_from_span":null},"id":615,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":141}},"generics":{"regions":[{"Body":41}],"types":[{"Deduplicated":1550},{"Deduplicated":3073},{"Deduplicated":3046}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10210,{"kind":{"TraitImpl":{"id":115,"generics":{"regions":[],"types":[{"Deduplicated":1550},{"Deduplicated":3073},{"Deduplicated":3046}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10209,{"kind":{"TraitImpl":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":3046},{"Deduplicated":3046}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":3046},{"Deduplicated":3073},{"Deduplicated":3046}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":3062}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3073}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":3059}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":52},"end":{"line":47,"col":53}},"generated_from_span":null},"id":616,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":52},"end":{"line":47,"col":53}},"generated_from_span":null},"id":617,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":618,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3058}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":3059}},"Deref"]},"ty":{"Deduplicated":3046}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":3059}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":619,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3057}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":3058}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":620,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3055}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":3057}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":621,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":622,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":34},"end":{"line":47,"col":38}},"generated_from_span":null},"id":623,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":624,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":625,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":3093}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3055}},{"Field":[{"Tuple":1},0]}]},"ty":{"HashConsedValue":[10212,{"Ref":[{"Body":42},{"HashConsedValue":[10211,{"Ref":[{"Body":43},{"Deduplicated":3046},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[10213,{"Ref":[{"Body":44},{"Deduplicated":3046},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":34},"end":{"line":47,"col":38}},"generated_from_span":null},"id":626,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":45},{"Body":52}],"types":[{"HashConsedValue":[8370,{"Ref":[{"Body":47},{"Deduplicated":3046},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10216,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":47}],"types":[{"Deduplicated":3046}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10215,{"kind":{"TraitImpl":{"id":118,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10214,{"kind":{"TraitImpl":{"id":119,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":3046}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8370}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":3093}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":3091}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":37},"end":{"line":47,"col":38}},"generated_from_span":null},"id":627,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":628,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":3090}},{"Aggregate":[{"Array":[{"HashConsedValue":[3401,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":53}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3091}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":629,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":630,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":631,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":632,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":633,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":3097}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","20"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","15"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","70"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","69"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","53"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","49"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","40"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","1"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","41"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":634,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":635,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":8899}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":3097}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":636,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3100}},{"Use":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":8899}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":637,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3099}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":3100}},"Deref"]},"ty":{"Deduplicated":3097}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":638,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":639,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":640,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":3110}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":3090}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":641,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":3107}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":3110}},"Deref"]},"ty":{"HashConsedValue":[10217,{"Array":[{"HashConsedValue":[3403,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":642,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":56}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","20"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3099}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":3107}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":643,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":644,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":645,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":646,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":647,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":57},{"Body":60},{"Body":61}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":648,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":649,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":650,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":651,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":652,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":653,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":48,"col":5},"end":{"line":48,"col":5}},"generated_from_span":null},"id":654,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":21,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}},{"Ident":["add_assign",0]}],"span":{"data":{"file_id":5,"beg":{"line":55,"col":4},"end":{"line":59,"col":5}},"generated_from_span":null},"source_text":"fn add_assign(&mut self, _rhs: &'a FieldElement51) {\n for i in 0..5 {\n self.0[i] += _rhs.0[i];\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10218,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1391},"Mut"]}]},{"Deduplicated":10080}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":8,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10080}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":55,"col":4},"end":{"line":59,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":55,"col":54},"end":{"line":55,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":55,"col":18},"end":{"line":55,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[3479,{"Ref":[{"Body":1},{"Deduplicated":1391},"Mut"]}]}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":55,"col":29},"end":{"line":55,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3489,{"Adt":{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}]}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":5,"name":"iter","span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3512,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}]}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3515,{"Ref":[{"Body":5},{"Deduplicated":3489},"Mut"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3516,{"Ref":[{"Body":6},{"Deduplicated":3489},"Mut"]}]}},{"index":9,"name":"i","span":{"data":{"file_id":5,"beg":{"line":56,"col":12},"end":{"line":56,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":57,"col":32},"end":{"line":57,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":57,"col":19},"end":{"line":57,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9007,{"Ref":["Erased",{"Deduplicated":1552},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9006,{"Ref":["Erased",{"Deduplicated":1550},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9009,{"Ref":["Erased",{"Deduplicated":1552},"Mut"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9008,{"Ref":["Erased",{"Deduplicated":1550},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":659,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":660,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":661,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":662,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":663,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":3489}},{"Aggregate":[{"Adt":[{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":664,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":146}},"generics":{"regions":[],"types":[{"Deduplicated":3489},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"HashConsedValue":[9386,{"kind":{"TraitImpl":{"id":121,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"HashConsedValue":[3682,{"kind":{"TraitImpl":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":3489},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3489}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":3489}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":20},"end":{"line":56,"col":21}},"generated_from_span":null},"id":665,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":666,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":667,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3489}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3489}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":706,"kind":{"Loop":{"span":{"data":{"file_id":5,"beg":{"line":56,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":669,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":670,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":671,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":672,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3516}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":3489}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":673,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3515}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":3516}},"Deref"]},"ty":{"Deduplicated":3489}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":674,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":147}},"generics":{"regions":[{"Body":8}],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"Deduplicated":3682}]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3515}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":3512}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":20},"end":{"line":56,"col":21}},"generated_from_span":null},"id":675,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":680,"kind":{"Switch":{"Match":[{"kind":{"Local":6},"ty":{"Deduplicated":3512}},[[[0],{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":677,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":12},"end":{"line":56,"col":13}},"generated_from_span":null},"id":681,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":12},"end":{"line":56,"col":13}},"generated_from_span":null},"id":682,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":3512}},{"Field":[{"Adt":[22,1]},0]}]},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":683,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":32},"end":{"line":57,"col":33}},"generated_from_span":null},"id":684,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":32},"end":{"line":57,"col":33}},"generated_from_span":null},"id":685,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8640,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8641,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8642,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8643,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":688,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":19},"end":{"line":57,"col":20}},"generated_from_span":null},"id":689,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":19},"end":{"line":57,"col":20}},"generated_from_span":null},"id":690,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8644,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8645,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8646,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8647,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":693,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8648,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8649,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8650,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":8651,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":695,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":33},"end":{"line":57,"col":34}},"generated_from_span":null},"id":696,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":34},"end":{"line":57,"col":35}},"generated_from_span":null},"id":697,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":34},"end":{"line":57,"col":35}},"generated_from_span":null},"id":698,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":700,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":701,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":702,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":705,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":707,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":708,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":709,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":711,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":712,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":59,"col":5},"end":{"line":59,"col":5}},"generated_from_span":null},"id":713,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":22,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}},{"Ident":["add",0]}],"span":{"data":{"file_id":5,"beg":{"line":64,"col":4},"end":{"line":68,"col":5}},"generated_from_span":null},"source_text":"fn add(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n let mut output = *self;\n output += _rhs;\n output\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10081},{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":9,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10081},{"Deduplicated":10080},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":64,"col":4},"end":{"line":68,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":64,"col":46},"end":{"line":64,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":64,"col":11},"end":{"line":64,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":64,"col":17},"end":{"line":64,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":"output","span":{"data":{"file_id":5,"beg":{"line":65,"col":12},"end":{"line":65,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[3699,{"Ref":[{"Body":4},{"Deduplicated":1391},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":66,"col":18},"end":{"line":66,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2886}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":65,"col":12},"end":{"line":68,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":65,"col":12},"end":{"line":65,"col":22}},"generated_from_span":null},"id":714,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":65,"col":25},"end":{"line":65,"col":30}},"generated_from_span":null},"id":715,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":22}},"generated_from_span":null},"id":716,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":14}},"generated_from_span":null},"id":717,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":14}},"generated_from_span":null},"id":718,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3699}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":18},"end":{"line":66,"col":22}},"generated_from_span":null},"id":719,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":18},"end":{"line":66,"col":22}},"generated_from_span":null},"id":720,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":22}},"generated_from_span":null},"id":721,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":21}},"generics":{"regions":[{"Body":6},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3699}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":21},"end":{"line":66,"col":22}},"generated_from_span":null},"id":722,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":21},"end":{"line":66,"col":22}},"generated_from_span":null},"id":723,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":22},"end":{"line":66,"col":23}},"generated_from_span":null},"id":724,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":67,"col":8},"end":{"line":67,"col":14}},"generated_from_span":null},"id":725,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":68,"col":4},"end":{"line":68,"col":5}},"generated_from_span":null},"id":726,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":68,"col":5},"end":{"line":68,"col":5}},"generated_from_span":null},"id":727,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":23,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}},{"Ident":["sub_assign",0]}],"span":{"data":{"file_id":5,"beg":{"line":72,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"source_text":"fn sub_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) - _rhs;\n self.0 = result.0;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10218},{"Deduplicated":10080}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":10,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10080}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":72,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":72,"col":54},"end":{"line":72,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":72,"col":18},"end":{"line":72,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":72,"col":29},"end":{"line":72,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":3,"name":"result","span":{"data":{"file_id":5,"beg":{"line":73,"col":12},"end":{"line":73,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":73,"col":49},"end":{"line":73,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":74,"col":17},"end":{"line":74,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":728,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":12},"end":{"line":73,"col":18}},"generated_from_span":null},"id":729,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"id":730,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"id":731,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":22},"end":{"line":73,"col":26}},"generated_from_span":null},"id":732,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"id":733,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":2886}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":49},"end":{"line":73,"col":53}},"generated_from_span":null},"id":734,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":49},"end":{"line":73,"col":53}},"generated_from_span":null},"id":735,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":53}},"generated_from_span":null},"id":736,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":52},"end":{"line":73,"col":53}},"generated_from_span":null},"id":737,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":52},"end":{"line":73,"col":53}},"generated_from_span":null},"id":738,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":53},"end":{"line":73,"col":54}},"generated_from_span":null},"id":739,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":74,"col":17},"end":{"line":74,"col":25}},"generated_from_span":null},"id":740,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":74,"col":17},"end":{"line":74,"col":25}},"generated_from_span":null},"id":741,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":74,"col":8},"end":{"line":74,"col":25}},"generated_from_span":null},"id":742,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":74,"col":24},"end":{"line":74,"col":25}},"generated_from_span":null},"id":743,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":72,"col":55},"end":{"line":75,"col":5}},"generated_from_span":null},"id":744,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":75,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"id":745,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":75,"col":5},"end":{"line":75,"col":5}},"generated_from_span":null},"id":746,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":24,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}},{"Ident":["sub",0]}],"span":{"data":{"file_id":5,"beg":{"line":80,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"source_text":"fn sub(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n // To avoid underflow, first add a multiple of p.\n // Choose 16*p = p << 4 to be larger than 54-bit _rhs.\n //\n // If we could statically track the bitlengths of the limbs\n // of every FieldElement51, we could choose a multiple of p\n // just bigger than _rhs and avoid having to do a reduction.\n //\n // Since we don't yet have type-level integers to do this, we\n // have to add an explicit reduction call here.\n FieldElement51::reduce([\n (self.0[0] + 36028797018963664u64) - _rhs.0[0],\n (self.0[1] + 36028797018963952u64) - _rhs.0[1],\n (self.0[2] + 36028797018963952u64) - _rhs.0[2],\n (self.0[3] + 36028797018963952u64) - _rhs.0[3],\n (self.0[4] + 36028797018963952u64) - _rhs.0[4],\n ])\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10081},{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":11,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10081},{"Deduplicated":10080},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":80,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"bound_body_regions":3,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":80,"col":46},"end":{"line":80,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":80,"col":11},"end":{"line":80,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":80,"col":17},"end":{"line":80,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":20},"end":{"line":91,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":56},"end":{"line":91,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":20},"end":{"line":92,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":56},"end":{"line":92,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":20},"end":{"line":93,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":56},"end":{"line":93,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":20},"end":{"line":94,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":56},"end":{"line":94,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":20},"end":{"line":95,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":56},"end":{"line":95,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":97,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":748,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":750,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":752,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":754,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":756,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":758,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":760,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":762,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":764,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":766,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":767,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"id":768,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"id":769,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":770,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":20},"end":{"line":91,"col":21}},"generated_from_span":null},"id":771,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":20},"end":{"line":91,"col":21}},"generated_from_span":null},"id":772,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["To avoid underflow, first add a multiple of p.","Choose 16*p = p << 4 to be larger than 54-bit _rhs.","","If we could statically track the bitlengths of the limbs","of every FieldElement51, we could choose a multiple of p","just bigger than _rhs and avoid having to do a reduction.","","Since we don't yet have type-level integers to do this, we","have to add an explicit reduction call here."]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":8652,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":8653,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":8654,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":8655,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":45},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":775,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":45},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"id":776,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963664"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"id":778,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":45},"end":{"line":91,"col":46}},"generated_from_span":null},"id":779,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":780,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":56},"end":{"line":91,"col":57}},"generated_from_span":null},"id":781,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":56},"end":{"line":91,"col":57}},"generated_from_span":null},"id":782,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":8656,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":8657,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":8658,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":8659,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":785,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":47},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"id":786,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"id":788,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":57},"end":{"line":91,"col":58}},"generated_from_span":null},"id":789,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":57},"end":{"line":91,"col":58}},"generated_from_span":null},"id":790,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"id":791,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"id":792,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":793,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":20},"end":{"line":92,"col":21}},"generated_from_span":null},"id":794,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":20},"end":{"line":92,"col":21}},"generated_from_span":null},"id":795,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":8660,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":8661,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":8662,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":8663,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":49},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":798,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":49},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"id":799,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"id":801,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":45},"end":{"line":92,"col":46}},"generated_from_span":null},"id":802,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":803,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":56},"end":{"line":92,"col":57}},"generated_from_span":null},"id":804,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":56},"end":{"line":92,"col":57}},"generated_from_span":null},"id":805,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":8664,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":8665,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":8666,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":8667,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":51},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":808,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":51},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"id":809,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"id":811,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":57},"end":{"line":92,"col":58}},"generated_from_span":null},"id":812,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":57},"end":{"line":92,"col":58}},"generated_from_span":null},"id":813,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"id":814,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"id":815,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":816,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":20},"end":{"line":93,"col":21}},"generated_from_span":null},"id":817,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":20},"end":{"line":93,"col":21}},"generated_from_span":null},"id":818,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":8668,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":8669,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":8670,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":8671,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":53},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":821,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":53},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"id":822,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"id":824,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":45},"end":{"line":93,"col":46}},"generated_from_span":null},"id":825,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":826,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":56},"end":{"line":93,"col":57}},"generated_from_span":null},"id":827,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":56},"end":{"line":93,"col":57}},"generated_from_span":null},"id":828,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":8672,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":8673,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":8674,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":8675,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":55},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":831,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":55},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"id":832,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"id":834,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":57},"end":{"line":93,"col":58}},"generated_from_span":null},"id":835,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":57},"end":{"line":93,"col":58}},"generated_from_span":null},"id":836,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"id":837,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"id":838,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":839,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":20},"end":{"line":94,"col":21}},"generated_from_span":null},"id":840,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":20},"end":{"line":94,"col":21}},"generated_from_span":null},"id":841,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":8676,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":8677,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":8678,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":8679,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":57},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":844,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"id":845,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"id":847,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":45},"end":{"line":94,"col":46}},"generated_from_span":null},"id":848,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":849,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":56},"end":{"line":94,"col":57}},"generated_from_span":null},"id":850,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":56},"end":{"line":94,"col":57}},"generated_from_span":null},"id":851,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":8680,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":8681,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":8682,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":8683,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":59},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":854,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"id":855,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"id":857,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":57},"end":{"line":94,"col":58}},"generated_from_span":null},"id":858,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":57},"end":{"line":94,"col":58}},"generated_from_span":null},"id":859,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"id":860,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"id":861,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":862,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":20},"end":{"line":95,"col":21}},"generated_from_span":null},"id":863,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":20},"end":{"line":95,"col":21}},"generated_from_span":null},"id":864,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":8684,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":8685,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":8686,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":8687,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":867,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"id":868,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"id":870,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":45},"end":{"line":95,"col":46}},"generated_from_span":null},"id":871,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":872,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":56},"end":{"line":95,"col":57}},"generated_from_span":null},"id":873,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":56},"end":{"line":95,"col":57}},"generated_from_span":null},"id":874,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":8688,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":8689,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":8690,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":8691,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":63},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":877,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"id":878,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"id":880,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":57},"end":{"line":95,"col":58}},"generated_from_span":null},"id":881,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":57},"end":{"line":95,"col":58}},"generated_from_span":null},"id":882,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":883,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":884,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":885,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":886,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":887,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":888,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":8},"end":{"line":96,"col":10}},"generated_from_span":null},"id":889,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":33}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":890,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":891,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":892,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":893,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":894,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":895,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":896,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":897,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":898,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":899,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":900,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":97,"col":5},"end":{"line":97,"col":5}},"generated_from_span":null},"id":901,"kind":"Return","comments_before":[]}]},"comments":[[90,["To avoid underflow, first add a multiple of p.","Choose 16*p = p << 4 to be larger than 54-bit _rhs.","","If we could statically track the bitlengths of the limbs","of every FieldElement51, we could choose a multiple of p","just bigger than _rhs and avoid having to do a reduction.","","Since we don't yet have type-level integers to do this, we","have to add an explicit reduction call here."]]]}}},{"def_id":25,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}},{"Ident":["mul_assign",0]}],"span":{"data":{"file_id":5,"beg":{"line":101,"col":4},"end":{"line":104,"col":5}},"generated_from_span":null},"source_text":"fn mul_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) * _rhs;\n self.0 = result.0;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10218},{"Deduplicated":10080}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":12,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10080}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":101,"col":4},"end":{"line":104,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":101,"col":54},"end":{"line":101,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":101,"col":18},"end":{"line":101,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":101,"col":29},"end":{"line":101,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":3,"name":"result","span":{"data":{"file_id":5,"beg":{"line":102,"col":12},"end":{"line":102,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":102,"col":49},"end":{"line":102,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":103,"col":17},"end":{"line":103,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":902,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":12},"end":{"line":102,"col":18}},"generated_from_span":null},"id":903,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"id":904,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"id":905,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":22},"end":{"line":102,"col":26}},"generated_from_span":null},"id":906,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"id":907,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":2886}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":49},"end":{"line":102,"col":53}},"generated_from_span":null},"id":908,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":49},"end":{"line":102,"col":53}},"generated_from_span":null},"id":909,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":53}},"generated_from_span":null},"id":910,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":52},"end":{"line":102,"col":53}},"generated_from_span":null},"id":911,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":52},"end":{"line":102,"col":53}},"generated_from_span":null},"id":912,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":53},"end":{"line":102,"col":54}},"generated_from_span":null},"id":913,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":103,"col":17},"end":{"line":103,"col":25}},"generated_from_span":null},"id":914,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":103,"col":17},"end":{"line":103,"col":25}},"generated_from_span":null},"id":915,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":103,"col":8},"end":{"line":103,"col":25}},"generated_from_span":null},"id":916,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":103,"col":24},"end":{"line":103,"col":25}},"generated_from_span":null},"id":917,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":101,"col":55},"end":{"line":104,"col":5}},"generated_from_span":null},"id":918,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":104,"col":4},"end":{"line":104,"col":5}},"generated_from_span":null},"id":919,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":104,"col":5},"end":{"line":104,"col":5}},"generated_from_span":null},"id":920,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":26,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]}],"span":{"data":{"file_id":5,"beg":{"line":111,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n /// Helper function to multiply two 64-bit integers with 128\n /// bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 { (x as u128) * (y as u128) }\n\n // Alias self, _rhs for more readable formulas\n let a: &[u64; 5] = &self.0;\n let b: &[u64; 5] = &_rhs.0;\n\n // Precondition: assume input limbs a[i], b[i] are bounded as\n //\n // a[i], b[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // 64-bit precomputations to avoid 128-bit multiplications.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let b1_19 = b[1] * 19;\n let b2_19 = b[2] * 19;\n let b3_19 = b[3] * 19;\n let b4_19 = b[4] * 19;\n\n // Multiply to get 128-bit coefficients of output\n let c0: u128 = m(a[0], b[0]) + m(a[4], b1_19) + m(a[3], b2_19) + m(a[2], b3_19) + m(a[1], b4_19);\n let mut c1: u128 = m(a[1], b[0]) + m(a[0], b[1]) + m(a[4], b2_19) + m(a[3], b3_19) + m(a[2], b4_19);\n let mut c2: u128 = m(a[2], b[0]) + m(a[1], b[1]) + m(a[0], b[2]) + m(a[4], b3_19) + m(a[3], b4_19);\n let mut c3: u128 = m(a[3], b[0]) + m(a[2], b[1]) + m(a[1], b[2]) + m(a[0], b[3]) + m(a[4], b4_19);\n let mut c4: u128 = m(a[4], b[0]) + m(a[3], b[1]) + m(a[2], b[2]) + m(a[1], b[3]) + m(a[0] , b[4]);\n\n // How big are the c[i]? We have\n //\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54)); debug_assert!(b[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54)); debug_assert!(b[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54)); debug_assert!(b[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54)); debug_assert!(b[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54)); debug_assert!(b[4] < (1 << 54));\n\n // Casting to u64 and back tells the compiler that the carry is\n // bounded by 2^64, so that the addition is a u128 + u64 rather\n // than u128 + u128.\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n let mut out = [0u64; 5];\n\n c1 += ((c0 >> 51) as u64) as u128;\n out[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n out[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n out[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n out[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n out[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need out[0] + carry * 19 < 2^64.\n //\n // c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)\n // < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n out[0] += carry * 19;\n\n // Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n out[1] += out[0] >> 51;\n out[0] &= LOW_51_BIT_MASK;\n\n // Now out[i] < 2^(51 + epsilon) for all i.\n FieldElement51(out)\n }","attr_info":{"attributes":[{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10081},{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":13,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10081},{"Deduplicated":10080},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":111,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":111,"col":46},"end":{"line":111,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":111,"col":11},"end":{"line":111,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":111,"col":17},"end":{"line":111,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":"a","span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[3742,{"Ref":[{"Body":4},{"Deduplicated":1552},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"ty":{"HashConsedValue":[3743,{"Ref":[{"Body":5},{"Deduplicated":1552},"Shared"]}]}},{"index":5,"name":"b","span":{"data":{"file_id":5,"beg":{"line":119,"col":12},"end":{"line":119,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[3744,{"Ref":[{"Body":6},{"Deduplicated":1552},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":119,"col":27},"end":{"line":119,"col":34}},"generated_from_span":null},"ty":{"HashConsedValue":[3745,{"Ref":[{"Body":7},{"Deduplicated":1552},"Shared"]}]}},{"index":7,"name":"b1_19","span":{"data":{"file_id":5,"beg":{"line":134,"col":12},"end":{"line":134,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":134,"col":22},"end":{"line":134,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":"b2_19","span":{"data":{"file_id":5,"beg":{"line":135,"col":12},"end":{"line":135,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":135,"col":22},"end":{"line":135,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":"b3_19","span":{"data":{"file_id":5,"beg":{"line":136,"col":12},"end":{"line":136,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":136,"col":22},"end":{"line":136,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":"b4_19","span":{"data":{"file_id":5,"beg":{"line":137,"col":12},"end":{"line":137,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":137,"col":22},"end":{"line":137,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":23,"name":"c0","span":{"data":{"file_id":5,"beg":{"line":140,"col":16},"end":{"line":140,"col":18}},"generated_from_span":null},"ty":{"HashConsedValue":[3746,{"Literal":{"UInt":"U128"}}]}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":37},"end":{"line":140,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":43},"end":{"line":140,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":47},"end":{"line":140,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":51},"end":{"line":140,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":60},"end":{"line":140,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":64},"end":{"line":140,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":68},"end":{"line":140,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":77},"end":{"line":140,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":81},"end":{"line":140,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":45,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":85},"end":{"line":140,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":46,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":47,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":94},"end":{"line":140,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":48,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":49,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":98},"end":{"line":140,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":50,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":102},"end":{"line":140,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":51,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":52,"name":"c1","span":{"data":{"file_id":5,"beg":{"line":141,"col":12},"end":{"line":141,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":53,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":54,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":55,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":56,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":57,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":58,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":31},"end":{"line":141,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":59,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":60,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":37},"end":{"line":141,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":61,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":43},"end":{"line":141,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":62,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":63,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":47},"end":{"line":141,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":64,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":65,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":54},"end":{"line":141,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":66,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":67,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":60},"end":{"line":141,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":68,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":69,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":64},"end":{"line":141,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":70,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":68},"end":{"line":141,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":71,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":72,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":77},"end":{"line":141,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":73,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":74,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":81},"end":{"line":141,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":75,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":85},"end":{"line":141,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":76,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":77,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":94},"end":{"line":141,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":78,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":79,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":98},"end":{"line":141,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":80,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":102},"end":{"line":141,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":81,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":82,"name":"c2","span":{"data":{"file_id":5,"beg":{"line":142,"col":12},"end":{"line":142,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":83,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":84,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":85,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":86,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":87,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":88,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":31},"end":{"line":142,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":89,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":90,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":37},"end":{"line":142,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":91,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":43},"end":{"line":142,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":92,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":93,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":47},"end":{"line":142,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":94,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":95,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":54},"end":{"line":142,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":96,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":97,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":60},"end":{"line":142,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":98,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":99,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":64},"end":{"line":142,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":100,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":101,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":71},"end":{"line":142,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":102,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":103,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":77},"end":{"line":142,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":104,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":105,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":81},"end":{"line":142,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":106,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":85},"end":{"line":142,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":107,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":108,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":94},"end":{"line":142,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":109,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":110,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":98},"end":{"line":142,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":111,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":102},"end":{"line":142,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":112,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":113,"name":"c3","span":{"data":{"file_id":5,"beg":{"line":143,"col":12},"end":{"line":143,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":114,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":115,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":116,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":117,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":118,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":119,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":31},"end":{"line":143,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":120,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":121,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":37},"end":{"line":143,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":122,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":43},"end":{"line":143,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":123,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":124,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":47},"end":{"line":143,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":125,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":126,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":54},"end":{"line":143,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":127,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":128,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":60},"end":{"line":143,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":129,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":130,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":64},"end":{"line":143,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":131,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":132,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":71},"end":{"line":143,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":133,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":134,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":77},"end":{"line":143,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":135,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":136,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":81},"end":{"line":143,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":137,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":138,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":88},"end":{"line":143,"col":89}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":139,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":140,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":94},"end":{"line":143,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":141,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":142,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":98},"end":{"line":143,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":143,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":102},"end":{"line":143,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":144,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":145,"name":"c4","span":{"data":{"file_id":5,"beg":{"line":144,"col":12},"end":{"line":144,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":146,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":147,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":148,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":149,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":150,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":151,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":31},"end":{"line":144,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":152,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":153,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":37},"end":{"line":144,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":154,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":43},"end":{"line":144,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":155,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":156,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":47},"end":{"line":144,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":157,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":158,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":54},"end":{"line":144,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":159,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":160,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":60},"end":{"line":144,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":161,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":162,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":64},"end":{"line":144,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":163,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":164,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":71},"end":{"line":144,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":165,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":166,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":77},"end":{"line":144,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":167,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":168,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":81},"end":{"line":144,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":169,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":170,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":88},"end":{"line":144,"col":89}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":171,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":172,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":94},"end":{"line":144,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":173,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":174,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":98},"end":{"line":144,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":175,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":176,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":105},"end":{"line":144,"col":106}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":177,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":178,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":179,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":180,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":181,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":24},"end":{"line":158,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":182,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":29},"end":{"line":158,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":183,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":184,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":185,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":186,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":57},"end":{"line":158,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":187,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":62},"end":{"line":158,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":188,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":189,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":190,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":191,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":24},"end":{"line":159,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":192,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":29},"end":{"line":159,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":193,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":194,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":195,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":196,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":57},"end":{"line":159,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":197,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":62},"end":{"line":159,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":198,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":199,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":200,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":201,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":24},"end":{"line":160,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":202,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":29},"end":{"line":160,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":203,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":204,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":205,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":206,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":57},"end":{"line":160,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":207,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":62},"end":{"line":160,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":208,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":209,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":210,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":211,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":24},"end":{"line":161,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":212,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":29},"end":{"line":161,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":213,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":214,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":215,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":216,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":57},"end":{"line":161,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":217,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":62},"end":{"line":161,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":218,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":219,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":220,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":221,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":24},"end":{"line":162,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":222,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":29},"end":{"line":162,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":223,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":224,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":225,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":226,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":57},"end":{"line":162,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":227,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":62},"end":{"line":162,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":228,"name":"out","span":{"data":{"file_id":5,"beg":{"line":169,"col":12},"end":{"line":169,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":229,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":230,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":231,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":15},"end":{"line":171,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":232,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":16},"end":{"line":171,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":233,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":8},"end":{"line":171,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":234,"name":null,"span":{"data":{"file_id":5,"beg":{"line":172,"col":17},"end":{"line":172,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":235,"name":null,"span":{"data":{"file_id":5,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":236,"name":null,"span":{"data":{"file_id":5,"beg":{"line":172,"col":12},"end":{"line":172,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":237,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":238,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":239,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":15},"end":{"line":174,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":240,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":16},"end":{"line":174,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":241,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":8},"end":{"line":174,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":242,"name":null,"span":{"data":{"file_id":5,"beg":{"line":175,"col":17},"end":{"line":175,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":243,"name":null,"span":{"data":{"file_id":5,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":244,"name":null,"span":{"data":{"file_id":5,"beg":{"line":175,"col":12},"end":{"line":175,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":245,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":246,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":247,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":15},"end":{"line":177,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":248,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":16},"end":{"line":177,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":249,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":8},"end":{"line":177,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":250,"name":null,"span":{"data":{"file_id":5,"beg":{"line":178,"col":17},"end":{"line":178,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":251,"name":null,"span":{"data":{"file_id":5,"beg":{"line":178,"col":18},"end":{"line":178,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":252,"name":null,"span":{"data":{"file_id":5,"beg":{"line":178,"col":12},"end":{"line":178,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":253,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":254,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":255,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":15},"end":{"line":180,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":256,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":16},"end":{"line":180,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":257,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":8},"end":{"line":180,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":258,"name":null,"span":{"data":{"file_id":5,"beg":{"line":181,"col":17},"end":{"line":181,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":259,"name":null,"span":{"data":{"file_id":5,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":260,"name":null,"span":{"data":{"file_id":5,"beg":{"line":181,"col":12},"end":{"line":181,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":261,"name":"carry","span":{"data":{"file_id":5,"beg":{"line":183,"col":12},"end":{"line":183,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":262,"name":null,"span":{"data":{"file_id":5,"beg":{"line":183,"col":25},"end":{"line":183,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":263,"name":null,"span":{"data":{"file_id":5,"beg":{"line":183,"col":26},"end":{"line":183,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":264,"name":null,"span":{"data":{"file_id":5,"beg":{"line":184,"col":17},"end":{"line":184,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":265,"name":null,"span":{"data":{"file_id":5,"beg":{"line":184,"col":18},"end":{"line":184,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":266,"name":null,"span":{"data":{"file_id":5,"beg":{"line":184,"col":12},"end":{"line":184,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":267,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":268,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":269,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":270,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":12},"end":{"line":201,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":271,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":272,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":273,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":274,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":22},"end":{"line":204,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":275,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":12},"end":{"line":204,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":276,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":277,"name":null,"span":{"data":{"file_id":5,"beg":{"line":205,"col":12},"end":{"line":205,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":278,"name":null,"span":{"data":{"file_id":5,"beg":{"line":208,"col":23},"end":{"line":208,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":279,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":280,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":281,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":282,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":283,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":284,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":285,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":286,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":287,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":288,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":289,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":290,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":291,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":292,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":293,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":294,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":295,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":296,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":297,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":298,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":299,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":300,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":301,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":302,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":303,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":304,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":305,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":306,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":307,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":308,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":309,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":310,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":311,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":312,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":313,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":314,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":315,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":316,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":317,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":318,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":319,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":320,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":321,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":322,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":323,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":324,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":325,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":326,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":327,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":328,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":329,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":330,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":331,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":332,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":333,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":334,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":335,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":336,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":337,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":338,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":339,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":340,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":341,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":342,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":343,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":344,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":345,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":346,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":347,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":348,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":349,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":350,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":351,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":352,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":353,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":354,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":355,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":356,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":357,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":358,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":359,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":360,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":361,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":362,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":363,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":364,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":365,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":366,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":367,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":368,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":369,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":370,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":371,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":372,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":373,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":374,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":375,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":376,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":377,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":378,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":379,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":380,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":381,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":382,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":383,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":384,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":385,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":386,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":387,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":388,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":389,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":390,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":391,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":392,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":393,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":394,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":395,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":396,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":397,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":398,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":399,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":400,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":401,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":402,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":403,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":404,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":405,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":406,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":407,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":408,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":409,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":410,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":411,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":144,"col":109}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":922,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":924,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":926,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":928,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":932,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":934,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":936,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":938,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":943,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":945,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":947,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":949,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":954,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":957,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":959,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":961,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":966,"kind":{"StorageLive":127},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":969,"kind":{"StorageLive":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":972,"kind":{"StorageLive":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":974,"kind":{"StorageLive":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":979,"kind":{"StorageLive":159},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":982,"kind":{"StorageLive":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":985,"kind":{"StorageLive":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":988,"kind":{"StorageLive":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1021,"kind":{"StorageLive":233},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1025,"kind":{"StorageLive":241},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1029,"kind":{"StorageLive":249},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1033,"kind":{"StorageLive":257},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1038,"kind":{"StorageLive":269},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1040,"kind":{"StorageLive":271},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1045,"kind":{"StorageLive":276},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1047,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":1048,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":1049,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":3743}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["/ Helper function to multiply two 64-bit integers with 128","/ bits of output.","Alias self, _rhs for more readable formulas"]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":1050,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":3743}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":34},"end":{"line":118,"col":35}},"generated_from_span":null},"id":1051,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":12},"end":{"line":119,"col":13}},"generated_from_span":null},"id":1052,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":27},"end":{"line":119,"col":34}},"generated_from_span":null},"id":1053,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":27},"end":{"line":119,"col":34}},"generated_from_span":null},"id":1054,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3745}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":27},"end":{"line":119,"col":34}},"generated_from_span":null},"id":1055,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":3745}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":34},"end":{"line":119,"col":35}},"generated_from_span":null},"id":1056,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":12},"end":{"line":134,"col":17}},"generated_from_span":null},"id":1057,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":1058,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":22},"end":{"line":134,"col":23}},"generated_from_span":null},"id":1059,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":22},"end":{"line":134,"col":23}},"generated_from_span":null},"id":1060,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Precondition: assume input limbs a[i], b[i] are bounded as","","a[i], b[i] < 2^(51 + b)","","where b is a real parameter measuring the \"bit excess\" of the limbs.","64-bit precomputations to avoid 128-bit multiplications.","","This fits into a u64 whenever 51 + b + lg(19) < 64.","","Since 51 + b + lg(19) < 51 + 4.25 + b"," = 55.25 + b,","this fits if b < 8.75."]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":8732,"kind":{"StorageLive":300},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":8733,"kind":{"Assign":[{"kind":{"Local":300},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":8734,"kind":{"StorageLive":301},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":8735,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":300},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":301},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":1063,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":301},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":29}},"generated_from_span":null},"id":1064,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":29}},"generated_from_span":null},"id":1066,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":28},"end":{"line":134,"col":29}},"generated_from_span":null},"id":1067,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":29},"end":{"line":134,"col":30}},"generated_from_span":null},"id":1068,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":12},"end":{"line":135,"col":17}},"generated_from_span":null},"id":1069,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":1070,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":22},"end":{"line":135,"col":23}},"generated_from_span":null},"id":1071,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":22},"end":{"line":135,"col":23}},"generated_from_span":null},"id":1072,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":8736,"kind":{"StorageLive":302},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":8737,"kind":{"Assign":[{"kind":{"Local":302},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":8738,"kind":{"StorageLive":303},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":8739,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":302},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":303},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":1075,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":303},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":29}},"generated_from_span":null},"id":1076,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":29}},"generated_from_span":null},"id":1078,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":28},"end":{"line":135,"col":29}},"generated_from_span":null},"id":1079,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":29},"end":{"line":135,"col":30}},"generated_from_span":null},"id":1080,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":12},"end":{"line":136,"col":17}},"generated_from_span":null},"id":1081,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":1082,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":22},"end":{"line":136,"col":23}},"generated_from_span":null},"id":1083,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":22},"end":{"line":136,"col":23}},"generated_from_span":null},"id":1084,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":8740,"kind":{"StorageLive":304},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":8741,"kind":{"Assign":[{"kind":{"Local":304},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":8742,"kind":{"StorageLive":305},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":8743,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":304},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":305},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":1087,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":305},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":29}},"generated_from_span":null},"id":1088,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":29}},"generated_from_span":null},"id":1090,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":28},"end":{"line":136,"col":29}},"generated_from_span":null},"id":1091,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":29},"end":{"line":136,"col":30}},"generated_from_span":null},"id":1092,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":12},"end":{"line":137,"col":17}},"generated_from_span":null},"id":1093,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":1094,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":22},"end":{"line":137,"col":23}},"generated_from_span":null},"id":1095,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":22},"end":{"line":137,"col":23}},"generated_from_span":null},"id":1096,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":8744,"kind":{"StorageLive":306},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":8745,"kind":{"Assign":[{"kind":{"Local":306},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":8746,"kind":{"StorageLive":307},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":8747,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":306},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":307},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":1099,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":307},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":29}},"generated_from_span":null},"id":1100,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":29}},"generated_from_span":null},"id":1102,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":28},"end":{"line":137,"col":29}},"generated_from_span":null},"id":1103,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":29},"end":{"line":137,"col":30}},"generated_from_span":null},"id":1104,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":16},"end":{"line":140,"col":18}},"generated_from_span":null},"id":1105,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1106,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1107,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1108,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":40}},"generated_from_span":null},"id":1109,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":1110,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"id":1111,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"id":1112,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Multiply to get 128-bit coefficients of output"]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":8748,"kind":{"StorageLive":308},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":8749,"kind":{"Assign":[{"kind":{"Local":308},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":8750,"kind":{"StorageLive":309},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":8751,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":308},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":309},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":1115,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":309},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":1116,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":37},"end":{"line":140,"col":38}},"generated_from_span":null},"id":1117,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":37},"end":{"line":140,"col":38}},"generated_from_span":null},"id":1118,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":8752,"kind":{"StorageLive":310},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":8753,"kind":{"Assign":[{"kind":{"Local":310},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":8754,"kind":{"StorageLive":311},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":8755,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":310},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":311},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":1121,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":311},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":40}},"generated_from_span":null},"id":1122,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":39},"end":{"line":140,"col":40}},"generated_from_span":null},"id":1123,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":39},"end":{"line":140,"col":40}},"generated_from_span":null},"id":1124,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":43},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1125,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":1126,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":47},"end":{"line":140,"col":48}},"generated_from_span":null},"id":1127,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":47},"end":{"line":140,"col":48}},"generated_from_span":null},"id":1128,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":8756,"kind":{"StorageLive":312},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":8757,"kind":{"Assign":[{"kind":{"Local":312},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":8758,"kind":{"StorageLive":313},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":8759,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":312},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":313},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":1131,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":313},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":51},"end":{"line":140,"col":56}},"generated_from_span":null},"id":1132,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":51},"end":{"line":140,"col":56}},"generated_from_span":null},"id":1133,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":43},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1134,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":56},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1135,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":56},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1136,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1137,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":32},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1139,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":56},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1140,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":56},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1141,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":60},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1142,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":1143,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":64},"end":{"line":140,"col":65}},"generated_from_span":null},"id":1144,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":64},"end":{"line":140,"col":65}},"generated_from_span":null},"id":1145,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":8760,"kind":{"StorageLive":314},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":8761,"kind":{"Assign":[{"kind":{"Local":314},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":8762,"kind":{"StorageLive":315},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":8763,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":314},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":315},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":1148,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":315},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":68},"end":{"line":140,"col":73}},"generated_from_span":null},"id":1149,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":68},"end":{"line":140,"col":73}},"generated_from_span":null},"id":1150,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":60},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1151,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":37},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":73},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1152,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":73},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1153,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1154,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1156,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":73},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1157,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":73},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1158,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":77},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1159,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":1160,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":81},"end":{"line":140,"col":82}},"generated_from_span":null},"id":1161,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":81},"end":{"line":140,"col":82}},"generated_from_span":null},"id":1162,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":8764,"kind":{"StorageLive":316},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":8765,"kind":{"Assign":[{"kind":{"Local":316},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":8766,"kind":{"StorageLive":317},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":8767,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":316},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":44},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":317},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":1165,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":317},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":85},"end":{"line":140,"col":90}},"generated_from_span":null},"id":1166,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":85},"end":{"line":140,"col":90}},"generated_from_span":null},"id":1167,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":77},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1168,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":42},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":90},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1169,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":90},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1170,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1171,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1173,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":90},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1174,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":90},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1175,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":94},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1176,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":1177,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":98},"end":{"line":140,"col":99}},"generated_from_span":null},"id":1178,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":98},"end":{"line":140,"col":99}},"generated_from_span":null},"id":1179,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":8768,"kind":{"StorageLive":318},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":8769,"kind":{"Assign":[{"kind":{"Local":318},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":8770,"kind":{"StorageLive":319},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":8771,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":318},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":49},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":319},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":1182,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":319},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":102},"end":{"line":140,"col":107}},"generated_from_span":null},"id":1183,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":102},"end":{"line":140,"col":107}},"generated_from_span":null},"id":1184,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":94},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1185,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":107},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1186,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":107},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1187,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1188,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":24},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":47},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1190,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":107},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1191,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":107},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1192,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1193,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1194,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1195,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1196,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1197,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1198,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":12},"end":{"line":141,"col":18}},"generated_from_span":null},"id":1199,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1200,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1201,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1202,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":40}},"generated_from_span":null},"id":1203,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":1204,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":31},"end":{"line":141,"col":32}},"generated_from_span":null},"id":1205,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":31},"end":{"line":141,"col":32}},"generated_from_span":null},"id":1206,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":8772,"kind":{"StorageLive":320},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":8773,"kind":{"Assign":[{"kind":{"Local":320},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":8774,"kind":{"StorageLive":321},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":8775,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":320},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":321},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":1209,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":321},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":1210,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":37},"end":{"line":141,"col":38}},"generated_from_span":null},"id":1211,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":37},"end":{"line":141,"col":38}},"generated_from_span":null},"id":1212,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":8776,"kind":{"StorageLive":322},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":8777,"kind":{"Assign":[{"kind":{"Local":322},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":8778,"kind":{"StorageLive":323},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":8779,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":322},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":60},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":323},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":1215,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":323},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":40}},"generated_from_span":null},"id":1216,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":39},"end":{"line":141,"col":40}},"generated_from_span":null},"id":1217,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":39},"end":{"line":141,"col":40}},"generated_from_span":null},"id":1218,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":43},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1219,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":1220,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":47},"end":{"line":141,"col":48}},"generated_from_span":null},"id":1221,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":47},"end":{"line":141,"col":48}},"generated_from_span":null},"id":1222,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":8780,"kind":{"StorageLive":324},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":8781,"kind":{"Assign":[{"kind":{"Local":324},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":8782,"kind":{"StorageLive":325},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":8783,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":324},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":325},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":1225,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":325},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":1226,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":54},"end":{"line":141,"col":55}},"generated_from_span":null},"id":1227,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":54},"end":{"line":141,"col":55}},"generated_from_span":null},"id":1228,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":8784,"kind":{"StorageLive":326},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":8785,"kind":{"Assign":[{"kind":{"Local":326},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":8786,"kind":{"StorageLive":327},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":8787,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":326},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":327},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":1231,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":327},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":43},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1232,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":56},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1233,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":56},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1234,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1235,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":56},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":61},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1237,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":56},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1238,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":56},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1239,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":60},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1240,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":1241,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":64},"end":{"line":141,"col":65}},"generated_from_span":null},"id":1242,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":64},"end":{"line":141,"col":65}},"generated_from_span":null},"id":1243,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":8788,"kind":{"StorageLive":328},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":8789,"kind":{"Assign":[{"kind":{"Local":328},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":8790,"kind":{"StorageLive":329},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":8791,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":328},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":69},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":329},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":1246,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":329},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":68},"end":{"line":141,"col":73}},"generated_from_span":null},"id":1247,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":68},"end":{"line":141,"col":73}},"generated_from_span":null},"id":1248,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":60},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1249,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":70},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":73},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1250,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":73},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1251,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1252,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":55},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":67},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1254,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":73},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1255,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":73},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1256,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":77},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1257,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":1258,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":81},"end":{"line":141,"col":82}},"generated_from_span":null},"id":1259,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":81},"end":{"line":141,"col":82}},"generated_from_span":null},"id":1260,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":8792,"kind":{"StorageLive":330},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":8793,"kind":{"Assign":[{"kind":{"Local":330},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":8794,"kind":{"StorageLive":331},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":8795,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":330},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":74},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":331},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":1263,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":331},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":85},"end":{"line":141,"col":90}},"generated_from_span":null},"id":1264,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":85},"end":{"line":141,"col":90}},"generated_from_span":null},"id":1265,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":77},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1266,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":72},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":90},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1267,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":90},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1268,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1269,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":72},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1271,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":90},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1272,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":90},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1273,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":94},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1274,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":1275,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":98},"end":{"line":141,"col":99}},"generated_from_span":null},"id":1276,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":98},"end":{"line":141,"col":99}},"generated_from_span":null},"id":1277,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":8796,"kind":{"StorageLive":332},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":8797,"kind":{"Assign":[{"kind":{"Local":332},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":8798,"kind":{"StorageLive":333},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":8799,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":332},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":79},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":333},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":1280,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":333},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":102},"end":{"line":141,"col":107}},"generated_from_span":null},"id":1281,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":102},"end":{"line":141,"col":107}},"generated_from_span":null},"id":1282,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":94},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1283,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":78},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":80},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":77},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":107},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1284,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":107},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1285,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1286,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":77},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1288,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":107},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1289,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":107},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1290,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1291,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1292,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1293,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1294,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1295,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1296,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1297,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":12},"end":{"line":142,"col":18}},"generated_from_span":null},"id":1298,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1299,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1300,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1301,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":40}},"generated_from_span":null},"id":1302,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":1303,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":31},"end":{"line":142,"col":32}},"generated_from_span":null},"id":1304,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":31},"end":{"line":142,"col":32}},"generated_from_span":null},"id":1305,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":8800,"kind":{"StorageLive":334},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":8801,"kind":{"Assign":[{"kind":{"Local":334},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":8802,"kind":{"StorageLive":335},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":8803,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":334},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":88},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":335},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":1308,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":335},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":1309,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":37},"end":{"line":142,"col":38}},"generated_from_span":null},"id":1310,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":37},"end":{"line":142,"col":38}},"generated_from_span":null},"id":1311,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":8804,"kind":{"StorageLive":336},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":8805,"kind":{"Assign":[{"kind":{"Local":336},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":8806,"kind":{"StorageLive":337},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":8807,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":336},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":90},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":337},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":1314,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":337},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":40}},"generated_from_span":null},"id":1315,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":87},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":89},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":86},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":39},"end":{"line":142,"col":40}},"generated_from_span":null},"id":1316,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":39},"end":{"line":142,"col":40}},"generated_from_span":null},"id":1317,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":43},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1318,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":1319,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":47},"end":{"line":142,"col":48}},"generated_from_span":null},"id":1320,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":47},"end":{"line":142,"col":48}},"generated_from_span":null},"id":1321,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":8808,"kind":{"StorageLive":338},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":8809,"kind":{"Assign":[{"kind":{"Local":338},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":8810,"kind":{"StorageLive":339},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":8811,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":338},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":339},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":1324,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":339},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":1325,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":54},"end":{"line":142,"col":55}},"generated_from_span":null},"id":1326,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":54},"end":{"line":142,"col":55}},"generated_from_span":null},"id":1327,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":8812,"kind":{"StorageLive":340},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":8813,"kind":{"Assign":[{"kind":{"Local":340},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":8814,"kind":{"StorageLive":341},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":8815,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":340},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":95},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":341},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":1330,"kind":{"Assign":[{"kind":{"Local":94},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":341},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":43},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1331,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":92},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":94},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":91},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":56},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1332,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":56},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1333,"kind":{"StorageDead":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1334,"kind":{"Assign":[{"kind":{"Local":96},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":86},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":91},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1336,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":96},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":56},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1337,"kind":{"StorageDead":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":56},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1338,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":60},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1339,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":1340,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":64},"end":{"line":142,"col":65}},"generated_from_span":null},"id":1341,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":64},"end":{"line":142,"col":65}},"generated_from_span":null},"id":1342,"kind":{"Assign":[{"kind":{"Local":99},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":8816,"kind":{"StorageLive":342},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":8817,"kind":{"Assign":[{"kind":{"Local":342},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":8818,"kind":{"StorageLive":343},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":8819,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":342},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":99},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":343},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":1345,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":343},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":1346,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":71},"end":{"line":142,"col":72}},"generated_from_span":null},"id":1347,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":71},"end":{"line":142,"col":72}},"generated_from_span":null},"id":1348,"kind":{"Assign":[{"kind":{"Local":101},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":8820,"kind":{"StorageLive":344},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":8821,"kind":{"Assign":[{"kind":{"Local":344},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":8822,"kind":{"StorageLive":345},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":8823,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":344},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":101},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":345},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":1351,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":345},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":60},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1352,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":98},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":100},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":97},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":73},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1353,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":73},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1354,"kind":{"StorageDead":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1355,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":85},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":97},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1357,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":102},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":73},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1358,"kind":{"StorageDead":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":73},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1359,"kind":{"StorageDead":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":77},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1360,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":1361,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":81},"end":{"line":142,"col":82}},"generated_from_span":null},"id":1362,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":81},"end":{"line":142,"col":82}},"generated_from_span":null},"id":1363,"kind":{"Assign":[{"kind":{"Local":105},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":8824,"kind":{"StorageLive":346},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":8825,"kind":{"Assign":[{"kind":{"Local":346},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":8826,"kind":{"StorageLive":347},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":8827,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":346},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":105},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":347},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":1366,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":347},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":85},"end":{"line":142,"col":90}},"generated_from_span":null},"id":1367,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":85},"end":{"line":142,"col":90}},"generated_from_span":null},"id":1368,"kind":{"Assign":[{"kind":{"Local":106},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":77},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1369,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":104},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":106},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":103},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1370,"kind":{"StorageDead":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1371,"kind":{"StorageDead":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1372,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":84},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":103},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1374,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":107},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1375,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1376,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":94},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1377,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":1378,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":98},"end":{"line":142,"col":99}},"generated_from_span":null},"id":1379,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":98},"end":{"line":142,"col":99}},"generated_from_span":null},"id":1380,"kind":{"Assign":[{"kind":{"Local":110},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":8828,"kind":{"StorageLive":348},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":8829,"kind":{"Assign":[{"kind":{"Local":348},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":8830,"kind":{"StorageLive":349},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":8831,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":348},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":110},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":349},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":1383,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":349},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":102},"end":{"line":142,"col":107}},"generated_from_span":null},"id":1384,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":102},"end":{"line":142,"col":107}},"generated_from_span":null},"id":1385,"kind":{"Assign":[{"kind":{"Local":111},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":94},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1386,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":111},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":108},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":107},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1387,"kind":{"StorageDead":111},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":107},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1388,"kind":{"StorageDead":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1389,"kind":{"Assign":[{"kind":{"Local":112},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":83},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":108},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1391,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":112},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":107},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1392,"kind":{"StorageDead":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":107},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1393,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1394,"kind":{"StorageDead":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1395,"kind":{"StorageDead":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1396,"kind":{"StorageDead":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1397,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1398,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1399,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1400,"kind":{"StorageDead":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1401,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":12},"end":{"line":143,"col":18}},"generated_from_span":null},"id":1402,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1403,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1404,"kind":{"StorageLive":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1405,"kind":{"StorageLive":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":40}},"generated_from_span":null},"id":1406,"kind":{"StorageLive":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":1407,"kind":{"StorageLive":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":31},"end":{"line":143,"col":32}},"generated_from_span":null},"id":1408,"kind":{"StorageLive":119},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":31},"end":{"line":143,"col":32}},"generated_from_span":null},"id":1409,"kind":{"Assign":[{"kind":{"Local":119},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":8832,"kind":{"StorageLive":350},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":8833,"kind":{"Assign":[{"kind":{"Local":350},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":8834,"kind":{"StorageLive":351},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":8835,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":350},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":119},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":351},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":1412,"kind":{"Assign":[{"kind":{"Local":118},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":351},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":1413,"kind":{"StorageLive":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":37},"end":{"line":143,"col":38}},"generated_from_span":null},"id":1414,"kind":{"StorageLive":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":37},"end":{"line":143,"col":38}},"generated_from_span":null},"id":1415,"kind":{"Assign":[{"kind":{"Local":121},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":8836,"kind":{"StorageLive":352},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":8837,"kind":{"Assign":[{"kind":{"Local":352},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":8838,"kind":{"StorageLive":353},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":8839,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":352},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":121},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":353},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":1418,"kind":{"Assign":[{"kind":{"Local":120},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":353},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":40}},"generated_from_span":null},"id":1419,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":118},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":120},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":117},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":39},"end":{"line":143,"col":40}},"generated_from_span":null},"id":1420,"kind":{"StorageDead":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":39},"end":{"line":143,"col":40}},"generated_from_span":null},"id":1421,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":43},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1422,"kind":{"StorageLive":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":1423,"kind":{"StorageLive":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":47},"end":{"line":143,"col":48}},"generated_from_span":null},"id":1424,"kind":{"StorageLive":124},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":47},"end":{"line":143,"col":48}},"generated_from_span":null},"id":1425,"kind":{"Assign":[{"kind":{"Local":124},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":8840,"kind":{"StorageLive":354},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":8841,"kind":{"Assign":[{"kind":{"Local":354},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":8842,"kind":{"StorageLive":355},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":8843,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":354},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":124},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":355},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":1428,"kind":{"Assign":[{"kind":{"Local":123},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":355},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":1429,"kind":{"StorageLive":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":54},"end":{"line":143,"col":55}},"generated_from_span":null},"id":1430,"kind":{"StorageLive":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":54},"end":{"line":143,"col":55}},"generated_from_span":null},"id":1431,"kind":{"Assign":[{"kind":{"Local":126},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":8844,"kind":{"StorageLive":356},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":8845,"kind":{"Assign":[{"kind":{"Local":356},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":8846,"kind":{"StorageLive":357},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":8847,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":356},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":126},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":357},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":1434,"kind":{"Assign":[{"kind":{"Local":125},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":357},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":43},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1435,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":123},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":125},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":122},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":56},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1436,"kind":{"StorageDead":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":56},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1437,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1438,"kind":{"Assign":[{"kind":{"Local":127},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":117},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":122},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1440,"kind":{"Assign":[{"kind":{"Local":116},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":127},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":56},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1441,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":56},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1442,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":60},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1443,"kind":{"StorageLive":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":1444,"kind":{"StorageLive":129},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":64},"end":{"line":143,"col":65}},"generated_from_span":null},"id":1445,"kind":{"StorageLive":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":64},"end":{"line":143,"col":65}},"generated_from_span":null},"id":1446,"kind":{"Assign":[{"kind":{"Local":130},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":8848,"kind":{"StorageLive":358},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":8849,"kind":{"Assign":[{"kind":{"Local":358},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":8850,"kind":{"StorageLive":359},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":8851,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":358},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":130},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":359},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":1449,"kind":{"Assign":[{"kind":{"Local":129},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":359},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":1450,"kind":{"StorageLive":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":71},"end":{"line":143,"col":72}},"generated_from_span":null},"id":1451,"kind":{"StorageLive":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":71},"end":{"line":143,"col":72}},"generated_from_span":null},"id":1452,"kind":{"Assign":[{"kind":{"Local":132},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":8852,"kind":{"StorageLive":360},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":8853,"kind":{"Assign":[{"kind":{"Local":360},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":8854,"kind":{"StorageLive":361},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":8855,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":360},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":132},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":361},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":1455,"kind":{"Assign":[{"kind":{"Local":131},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":361},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":60},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1456,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":129},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":131},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":128},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":73},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1457,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":73},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1458,"kind":{"StorageDead":129},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1459,"kind":{"Assign":[{"kind":{"Local":133},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":116},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":128},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1461,"kind":{"Assign":[{"kind":{"Local":115},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":133},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":73},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1462,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":73},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1463,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":77},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1464,"kind":{"StorageLive":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":1465,"kind":{"StorageLive":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":81},"end":{"line":143,"col":82}},"generated_from_span":null},"id":1466,"kind":{"StorageLive":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":81},"end":{"line":143,"col":82}},"generated_from_span":null},"id":1467,"kind":{"Assign":[{"kind":{"Local":136},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":8856,"kind":{"StorageLive":362},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":8857,"kind":{"Assign":[{"kind":{"Local":362},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":8858,"kind":{"StorageLive":363},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":8859,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":362},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":136},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":363},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":1470,"kind":{"Assign":[{"kind":{"Local":135},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":363},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":1471,"kind":{"StorageLive":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":88},"end":{"line":143,"col":89}},"generated_from_span":null},"id":1472,"kind":{"StorageLive":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":88},"end":{"line":143,"col":89}},"generated_from_span":null},"id":1473,"kind":{"Assign":[{"kind":{"Local":138},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":8860,"kind":{"StorageLive":364},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":8861,"kind":{"Assign":[{"kind":{"Local":364},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":8862,"kind":{"StorageLive":365},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":8863,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":364},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":138},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":365},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":1476,"kind":{"Assign":[{"kind":{"Local":137},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":365},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":77},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1477,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":135},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":137},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":134},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":90},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1478,"kind":{"StorageDead":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":90},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1479,"kind":{"StorageDead":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1480,"kind":{"Assign":[{"kind":{"Local":139},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":115},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":134},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1482,"kind":{"Assign":[{"kind":{"Local":114},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":139},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":90},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1483,"kind":{"StorageDead":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":90},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1484,"kind":{"StorageDead":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":94},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1485,"kind":{"StorageLive":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":1486,"kind":{"StorageLive":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":98},"end":{"line":143,"col":99}},"generated_from_span":null},"id":1487,"kind":{"StorageLive":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":98},"end":{"line":143,"col":99}},"generated_from_span":null},"id":1488,"kind":{"Assign":[{"kind":{"Local":142},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":8864,"kind":{"StorageLive":366},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":8865,"kind":{"Assign":[{"kind":{"Local":366},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":8866,"kind":{"StorageLive":367},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":8867,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":366},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":142},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":367},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":1491,"kind":{"Assign":[{"kind":{"Local":141},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":367},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":102},"end":{"line":143,"col":107}},"generated_from_span":null},"id":1492,"kind":{"StorageLive":143},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":102},"end":{"line":143,"col":107}},"generated_from_span":null},"id":1493,"kind":{"Assign":[{"kind":{"Local":143},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":94},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1494,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":141},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":143},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":140},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":107},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1495,"kind":{"StorageDead":143},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":107},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1496,"kind":{"StorageDead":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1497,"kind":{"Assign":[{"kind":{"Local":144},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":114},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":140},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1499,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":144},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":107},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1500,"kind":{"StorageDead":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":107},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1501,"kind":{"StorageDead":114},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1502,"kind":{"StorageDead":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1503,"kind":{"StorageDead":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1504,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1505,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1506,"kind":{"StorageDead":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1507,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1508,"kind":{"StorageDead":124},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1509,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1510,"kind":{"StorageDead":119},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":12},"end":{"line":144,"col":18}},"generated_from_span":null},"id":1511,"kind":{"StorageLive":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1512,"kind":{"StorageLive":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1513,"kind":{"StorageLive":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1514,"kind":{"StorageLive":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":40}},"generated_from_span":null},"id":1515,"kind":{"StorageLive":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":1516,"kind":{"StorageLive":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":31},"end":{"line":144,"col":32}},"generated_from_span":null},"id":1517,"kind":{"StorageLive":151},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":31},"end":{"line":144,"col":32}},"generated_from_span":null},"id":1518,"kind":{"Assign":[{"kind":{"Local":151},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":8868,"kind":{"StorageLive":368},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":8869,"kind":{"Assign":[{"kind":{"Local":368},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":8870,"kind":{"StorageLive":369},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":8871,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":368},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":151},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":369},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":1521,"kind":{"Assign":[{"kind":{"Local":150},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":369},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":1522,"kind":{"StorageLive":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":37},"end":{"line":144,"col":38}},"generated_from_span":null},"id":1523,"kind":{"StorageLive":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":37},"end":{"line":144,"col":38}},"generated_from_span":null},"id":1524,"kind":{"Assign":[{"kind":{"Local":153},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":8872,"kind":{"StorageLive":370},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":8873,"kind":{"Assign":[{"kind":{"Local":370},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":8874,"kind":{"StorageLive":371},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":8875,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":370},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":153},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":371},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":1527,"kind":{"Assign":[{"kind":{"Local":152},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":371},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":40}},"generated_from_span":null},"id":1528,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":150},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":152},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":149},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":39},"end":{"line":144,"col":40}},"generated_from_span":null},"id":1529,"kind":{"StorageDead":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":39},"end":{"line":144,"col":40}},"generated_from_span":null},"id":1530,"kind":{"StorageDead":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":43},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1531,"kind":{"StorageLive":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":1532,"kind":{"StorageLive":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":47},"end":{"line":144,"col":48}},"generated_from_span":null},"id":1533,"kind":{"StorageLive":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":47},"end":{"line":144,"col":48}},"generated_from_span":null},"id":1534,"kind":{"Assign":[{"kind":{"Local":156},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":8876,"kind":{"StorageLive":372},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":8877,"kind":{"Assign":[{"kind":{"Local":372},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":8878,"kind":{"StorageLive":373},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":8879,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":372},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":156},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":373},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":1537,"kind":{"Assign":[{"kind":{"Local":155},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":373},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":1538,"kind":{"StorageLive":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":54},"end":{"line":144,"col":55}},"generated_from_span":null},"id":1539,"kind":{"StorageLive":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":54},"end":{"line":144,"col":55}},"generated_from_span":null},"id":1540,"kind":{"Assign":[{"kind":{"Local":158},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":8880,"kind":{"StorageLive":374},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":8881,"kind":{"Assign":[{"kind":{"Local":374},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":8882,"kind":{"StorageLive":375},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":8883,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":374},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":158},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":375},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":1543,"kind":{"Assign":[{"kind":{"Local":157},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":375},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":43},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1544,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":155},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":157},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":154},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":56},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1545,"kind":{"StorageDead":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":56},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1546,"kind":{"StorageDead":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1547,"kind":{"Assign":[{"kind":{"Local":159},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":149},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":154},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1549,"kind":{"Assign":[{"kind":{"Local":148},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":159},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":56},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1550,"kind":{"StorageDead":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":56},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1551,"kind":{"StorageDead":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":60},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1552,"kind":{"StorageLive":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":1553,"kind":{"StorageLive":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":64},"end":{"line":144,"col":65}},"generated_from_span":null},"id":1554,"kind":{"StorageLive":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":64},"end":{"line":144,"col":65}},"generated_from_span":null},"id":1555,"kind":{"Assign":[{"kind":{"Local":162},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":8884,"kind":{"StorageLive":376},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":8885,"kind":{"Assign":[{"kind":{"Local":376},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":8886,"kind":{"StorageLive":377},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":8887,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":376},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":162},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":377},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":1558,"kind":{"Assign":[{"kind":{"Local":161},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":377},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":1559,"kind":{"StorageLive":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":71},"end":{"line":144,"col":72}},"generated_from_span":null},"id":1560,"kind":{"StorageLive":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":71},"end":{"line":144,"col":72}},"generated_from_span":null},"id":1561,"kind":{"Assign":[{"kind":{"Local":164},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":8888,"kind":{"StorageLive":378},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":8889,"kind":{"Assign":[{"kind":{"Local":378},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":8890,"kind":{"StorageLive":379},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":8891,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":378},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":164},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":379},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":1564,"kind":{"Assign":[{"kind":{"Local":163},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":379},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":60},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1565,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":161},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":163},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":160},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":73},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1566,"kind":{"StorageDead":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":73},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1567,"kind":{"StorageDead":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1568,"kind":{"Assign":[{"kind":{"Local":165},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":148},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":160},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1570,"kind":{"Assign":[{"kind":{"Local":147},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":165},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":73},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1571,"kind":{"StorageDead":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":73},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1572,"kind":{"StorageDead":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":77},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1573,"kind":{"StorageLive":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":1574,"kind":{"StorageLive":167},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":81},"end":{"line":144,"col":82}},"generated_from_span":null},"id":1575,"kind":{"StorageLive":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":81},"end":{"line":144,"col":82}},"generated_from_span":null},"id":1576,"kind":{"Assign":[{"kind":{"Local":168},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":8892,"kind":{"StorageLive":380},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":8893,"kind":{"Assign":[{"kind":{"Local":380},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":8894,"kind":{"StorageLive":381},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":8895,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":380},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":168},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":381},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":1579,"kind":{"Assign":[{"kind":{"Local":167},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":381},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":1580,"kind":{"StorageLive":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":88},"end":{"line":144,"col":89}},"generated_from_span":null},"id":1581,"kind":{"StorageLive":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":88},"end":{"line":144,"col":89}},"generated_from_span":null},"id":1582,"kind":{"Assign":[{"kind":{"Local":170},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":8896,"kind":{"StorageLive":382},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":8897,"kind":{"Assign":[{"kind":{"Local":382},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":8898,"kind":{"StorageLive":383},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":8899,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":382},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":170},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":383},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":1585,"kind":{"Assign":[{"kind":{"Local":169},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":383},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":77},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1586,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":167},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":169},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":166},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":90},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1587,"kind":{"StorageDead":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":90},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1588,"kind":{"StorageDead":167},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1589,"kind":{"Assign":[{"kind":{"Local":171},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":147},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":166},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1591,"kind":{"Assign":[{"kind":{"Local":146},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":171},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":90},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1592,"kind":{"StorageDead":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":90},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1593,"kind":{"StorageDead":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":94},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1594,"kind":{"StorageLive":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":1595,"kind":{"StorageLive":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":98},"end":{"line":144,"col":99}},"generated_from_span":null},"id":1596,"kind":{"StorageLive":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":98},"end":{"line":144,"col":99}},"generated_from_span":null},"id":1597,"kind":{"Assign":[{"kind":{"Local":174},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":8900,"kind":{"StorageLive":384},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":8901,"kind":{"Assign":[{"kind":{"Local":384},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":8902,"kind":{"StorageLive":385},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":8903,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":384},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":174},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":385},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":1600,"kind":{"Assign":[{"kind":{"Local":173},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":385},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":1601,"kind":{"StorageLive":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":105},"end":{"line":144,"col":106}},"generated_from_span":null},"id":1602,"kind":{"StorageLive":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":105},"end":{"line":144,"col":106}},"generated_from_span":null},"id":1603,"kind":{"Assign":[{"kind":{"Local":176},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":8904,"kind":{"StorageLive":386},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":8905,"kind":{"Assign":[{"kind":{"Local":386},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":8906,"kind":{"StorageLive":387},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":8907,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":386},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":176},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":387},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":1606,"kind":{"Assign":[{"kind":{"Local":175},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":387},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":94},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1607,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":173},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":175},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":172},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":107},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1608,"kind":{"StorageDead":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":107},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1609,"kind":{"StorageDead":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1610,"kind":{"Assign":[{"kind":{"Local":177},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":146},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":172},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1612,"kind":{"Assign":[{"kind":{"Local":145},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":177},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":107},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1613,"kind":{"StorageDead":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":107},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1614,"kind":{"StorageDead":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1615,"kind":{"StorageDead":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1616,"kind":{"StorageDead":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1617,"kind":{"StorageDead":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1618,"kind":{"StorageDead":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1619,"kind":{"StorageDead":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1620,"kind":{"StorageDead":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1621,"kind":{"StorageDead":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1622,"kind":{"StorageDead":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1623,"kind":{"StorageDead":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1624,"kind":{"StorageDead":151},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1626,"kind":{"StorageLive":178},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1627,"kind":{"Assign":[{"kind":{"Local":178},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":["How big are the c[i]? We have",""," c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)"," < 2^(102 + lg(1 + 4*19) + 2*b)"," < 2^(108.27 + 2*b)","","The carry (c[i] >> 51) fits into a u64 when"," 108.27 + 2*b - 51 < 64"," 2*b < 6.73"," b < 3.365.","","So we require b < 3 to ensure this fits.","Casting to u64 and back tells the compiler that the carry is","bounded by 2^64, so that the addition is a u128 + u64 rather","than u128 + u128.","To see that this does not overflow, we need out[0] + carry * 19 < 2^64.","","c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)"," < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)"," < 2^(102 + 2*b + lg(5)) + 2^64.","","When b < 3 we get","","c4 < 2^110.33 so that carry < 2^59.33","","so that","","out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58","","and there is no overflow.","Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).","Now out[i] < 2^(51 + epsilon) for all i."]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1658,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":178},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1629,"kind":{"StorageLive":179},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":1630,"kind":{"StorageLive":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":24},"end":{"line":158,"col":25}},"generated_from_span":null},"id":1631,"kind":{"StorageLive":181},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":24},"end":{"line":158,"col":25}},"generated_from_span":null},"id":1632,"kind":{"Assign":[{"kind":{"Local":181},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":8692,"kind":{"StorageLive":280},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":8693,"kind":{"Assign":[{"kind":{"Local":280},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":8694,"kind":{"StorageLive":281},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":8695,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":280},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":181},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":281},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":1635,"kind":{"Assign":[{"kind":{"Local":180},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":281},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":29},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1636,"kind":{"StorageLive":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":29},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1640,"kind":{"Assign":[{"kind":{"Local":182},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"HashConsedValue":[3751,{"Literal":{"Int":"I32"}}]}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1641,"kind":{"Assign":[{"kind":{"Local":179},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":180},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":182},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1648,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":179},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1643,"kind":{"StorageDead":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1644,"kind":{"StorageDead":180},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1645,"kind":{"StorageDead":181},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1647,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1649,"kind":{"StorageDead":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1650,"kind":{"StorageDead":180},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1651,"kind":{"StorageDead":181},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1653,"kind":{"StorageDead":179},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1659,"kind":{"StorageDead":178},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1662,"kind":{"StorageLive":183},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1663,"kind":{"Assign":[{"kind":{"Local":183},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1694,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":183},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1665,"kind":{"StorageLive":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":1666,"kind":{"StorageLive":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":57},"end":{"line":158,"col":58}},"generated_from_span":null},"id":1667,"kind":{"StorageLive":186},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":57},"end":{"line":158,"col":58}},"generated_from_span":null},"id":1668,"kind":{"Assign":[{"kind":{"Local":186},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":8696,"kind":{"StorageLive":282},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":8697,"kind":{"Assign":[{"kind":{"Local":282},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":8698,"kind":{"StorageLive":283},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":8699,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":282},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":186},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":283},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":1671,"kind":{"Assign":[{"kind":{"Local":185},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":283},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":62},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1672,"kind":{"StorageLive":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":62},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1676,"kind":{"Assign":[{"kind":{"Local":187},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1677,"kind":{"Assign":[{"kind":{"Local":184},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":185},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":187},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1684,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":184},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1679,"kind":{"StorageDead":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1680,"kind":{"StorageDead":185},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1681,"kind":{"StorageDead":186},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1683,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1685,"kind":{"StorageDead":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1686,"kind":{"StorageDead":185},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1687,"kind":{"StorageDead":186},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1689,"kind":{"StorageDead":184},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1695,"kind":{"StorageDead":183},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1698,"kind":{"StorageLive":188},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1699,"kind":{"Assign":[{"kind":{"Local":188},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1730,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":188},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1701,"kind":{"StorageLive":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":1702,"kind":{"StorageLive":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":24},"end":{"line":159,"col":25}},"generated_from_span":null},"id":1703,"kind":{"StorageLive":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":24},"end":{"line":159,"col":25}},"generated_from_span":null},"id":1704,"kind":{"Assign":[{"kind":{"Local":191},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":8700,"kind":{"StorageLive":284},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":8701,"kind":{"Assign":[{"kind":{"Local":284},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":8702,"kind":{"StorageLive":285},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":8703,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":284},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":191},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":285},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":1707,"kind":{"Assign":[{"kind":{"Local":190},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":285},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":29},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1708,"kind":{"StorageLive":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":29},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1712,"kind":{"Assign":[{"kind":{"Local":192},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1713,"kind":{"Assign":[{"kind":{"Local":189},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":190},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":192},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1720,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":189},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1715,"kind":{"StorageDead":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1716,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1717,"kind":{"StorageDead":191},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1719,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1721,"kind":{"StorageDead":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1722,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1723,"kind":{"StorageDead":191},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1725,"kind":{"StorageDead":189},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1731,"kind":{"StorageDead":188},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1734,"kind":{"StorageLive":193},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1735,"kind":{"Assign":[{"kind":{"Local":193},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1766,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":193},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1737,"kind":{"StorageLive":194},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":1738,"kind":{"StorageLive":195},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":57},"end":{"line":159,"col":58}},"generated_from_span":null},"id":1739,"kind":{"StorageLive":196},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":57},"end":{"line":159,"col":58}},"generated_from_span":null},"id":1740,"kind":{"Assign":[{"kind":{"Local":196},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":8704,"kind":{"StorageLive":286},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":8705,"kind":{"Assign":[{"kind":{"Local":286},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":8706,"kind":{"StorageLive":287},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":8707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":286},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":196},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":287},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":1743,"kind":{"Assign":[{"kind":{"Local":195},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":287},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":62},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1744,"kind":{"StorageLive":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":62},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1748,"kind":{"Assign":[{"kind":{"Local":197},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1749,"kind":{"Assign":[{"kind":{"Local":194},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":195},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":197},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1756,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":194},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1751,"kind":{"StorageDead":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1752,"kind":{"StorageDead":195},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1753,"kind":{"StorageDead":196},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1755,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1757,"kind":{"StorageDead":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1758,"kind":{"StorageDead":195},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1759,"kind":{"StorageDead":196},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1761,"kind":{"StorageDead":194},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1767,"kind":{"StorageDead":193},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1770,"kind":{"StorageLive":198},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1771,"kind":{"Assign":[{"kind":{"Local":198},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1802,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":198},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1773,"kind":{"StorageLive":199},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":1774,"kind":{"StorageLive":200},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":24},"end":{"line":160,"col":25}},"generated_from_span":null},"id":1775,"kind":{"StorageLive":201},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":24},"end":{"line":160,"col":25}},"generated_from_span":null},"id":1776,"kind":{"Assign":[{"kind":{"Local":201},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":8708,"kind":{"StorageLive":288},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":8709,"kind":{"Assign":[{"kind":{"Local":288},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":8710,"kind":{"StorageLive":289},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":8711,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":288},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":201},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":289},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":1779,"kind":{"Assign":[{"kind":{"Local":200},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":289},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":29},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1780,"kind":{"StorageLive":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":29},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1784,"kind":{"Assign":[{"kind":{"Local":202},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1785,"kind":{"Assign":[{"kind":{"Local":199},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":200},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":202},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1792,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":199},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1787,"kind":{"StorageDead":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1788,"kind":{"StorageDead":200},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1789,"kind":{"StorageDead":201},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1791,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1793,"kind":{"StorageDead":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1794,"kind":{"StorageDead":200},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1795,"kind":{"StorageDead":201},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1797,"kind":{"StorageDead":199},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1803,"kind":{"StorageDead":198},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1806,"kind":{"StorageLive":203},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1807,"kind":{"Assign":[{"kind":{"Local":203},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1838,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":203},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1809,"kind":{"StorageLive":204},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":1810,"kind":{"StorageLive":205},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":57},"end":{"line":160,"col":58}},"generated_from_span":null},"id":1811,"kind":{"StorageLive":206},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":57},"end":{"line":160,"col":58}},"generated_from_span":null},"id":1812,"kind":{"Assign":[{"kind":{"Local":206},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":8712,"kind":{"StorageLive":290},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":8713,"kind":{"Assign":[{"kind":{"Local":290},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":8714,"kind":{"StorageLive":291},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":8715,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":290},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":206},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":291},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":1815,"kind":{"Assign":[{"kind":{"Local":205},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":291},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":62},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1816,"kind":{"StorageLive":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":62},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1820,"kind":{"Assign":[{"kind":{"Local":207},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1821,"kind":{"Assign":[{"kind":{"Local":204},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":205},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":207},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1828,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":204},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1823,"kind":{"StorageDead":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1824,"kind":{"StorageDead":205},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1825,"kind":{"StorageDead":206},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1827,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1829,"kind":{"StorageDead":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1830,"kind":{"StorageDead":205},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1831,"kind":{"StorageDead":206},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1833,"kind":{"StorageDead":204},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1839,"kind":{"StorageDead":203},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1842,"kind":{"StorageLive":208},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1843,"kind":{"Assign":[{"kind":{"Local":208},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1874,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":208},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1845,"kind":{"StorageLive":209},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":1846,"kind":{"StorageLive":210},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":24},"end":{"line":161,"col":25}},"generated_from_span":null},"id":1847,"kind":{"StorageLive":211},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":24},"end":{"line":161,"col":25}},"generated_from_span":null},"id":1848,"kind":{"Assign":[{"kind":{"Local":211},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":8716,"kind":{"StorageLive":292},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":8717,"kind":{"Assign":[{"kind":{"Local":292},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":8718,"kind":{"StorageLive":293},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":8719,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":292},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":211},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":293},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":1851,"kind":{"Assign":[{"kind":{"Local":210},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":293},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":29},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1852,"kind":{"StorageLive":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":29},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1856,"kind":{"Assign":[{"kind":{"Local":212},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1857,"kind":{"Assign":[{"kind":{"Local":209},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":210},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":212},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1864,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":209},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1859,"kind":{"StorageDead":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1860,"kind":{"StorageDead":210},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1861,"kind":{"StorageDead":211},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1863,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1865,"kind":{"StorageDead":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1866,"kind":{"StorageDead":210},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1867,"kind":{"StorageDead":211},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1869,"kind":{"StorageDead":209},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1875,"kind":{"StorageDead":208},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1878,"kind":{"StorageLive":213},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1879,"kind":{"Assign":[{"kind":{"Local":213},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1910,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":213},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1881,"kind":{"StorageLive":214},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":1882,"kind":{"StorageLive":215},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":57},"end":{"line":161,"col":58}},"generated_from_span":null},"id":1883,"kind":{"StorageLive":216},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":57},"end":{"line":161,"col":58}},"generated_from_span":null},"id":1884,"kind":{"Assign":[{"kind":{"Local":216},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":8720,"kind":{"StorageLive":294},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":8721,"kind":{"Assign":[{"kind":{"Local":294},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":8722,"kind":{"StorageLive":295},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":8723,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":294},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":216},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":295},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":1887,"kind":{"Assign":[{"kind":{"Local":215},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":295},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":62},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1888,"kind":{"StorageLive":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":62},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1892,"kind":{"Assign":[{"kind":{"Local":217},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1893,"kind":{"Assign":[{"kind":{"Local":214},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":215},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":217},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1900,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":214},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1895,"kind":{"StorageDead":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1896,"kind":{"StorageDead":215},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1897,"kind":{"StorageDead":216},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1899,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1901,"kind":{"StorageDead":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1902,"kind":{"StorageDead":215},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1903,"kind":{"StorageDead":216},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1905,"kind":{"StorageDead":214},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1911,"kind":{"StorageDead":213},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1914,"kind":{"StorageLive":218},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1915,"kind":{"Assign":[{"kind":{"Local":218},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1946,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":218},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1917,"kind":{"StorageLive":219},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":1918,"kind":{"StorageLive":220},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":24},"end":{"line":162,"col":25}},"generated_from_span":null},"id":1919,"kind":{"StorageLive":221},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":24},"end":{"line":162,"col":25}},"generated_from_span":null},"id":1920,"kind":{"Assign":[{"kind":{"Local":221},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":8724,"kind":{"StorageLive":296},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":8725,"kind":{"Assign":[{"kind":{"Local":296},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":8726,"kind":{"StorageLive":297},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":8727,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":296},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":221},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":297},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":1923,"kind":{"Assign":[{"kind":{"Local":220},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":297},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":29},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1924,"kind":{"StorageLive":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":29},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1928,"kind":{"Assign":[{"kind":{"Local":222},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1929,"kind":{"Assign":[{"kind":{"Local":219},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":220},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":222},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1936,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":219},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1931,"kind":{"StorageDead":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1932,"kind":{"StorageDead":220},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1933,"kind":{"StorageDead":221},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1935,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1937,"kind":{"StorageDead":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1938,"kind":{"StorageDead":220},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1939,"kind":{"StorageDead":221},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1941,"kind":{"StorageDead":219},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1947,"kind":{"StorageDead":218},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1950,"kind":{"StorageLive":223},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1951,"kind":{"Assign":[{"kind":{"Local":223},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1982,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":223},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1953,"kind":{"StorageLive":224},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":1954,"kind":{"StorageLive":225},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":57},"end":{"line":162,"col":58}},"generated_from_span":null},"id":1955,"kind":{"StorageLive":226},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":57},"end":{"line":162,"col":58}},"generated_from_span":null},"id":1956,"kind":{"Assign":[{"kind":{"Local":226},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":8728,"kind":{"StorageLive":298},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":8729,"kind":{"Assign":[{"kind":{"Local":298},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":8730,"kind":{"StorageLive":299},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":8731,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":298},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":226},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":299},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":1959,"kind":{"Assign":[{"kind":{"Local":225},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":299},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":62},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1960,"kind":{"StorageLive":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":62},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1964,"kind":{"Assign":[{"kind":{"Local":227},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1965,"kind":{"Assign":[{"kind":{"Local":224},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":225},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":227},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1972,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":224},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1967,"kind":{"StorageDead":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1968,"kind":{"StorageDead":225},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1969,"kind":{"StorageDead":226},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1971,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1973,"kind":{"StorageDead":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1974,"kind":{"StorageDead":225},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1975,"kind":{"StorageDead":226},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1977,"kind":{"StorageDead":224},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1983,"kind":{"StorageDead":223},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":169,"col":12},"end":{"line":169,"col":19}},"generated_from_span":null},"id":1985,"kind":{"StorageLive":228},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":169,"col":22},"end":{"line":169,"col":31}},"generated_from_span":null},"id":1986,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":228},"ty":{"Deduplicated":1552}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":41}},"generated_from_span":null},"id":1987,"kind":{"StorageLive":229},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":33}},"generated_from_span":null},"id":1988,"kind":{"StorageLive":230},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":15},"end":{"line":171,"col":25}},"generated_from_span":null},"id":1989,"kind":{"StorageLive":231},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":16},"end":{"line":171,"col":18}},"generated_from_span":null},"id":1990,"kind":{"StorageLive":232},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":16},"end":{"line":171,"col":18}},"generated_from_span":null},"id":1991,"kind":{"Assign":[{"kind":{"Local":232},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":15},"end":{"line":171,"col":25}},"generated_from_span":null},"id":1995,"kind":{"Assign":[{"kind":{"Local":231},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":232},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":24},"end":{"line":171,"col":25}},"generated_from_span":null},"id":1996,"kind":{"StorageDead":232},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":33}},"generated_from_span":null},"id":1997,"kind":{"Assign":[{"kind":{"Local":230},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":231},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":32},"end":{"line":171,"col":33}},"generated_from_span":null},"id":1998,"kind":{"StorageDead":231},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":41}},"generated_from_span":null},"id":1999,"kind":{"Assign":[{"kind":{"Local":229},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":230},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":40},"end":{"line":171,"col":41}},"generated_from_span":null},"id":2000,"kind":{"StorageDead":230},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":8},"end":{"line":171,"col":41}},"generated_from_span":null},"id":2001,"kind":{"Assign":[{"kind":{"Local":233},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":229},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":8},"end":{"line":171,"col":41}},"generated_from_span":null},"id":2003,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":233},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":40},"end":{"line":171,"col":41}},"generated_from_span":null},"id":2004,"kind":{"StorageDead":229},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":17},"end":{"line":172,"col":28}},"generated_from_span":null},"id":2005,"kind":{"StorageLive":234},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"id":2006,"kind":{"StorageLive":235},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"id":2007,"kind":{"Assign":[{"kind":{"Local":235},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":17},"end":{"line":172,"col":28}},"generated_from_span":null},"id":2008,"kind":{"Assign":[{"kind":{"Local":234},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":235},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":27},"end":{"line":172,"col":28}},"generated_from_span":null},"id":2009,"kind":{"StorageDead":235},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":12},"end":{"line":172,"col":13}},"generated_from_span":null},"id":2010,"kind":{"StorageLive":236},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":12},"end":{"line":172,"col":13}},"generated_from_span":null},"id":2011,"kind":{"Assign":[{"kind":{"Local":236},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":8908,"kind":{"StorageLive":388},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":8909,"kind":{"Assign":[{"kind":{"Local":388},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":8910,"kind":{"StorageLive":389},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":8911,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":388},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":236},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":389},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":2014,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":389},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":234},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":45},"end":{"line":172,"col":46}},"generated_from_span":null},"id":2015,"kind":{"StorageDead":234},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":46},"end":{"line":172,"col":47}},"generated_from_span":null},"id":2016,"kind":{"StorageDead":236},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2017,"kind":{"StorageLive":237},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":33}},"generated_from_span":null},"id":2018,"kind":{"StorageLive":238},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":15},"end":{"line":174,"col":25}},"generated_from_span":null},"id":2019,"kind":{"StorageLive":239},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":16},"end":{"line":174,"col":18}},"generated_from_span":null},"id":2020,"kind":{"StorageLive":240},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":16},"end":{"line":174,"col":18}},"generated_from_span":null},"id":2021,"kind":{"Assign":[{"kind":{"Local":240},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":15},"end":{"line":174,"col":25}},"generated_from_span":null},"id":2025,"kind":{"Assign":[{"kind":{"Local":239},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":240},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":24},"end":{"line":174,"col":25}},"generated_from_span":null},"id":2026,"kind":{"StorageDead":240},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":33}},"generated_from_span":null},"id":2027,"kind":{"Assign":[{"kind":{"Local":238},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":239},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":32},"end":{"line":174,"col":33}},"generated_from_span":null},"id":2028,"kind":{"StorageDead":239},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2029,"kind":{"Assign":[{"kind":{"Local":237},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":238},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":40},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2030,"kind":{"StorageDead":238},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":8},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2031,"kind":{"Assign":[{"kind":{"Local":241},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":237},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":8},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2033,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":241},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":40},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2034,"kind":{"StorageDead":237},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":17},"end":{"line":175,"col":28}},"generated_from_span":null},"id":2035,"kind":{"StorageLive":242},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"id":2036,"kind":{"StorageLive":243},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"id":2037,"kind":{"Assign":[{"kind":{"Local":243},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":17},"end":{"line":175,"col":28}},"generated_from_span":null},"id":2038,"kind":{"Assign":[{"kind":{"Local":242},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":243},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":27},"end":{"line":175,"col":28}},"generated_from_span":null},"id":2039,"kind":{"StorageDead":243},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":12},"end":{"line":175,"col":13}},"generated_from_span":null},"id":2040,"kind":{"StorageLive":244},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":12},"end":{"line":175,"col":13}},"generated_from_span":null},"id":2041,"kind":{"Assign":[{"kind":{"Local":244},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":8912,"kind":{"StorageLive":390},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":8913,"kind":{"Assign":[{"kind":{"Local":390},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":8914,"kind":{"StorageLive":391},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":8915,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":390},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":244},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":391},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":2044,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":391},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":242},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":45},"end":{"line":175,"col":46}},"generated_from_span":null},"id":2045,"kind":{"StorageDead":242},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":46},"end":{"line":175,"col":47}},"generated_from_span":null},"id":2046,"kind":{"StorageDead":244},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2047,"kind":{"StorageLive":245},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":33}},"generated_from_span":null},"id":2048,"kind":{"StorageLive":246},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":15},"end":{"line":177,"col":25}},"generated_from_span":null},"id":2049,"kind":{"StorageLive":247},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":16},"end":{"line":177,"col":18}},"generated_from_span":null},"id":2050,"kind":{"StorageLive":248},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":16},"end":{"line":177,"col":18}},"generated_from_span":null},"id":2051,"kind":{"Assign":[{"kind":{"Local":248},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":15},"end":{"line":177,"col":25}},"generated_from_span":null},"id":2055,"kind":{"Assign":[{"kind":{"Local":247},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":248},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":24},"end":{"line":177,"col":25}},"generated_from_span":null},"id":2056,"kind":{"StorageDead":248},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":33}},"generated_from_span":null},"id":2057,"kind":{"Assign":[{"kind":{"Local":246},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":247},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":32},"end":{"line":177,"col":33}},"generated_from_span":null},"id":2058,"kind":{"StorageDead":247},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2059,"kind":{"Assign":[{"kind":{"Local":245},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":246},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":40},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2060,"kind":{"StorageDead":246},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":8},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2061,"kind":{"Assign":[{"kind":{"Local":249},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":113},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":245},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":8},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2063,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":249},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":40},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2064,"kind":{"StorageDead":245},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":17},"end":{"line":178,"col":28}},"generated_from_span":null},"id":2065,"kind":{"StorageLive":250},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":18},"end":{"line":178,"col":20}},"generated_from_span":null},"id":2066,"kind":{"StorageLive":251},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":18},"end":{"line":178,"col":20}},"generated_from_span":null},"id":2067,"kind":{"Assign":[{"kind":{"Local":251},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":17},"end":{"line":178,"col":28}},"generated_from_span":null},"id":2068,"kind":{"Assign":[{"kind":{"Local":250},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":251},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":27},"end":{"line":178,"col":28}},"generated_from_span":null},"id":2069,"kind":{"StorageDead":251},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":12},"end":{"line":178,"col":13}},"generated_from_span":null},"id":2070,"kind":{"StorageLive":252},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":12},"end":{"line":178,"col":13}},"generated_from_span":null},"id":2071,"kind":{"Assign":[{"kind":{"Local":252},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":8916,"kind":{"StorageLive":392},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":8917,"kind":{"Assign":[{"kind":{"Local":392},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":8918,"kind":{"StorageLive":393},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":8919,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":392},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":252},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":393},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":2074,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":393},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":250},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":45},"end":{"line":178,"col":46}},"generated_from_span":null},"id":2075,"kind":{"StorageDead":250},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":46},"end":{"line":178,"col":47}},"generated_from_span":null},"id":2076,"kind":{"StorageDead":252},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2077,"kind":{"StorageLive":253},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":33}},"generated_from_span":null},"id":2078,"kind":{"StorageLive":254},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":15},"end":{"line":180,"col":25}},"generated_from_span":null},"id":2079,"kind":{"StorageLive":255},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":16},"end":{"line":180,"col":18}},"generated_from_span":null},"id":2080,"kind":{"StorageLive":256},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":16},"end":{"line":180,"col":18}},"generated_from_span":null},"id":2081,"kind":{"Assign":[{"kind":{"Local":256},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":113},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":15},"end":{"line":180,"col":25}},"generated_from_span":null},"id":2085,"kind":{"Assign":[{"kind":{"Local":255},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":256},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":24},"end":{"line":180,"col":25}},"generated_from_span":null},"id":2086,"kind":{"StorageDead":256},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":33}},"generated_from_span":null},"id":2087,"kind":{"Assign":[{"kind":{"Local":254},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":255},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":32},"end":{"line":180,"col":33}},"generated_from_span":null},"id":2088,"kind":{"StorageDead":255},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2089,"kind":{"Assign":[{"kind":{"Local":253},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":254},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":40},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2090,"kind":{"StorageDead":254},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":8},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2091,"kind":{"Assign":[{"kind":{"Local":257},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":145},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":253},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":8},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2093,"kind":{"Assign":[{"kind":{"Local":145},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":257},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":40},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2094,"kind":{"StorageDead":253},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":17},"end":{"line":181,"col":28}},"generated_from_span":null},"id":2095,"kind":{"StorageLive":258},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"id":2096,"kind":{"StorageLive":259},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"id":2097,"kind":{"Assign":[{"kind":{"Local":259},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":113},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":17},"end":{"line":181,"col":28}},"generated_from_span":null},"id":2098,"kind":{"Assign":[{"kind":{"Local":258},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":259},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":27},"end":{"line":181,"col":28}},"generated_from_span":null},"id":2099,"kind":{"StorageDead":259},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":12},"end":{"line":181,"col":13}},"generated_from_span":null},"id":2100,"kind":{"StorageLive":260},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":12},"end":{"line":181,"col":13}},"generated_from_span":null},"id":2101,"kind":{"Assign":[{"kind":{"Local":260},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":8920,"kind":{"StorageLive":394},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":8921,"kind":{"Assign":[{"kind":{"Local":394},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":8922,"kind":{"StorageLive":395},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":8923,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":394},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":260},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":395},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":2104,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":395},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":258},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":45},"end":{"line":181,"col":46}},"generated_from_span":null},"id":2105,"kind":{"StorageDead":258},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":46},"end":{"line":181,"col":47}},"generated_from_span":null},"id":2106,"kind":{"StorageDead":260},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":12},"end":{"line":183,"col":17}},"generated_from_span":null},"id":2107,"kind":{"StorageLive":261},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":25},"end":{"line":183,"col":35}},"generated_from_span":null},"id":2108,"kind":{"StorageLive":262},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":26},"end":{"line":183,"col":28}},"generated_from_span":null},"id":2109,"kind":{"StorageLive":263},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":26},"end":{"line":183,"col":28}},"generated_from_span":null},"id":2110,"kind":{"Assign":[{"kind":{"Local":263},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":145},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":25},"end":{"line":183,"col":35}},"generated_from_span":null},"id":2114,"kind":{"Assign":[{"kind":{"Local":262},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":263},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":34},"end":{"line":183,"col":35}},"generated_from_span":null},"id":2115,"kind":{"StorageDead":263},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":25},"end":{"line":183,"col":42}},"generated_from_span":null},"id":2116,"kind":{"Assign":[{"kind":{"Local":261},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":262},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":41},"end":{"line":183,"col":42}},"generated_from_span":null},"id":2117,"kind":{"StorageDead":262},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":17},"end":{"line":184,"col":28}},"generated_from_span":null},"id":2118,"kind":{"StorageLive":264},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":18},"end":{"line":184,"col":20}},"generated_from_span":null},"id":2119,"kind":{"StorageLive":265},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":18},"end":{"line":184,"col":20}},"generated_from_span":null},"id":2120,"kind":{"Assign":[{"kind":{"Local":265},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":145},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":17},"end":{"line":184,"col":28}},"generated_from_span":null},"id":2121,"kind":{"Assign":[{"kind":{"Local":264},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":265},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":27},"end":{"line":184,"col":28}},"generated_from_span":null},"id":2122,"kind":{"StorageDead":265},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":12},"end":{"line":184,"col":13}},"generated_from_span":null},"id":2123,"kind":{"StorageLive":266},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":12},"end":{"line":184,"col":13}},"generated_from_span":null},"id":2124,"kind":{"Assign":[{"kind":{"Local":266},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":8924,"kind":{"StorageLive":396},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":8925,"kind":{"Assign":[{"kind":{"Local":396},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":8926,"kind":{"StorageLive":397},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":8927,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":396},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":266},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":397},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":2127,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":397},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":264},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":45},"end":{"line":184,"col":46}},"generated_from_span":null},"id":2128,"kind":{"StorageDead":264},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":46},"end":{"line":184,"col":47}},"generated_from_span":null},"id":2129,"kind":{"StorageDead":266},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2130,"kind":{"StorageLive":267},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":23}},"generated_from_span":null},"id":2131,"kind":{"StorageLive":268},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":23}},"generated_from_span":null},"id":2132,"kind":{"Assign":[{"kind":{"Local":268},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":261},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2133,"kind":{"Assign":[{"kind":{"Local":269},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":268},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2135,"kind":{"Assign":[{"kind":{"Local":267},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":269},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":27},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2136,"kind":{"StorageDead":268},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":12},"end":{"line":201,"col":13}},"generated_from_span":null},"id":2137,"kind":{"StorageLive":270},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":12},"end":{"line":201,"col":13}},"generated_from_span":null},"id":2138,"kind":{"Assign":[{"kind":{"Local":270},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":8928,"kind":{"StorageLive":398},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":8929,"kind":{"Assign":[{"kind":{"Local":398},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":8930,"kind":{"StorageLive":399},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":8931,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":398},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":270},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":399},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2141,"kind":{"Assign":[{"kind":{"Local":271},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":399},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":267},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":8932,"kind":{"StorageLive":400},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":8933,"kind":{"Assign":[{"kind":{"Local":400},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":8934,"kind":{"StorageLive":401},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":8935,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":400},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":270},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":401},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2143,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":401},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":271},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":27},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2144,"kind":{"StorageDead":267},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":28},"end":{"line":201,"col":29}},"generated_from_span":null},"id":2145,"kind":{"StorageDead":270},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2146,"kind":{"StorageLive":272},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":2147,"kind":{"StorageLive":273},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":22},"end":{"line":204,"col":23}},"generated_from_span":null},"id":2148,"kind":{"StorageLive":274},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":22},"end":{"line":204,"col":23}},"generated_from_span":null},"id":2149,"kind":{"Assign":[{"kind":{"Local":274},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":8936,"kind":{"StorageLive":402},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":8937,"kind":{"Assign":[{"kind":{"Local":402},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":8938,"kind":{"StorageLive":403},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":8939,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":402},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":274},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":403},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":2152,"kind":{"Assign":[{"kind":{"Local":273},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":403},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2156,"kind":{"Assign":[{"kind":{"Local":272},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":273},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":29},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2157,"kind":{"StorageDead":273},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":12},"end":{"line":204,"col":13}},"generated_from_span":null},"id":2158,"kind":{"StorageLive":275},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":12},"end":{"line":204,"col":13}},"generated_from_span":null},"id":2159,"kind":{"Assign":[{"kind":{"Local":275},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":8940,"kind":{"StorageLive":404},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":8941,"kind":{"Assign":[{"kind":{"Local":404},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":8942,"kind":{"StorageLive":405},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":8943,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":404},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":275},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":405},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2162,"kind":{"Assign":[{"kind":{"Local":276},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":405},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":272},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":8944,"kind":{"StorageLive":406},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":8945,"kind":{"Assign":[{"kind":{"Local":406},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":8946,"kind":{"StorageLive":407},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":8947,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":406},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":275},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":407},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2164,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":407},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":276},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":29},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2165,"kind":{"StorageDead":272},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":30},"end":{"line":204,"col":31}},"generated_from_span":null},"id":2166,"kind":{"StorageDead":275},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":30},"end":{"line":204,"col":31}},"generated_from_span":null},"id":2167,"kind":{"StorageDead":274},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":12},"end":{"line":205,"col":13}},"generated_from_span":null},"id":2168,"kind":{"StorageLive":277},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":12},"end":{"line":205,"col":13}},"generated_from_span":null},"id":2169,"kind":{"Assign":[{"kind":{"Local":277},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":2172,"kind":{"StorageLive":279},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":8948,"kind":{"StorageLive":408},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":8949,"kind":{"Assign":[{"kind":{"Local":408},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":8950,"kind":{"StorageLive":409},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":8951,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":408},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":277},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":409},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":2173,"kind":{"Assign":[{"kind":{"Local":279},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":409},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":8952,"kind":{"StorageLive":410},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":8953,"kind":{"Assign":[{"kind":{"Local":410},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":8954,"kind":{"StorageLive":411},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":8955,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":410},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":277},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":411},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":2174,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":411},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":279},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":33},"end":{"line":205,"col":34}},"generated_from_span":null},"id":2175,"kind":{"StorageDead":277},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":208,"col":23},"end":{"line":208,"col":26}},"generated_from_span":null},"id":2176,"kind":{"StorageLive":278},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":208,"col":23},"end":{"line":208,"col":26}},"generated_from_span":null},"id":2177,"kind":{"Assign":[{"kind":{"Local":278},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Local":228},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":208,"col":8},"end":{"line":208,"col":27}},"generated_from_span":null},"id":2178,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":278},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":208,"col":26},"end":{"line":208,"col":27}},"generated_from_span":null},"id":2179,"kind":{"StorageDead":278},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2180,"kind":{"StorageDead":261},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2181,"kind":{"StorageDead":228},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2182,"kind":{"StorageDead":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2183,"kind":{"StorageDead":113},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2184,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2185,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2186,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2187,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2188,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2189,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2190,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2191,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2192,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":5},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2193,"kind":"Return","comments_before":[]}]},"comments":[[114,["/ Helper function to multiply two 64-bit integers with 128","/ bits of output."]],[118,["Alias self, _rhs for more readable formulas"]],[126,["Precondition: assume input limbs a[i], b[i] are bounded as","","a[i], b[i] < 2^(51 + b)","","where b is a real parameter measuring the \"bit excess\" of the limbs."]],[134,["64-bit precomputations to avoid 128-bit multiplications.","","This fits into a u64 whenever 51 + b + lg(19) < 64.","","Since 51 + b + lg(19) < 51 + 4.25 + b"," = 55.25 + b,","this fits if b < 8.75."]],[140,["Multiply to get 128-bit coefficients of output"]],[158,["How big are the c[i]? We have",""," c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)"," < 2^(102 + lg(1 + 4*19) + 2*b)"," < 2^(108.27 + 2*b)","","The carry (c[i] >> 51) fits into a u64 when"," 108.27 + 2*b - 51 < 64"," 2*b < 6.73"," b < 3.365.","","So we require b < 3 to ensure this fits."]],[167,["Casting to u64 and back tells the compiler that the carry is","bounded by 2^64, so that the addition is a u128 + u64 rather","than u128 + u128."]],[201,["To see that this does not overflow, we need out[0] + carry * 19 < 2^64.","","c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)"," < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)"," < 2^(102 + 2*b + lg(5)) + 2^64.","","When b < 3 we get","","c4 < 2^110.33 so that carry < 2^59.33","","so that","","out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58","","and there is no overflow."]],[204,["Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon)."]],[208,["Now out[i] < 2^(51 + epsilon) for all i."]]]}}},{"def_id":27,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}},{"Ident":["neg",0]}],"span":{"data":{"file_id":5,"beg":{"line":214,"col":4},"end":{"line":218,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> FieldElement51 {\n let mut output = *self;\n output.negate();\n output\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":14,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10080},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":214,"col":4},"end":{"line":218,"col":5}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":214,"col":20},"end":{"line":214,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":214,"col":11},"end":{"line":214,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"output","span":{"data":{"file_id":5,"beg":{"line":215,"col":12},"end":{"line":215,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[3698,{"Ref":[{"Body":3},{"Deduplicated":1391},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":215,"col":12},"end":{"line":218,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":215,"col":12},"end":{"line":215,"col":22}},"generated_from_span":null},"id":2194,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":215,"col":25},"end":{"line":215,"col":30}},"generated_from_span":null},"id":2195,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":23}},"generated_from_span":null},"id":2196,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":14}},"generated_from_span":null},"id":2197,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":14}},"generated_from_span":null},"id":2198,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":3698}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":23}},"generated_from_span":null},"id":2199,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":32}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3698}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":22},"end":{"line":216,"col":23}},"generated_from_span":null},"id":2200,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":23},"end":{"line":216,"col":24}},"generated_from_span":null},"id":2201,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":217,"col":8},"end":{"line":217,"col":14}},"generated_from_span":null},"id":2202,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":218,"col":4},"end":{"line":218,"col":5}},"generated_from_span":null},"id":2203,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":218,"col":5},"end":{"line":218,"col":5}},"generated_from_span":null},"id":2204,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":28,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":5,"beg":{"line":222,"col":4},"end":{"line":234,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(\n a: &FieldElement51,\n b: &FieldElement51,\n choice: Choice,\n ) -> FieldElement51 {\n FieldElement51([\n u64::conditional_select(&a.0[0], &b.0[0], choice),\n u64::conditional_select(&a.0[1], &b.0[1], choice),\n u64::conditional_select(&a.0[2], &b.0[2], choice),\n u64::conditional_select(&a.0[3], &b.0[3], choice),\n u64::conditional_select(&a.0[4], &b.0[4], choice),\n ])\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080},{"Deduplicated":10081},{"Deduplicated":1496}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":222,"col":4},"end":{"line":234,"col":5}},"generated_from_span":null},"bound_body_regions":44,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":226,"col":9},"end":{"line":226,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"a","span":{"data":{"file_id":5,"beg":{"line":223,"col":8},"end":{"line":223,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"b","span":{"data":{"file_id":5,"beg":{"line":224,"col":8},"end":{"line":224,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":"choice","span":{"data":{"file_id":5,"beg":{"line":225,"col":8},"end":{"line":225,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":227,"col":23},"end":{"line":233,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":12},"end":{"line":228,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3791,{"Ref":[{"Body":4},{"Deduplicated":1550},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3792,{"Ref":[{"Body":5},{"Deduplicated":1550},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":41},"end":{"line":228,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3793,{"Ref":[{"Body":6},{"Deduplicated":1550},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3794,{"Ref":[{"Body":7},{"Deduplicated":1550},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":50},"end":{"line":228,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":54},"end":{"line":228,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":12},"end":{"line":229,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3795,{"Ref":[{"Body":8},{"Deduplicated":1550},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3796,{"Ref":[{"Body":9},{"Deduplicated":1550},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":41},"end":{"line":229,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3797,{"Ref":[{"Body":10},{"Deduplicated":1550},"Shared"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3798,{"Ref":[{"Body":11},{"Deduplicated":1550},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":50},"end":{"line":229,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":54},"end":{"line":229,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":12},"end":{"line":230,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3799,{"Ref":[{"Body":12},{"Deduplicated":1550},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3800,{"Ref":[{"Body":13},{"Deduplicated":1550},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":41},"end":{"line":230,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3801,{"Ref":[{"Body":14},{"Deduplicated":1550},"Shared"]}]}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3802,{"Ref":[{"Body":15},{"Deduplicated":1550},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":50},"end":{"line":230,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":54},"end":{"line":230,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":12},"end":{"line":231,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3803,{"Ref":[{"Body":16},{"Deduplicated":1550},"Shared"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3804,{"Ref":[{"Body":17},{"Deduplicated":1550},"Shared"]}]}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":41},"end":{"line":231,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3805,{"Ref":[{"Body":18},{"Deduplicated":1550},"Shared"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3806,{"Ref":[{"Body":19},{"Deduplicated":1550},"Shared"]}]}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":50},"end":{"line":231,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":54},"end":{"line":231,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":12},"end":{"line":232,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3807,{"Ref":[{"Body":20},{"Deduplicated":1550},"Shared"]}]}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3808,{"Ref":[{"Body":21},{"Deduplicated":1550},"Shared"]}]}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":41},"end":{"line":232,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3809,{"Ref":[{"Body":22},{"Deduplicated":1550},"Shared"]}]}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3810,{"Ref":[{"Body":23},{"Deduplicated":1550},"Shared"]}]}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":50},"end":{"line":232,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":54},"end":{"line":232,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":227,"col":8},"end":{"line":234,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":227,"col":23},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2215,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":12},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2216,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":2217,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":2218,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":41},"end":{"line":228,"col":42}},"generated_from_span":null},"id":2219,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":41},"end":{"line":228,"col":42}},"generated_from_span":null},"id":2220,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":8956,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":8957,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":8958,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":8959,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":2223,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3792}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":2224,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3791}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":3792}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":2225,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":2226,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":50},"end":{"line":228,"col":51}},"generated_from_span":null},"id":2227,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":50},"end":{"line":228,"col":51}},"generated_from_span":null},"id":2228,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":8960,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":8961,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":8962,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":8963,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":2231,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":48},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":2232,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3793}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":3794}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":54},"end":{"line":228,"col":60}},"generated_from_span":null},"id":2233,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":54},"end":{"line":228,"col":60}},"generated_from_span":null},"id":2234,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":12},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2235,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":3791}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":3793}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":60},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2236,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":60},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2237,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":60},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2238,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":12},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2239,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":2240,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":2241,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":41},"end":{"line":229,"col":42}},"generated_from_span":null},"id":2242,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":41},"end":{"line":229,"col":42}},"generated_from_span":null},"id":2243,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":8964,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":8965,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":8966,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":8967,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":2246,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":50},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":2247,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":3796}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":2248,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":2249,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":50},"end":{"line":229,"col":51}},"generated_from_span":null},"id":2250,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":50},"end":{"line":229,"col":51}},"generated_from_span":null},"id":2251,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":8968,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":8969,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":8970,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":8971,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":2254,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":3798}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":52},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":2255,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":3797}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":3798}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":54},"end":{"line":229,"col":60}},"generated_from_span":null},"id":2256,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":54},"end":{"line":229,"col":60}},"generated_from_span":null},"id":2257,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":12},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2258,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3795}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":3797}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":60},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2259,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":60},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2260,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":60},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2261,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":12},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2262,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":2263,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":2264,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":41},"end":{"line":230,"col":42}},"generated_from_span":null},"id":2265,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":41},"end":{"line":230,"col":42}},"generated_from_span":null},"id":2266,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":8972,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":8973,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":8974,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":8975,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":24},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":2269,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":3800}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":54},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":2270,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3799}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":23},"ty":{"Deduplicated":3800}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":2271,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":2272,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":50},"end":{"line":230,"col":51}},"generated_from_span":null},"id":2273,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":50},"end":{"line":230,"col":51}},"generated_from_span":null},"id":2274,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":8976,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":8977,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":8978,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":8979,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":2277,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":3802}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":56},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":2278,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":3801}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":3802}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":54},"end":{"line":230,"col":60}},"generated_from_span":null},"id":2279,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":54},"end":{"line":230,"col":60}},"generated_from_span":null},"id":2280,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":12},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2281,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":3799}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":3801}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":60},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2282,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":60},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2283,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":60},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2284,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":12},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2285,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":2286,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":2287,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":41},"end":{"line":231,"col":42}},"generated_from_span":null},"id":2288,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":41},"end":{"line":231,"col":42}},"generated_from_span":null},"id":2289,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":8980,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":8981,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":8982,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":8983,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":32},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":2292,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":3804}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":58},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":2293,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":3803}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":31},"ty":{"Deduplicated":3804}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":2294,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":2295,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":50},"end":{"line":231,"col":51}},"generated_from_span":null},"id":2296,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":50},"end":{"line":231,"col":51}},"generated_from_span":null},"id":2297,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":8984,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":8985,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":8986,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":8987,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":2300,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":3806}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":2301,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3805}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":3806}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":54},"end":{"line":231,"col":60}},"generated_from_span":null},"id":2302,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":54},"end":{"line":231,"col":60}},"generated_from_span":null},"id":2303,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":12},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2304,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":3803}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":3805}}},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":60},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2305,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":60},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2306,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":60},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2307,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":12},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2308,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":2309,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":2310,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":41},"end":{"line":232,"col":42}},"generated_from_span":null},"id":2311,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":41},"end":{"line":232,"col":42}},"generated_from_span":null},"id":2312,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":8988,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":8989,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":8990,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":8991,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":62},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":2315,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":3808}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":62},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":2316,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":3807}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":39},"ty":{"Deduplicated":3808}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":2317,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":2318,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":50},"end":{"line":232,"col":51}},"generated_from_span":null},"id":2319,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":50},"end":{"line":232,"col":51}},"generated_from_span":null},"id":2320,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":8992,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":8993,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":8994,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":8995,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":64},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":2323,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":3810}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":64},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":2324,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":3809}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":3810}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":54},"end":{"line":232,"col":60}},"generated_from_span":null},"id":2325,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":54},"end":{"line":232,"col":60}},"generated_from_span":null},"id":2326,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":12},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2327,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":3807}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":3809}}},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":60},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2328,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":60},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2329,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":60},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2330,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":227,"col":23},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2331,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2332,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2333,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2334,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2335,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2336,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":227,"col":8},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2337,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2338,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2339,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2340,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2341,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2342,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2343,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2344,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2345,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2346,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2347,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2348,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2349,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2350,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2351,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2352,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2353,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2354,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2355,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2356,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2357,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2358,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":234,"col":5},"end":{"line":234,"col":5}},"generated_from_span":null},"id":2359,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":29,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":5,"beg":{"line":244,"col":4},"end":{"line":250,"col":5}},"generated_from_span":null},"source_text":"fn conditional_assign(&mut self, other: &FieldElement51, choice: Choice) {\n self.0[0].conditional_assign(&other.0[0], choice);\n self.0[1].conditional_assign(&other.0[1], choice);\n self.0[2].conditional_assign(&other.0[2], choice);\n self.0[3].conditional_assign(&other.0[3], choice);\n self.0[4].conditional_assign(&other.0[4], choice);\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10219,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1391},"Mut"]}]},{"Deduplicated":10081},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":244,"col":4},"end":{"line":250,"col":5}},"generated_from_span":null},"bound_body_regions":41,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":244,"col":76},"end":{"line":244,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":244,"col":26},"end":{"line":244,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"other","span":{"data":{"file_id":5,"beg":{"line":244,"col":37},"end":{"line":244,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":3,"name":"choice","span":{"data":{"file_id":5,"beg":{"line":244,"col":61},"end":{"line":244,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3837,{"Ref":[{"Body":5},{"Deduplicated":1550},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":15},"end":{"line":245,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3794}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3795}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":46},"end":{"line":245,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":50},"end":{"line":245,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3838,{"Ref":[{"Body":9},{"Deduplicated":1550},"Mut"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":15},"end":{"line":246,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3797}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3798}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":46},"end":{"line":246,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":50},"end":{"line":246,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3839,{"Ref":[{"Body":12},{"Deduplicated":1550},"Mut"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":15},"end":{"line":247,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3800}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3801}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":46},"end":{"line":247,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":50},"end":{"line":247,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3840,{"Ref":[{"Body":15},{"Deduplicated":1550},"Mut"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":15},"end":{"line":248,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3803}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3804}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":46},"end":{"line":248,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":50},"end":{"line":248,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3841,{"Ref":[{"Body":18},{"Deduplicated":1550},"Mut"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":15},"end":{"line":249,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3806}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3807}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":46},"end":{"line":249,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":50},"end":{"line":249,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":39,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2370,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2371,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":2372,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":15},"end":{"line":245,"col":16}},"generated_from_span":null},"id":2373,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":15},"end":{"line":245,"col":16}},"generated_from_span":null},"id":2374,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":8996,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":8997,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":8998,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":8999,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":40},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":2377,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3837}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":40},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":2378,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":2379,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":46},"end":{"line":245,"col":47}},"generated_from_span":null},"id":2380,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":46},"end":{"line":245,"col":47}},"generated_from_span":null},"id":2381,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":9000,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":9001,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":9002,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":9003,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":42},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":2384,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":2385,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":3795}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":50},"end":{"line":245,"col":56}},"generated_from_span":null},"id":2386,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":50},"end":{"line":245,"col":56}},"generated_from_span":null},"id":2387,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2388,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":23},{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3837}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3794}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":56},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2389,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":56},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2390,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":56},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2391,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":57},"end":{"line":245,"col":58}},"generated_from_span":null},"id":2392,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":57},"end":{"line":245,"col":58}},"generated_from_span":null},"id":2393,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":57},"end":{"line":245,"col":58}},"generated_from_span":null},"id":2394,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":57},"end":{"line":245,"col":58}},"generated_from_span":null},"id":2395,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2396,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":2397,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":15},"end":{"line":246,"col":16}},"generated_from_span":null},"id":2398,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":15},"end":{"line":246,"col":16}},"generated_from_span":null},"id":2399,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":9004,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":9005,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":9006,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":9007,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":44},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":2402,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3838}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":44},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":2403,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":2404,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":46},"end":{"line":246,"col":47}},"generated_from_span":null},"id":2405,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":46},"end":{"line":246,"col":47}},"generated_from_span":null},"id":2406,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":9008,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":9009,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":9010,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":9011,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":2409,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3798}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":2410,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3797}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":3798}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":50},"end":{"line":246,"col":56}},"generated_from_span":null},"id":2411,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":50},"end":{"line":246,"col":56}},"generated_from_span":null},"id":2412,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2413,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":27},{"Body":28}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3838}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3797}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":56},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2414,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":56},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2415,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":56},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2416,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":57},"end":{"line":246,"col":58}},"generated_from_span":null},"id":2417,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":57},"end":{"line":246,"col":58}},"generated_from_span":null},"id":2418,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":57},"end":{"line":246,"col":58}},"generated_from_span":null},"id":2419,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":57},"end":{"line":246,"col":58}},"generated_from_span":null},"id":2420,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2421,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":2422,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":15},"end":{"line":247,"col":16}},"generated_from_span":null},"id":2423,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":15},"end":{"line":247,"col":16}},"generated_from_span":null},"id":2424,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":9012,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":9013,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":9014,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":9015,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":2427,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":3839}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":48},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":2428,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":2429,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":46},"end":{"line":247,"col":47}},"generated_from_span":null},"id":2430,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":46},"end":{"line":247,"col":47}},"generated_from_span":null},"id":2431,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":9016,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":9017,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":9018,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":9019,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":2434,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3801}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":50},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":2435,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3800}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":3801}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":50},"end":{"line":247,"col":56}},"generated_from_span":null},"id":2436,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":50},"end":{"line":247,"col":56}},"generated_from_span":null},"id":2437,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2438,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":31},{"Body":32}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3839}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":3800}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":56},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2439,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":56},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2440,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":56},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2441,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":57},"end":{"line":247,"col":58}},"generated_from_span":null},"id":2442,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":57},"end":{"line":247,"col":58}},"generated_from_span":null},"id":2443,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":57},"end":{"line":247,"col":58}},"generated_from_span":null},"id":2444,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":57},"end":{"line":247,"col":58}},"generated_from_span":null},"id":2445,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2446,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":2447,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":15},"end":{"line":248,"col":16}},"generated_from_span":null},"id":2448,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":15},"end":{"line":248,"col":16}},"generated_from_span":null},"id":2449,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":9020,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":9021,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":9022,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":9023,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":2452,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":3840}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":52},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":2453,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":2454,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":46},"end":{"line":248,"col":47}},"generated_from_span":null},"id":2455,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":46},"end":{"line":248,"col":47}},"generated_from_span":null},"id":2456,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":9024,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":9025,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":9026,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":9027,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":30},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":2459,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":3804}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":54},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":2460,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":3803}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":3804}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":50},"end":{"line":248,"col":56}},"generated_from_span":null},"id":2461,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":50},"end":{"line":248,"col":56}},"generated_from_span":null},"id":2462,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2463,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":3840}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":3803}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":25},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":56},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2464,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":56},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2465,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":56},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2466,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":57},"end":{"line":248,"col":58}},"generated_from_span":null},"id":2467,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":57},"end":{"line":248,"col":58}},"generated_from_span":null},"id":2468,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":57},"end":{"line":248,"col":58}},"generated_from_span":null},"id":2469,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":57},"end":{"line":248,"col":58}},"generated_from_span":null},"id":2470,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2471,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":2472,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":15},"end":{"line":249,"col":16}},"generated_from_span":null},"id":2473,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":15},"end":{"line":249,"col":16}},"generated_from_span":null},"id":2474,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":9028,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":9029,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":9030,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":9031,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":2477,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3841}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":56},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":2478,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":2479,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":46},"end":{"line":249,"col":47}},"generated_from_span":null},"id":2480,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":46},"end":{"line":249,"col":47}},"generated_from_span":null},"id":2481,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":9032,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":9033,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":9034,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":9035,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":2484,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":3807}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":58},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":2485,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":3806}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":36},"ty":{"Deduplicated":3807}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":50},"end":{"line":249,"col":56}},"generated_from_span":null},"id":2486,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":50},"end":{"line":249,"col":56}},"generated_from_span":null},"id":2487,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2488,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":39},{"Body":40}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":3841}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":3806}}},{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":56},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2489,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":56},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2490,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":56},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2491,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":57},"end":{"line":249,"col":58}},"generated_from_span":null},"id":2492,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":57},"end":{"line":249,"col":58}},"generated_from_span":null},"id":2493,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":57},"end":{"line":249,"col":58}},"generated_from_span":null},"id":2494,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":57},"end":{"line":249,"col":58}},"generated_from_span":null},"id":2495,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":244,"col":77},"end":{"line":250,"col":5}},"generated_from_span":null},"id":2496,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":250,"col":5},"end":{"line":250,"col":5}},"generated_from_span":null},"id":2497,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":30,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":5,"beg":{"line":236,"col":4},"end":{"line":242,"col":5}},"generated_from_span":null},"source_text":"fn conditional_swap(a: &mut FieldElement51, b: &mut FieldElement51, choice: Choice) {\n u64::conditional_swap(&mut a.0[0], &mut b.0[0], choice);\n u64::conditional_swap(&mut a.0[1], &mut b.0[1], choice);\n u64::conditional_swap(&mut a.0[2], &mut b.0[2], choice);\n u64::conditional_swap(&mut a.0[3], &mut b.0[3], choice);\n u64::conditional_swap(&mut a.0[4], &mut b.0[4], choice);\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10219},{"Deduplicated":10218},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":236,"col":4},"end":{"line":242,"col":5}},"generated_from_span":null},"bound_body_regions":44,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":236,"col":87},"end":{"line":236,"col":87}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"a","span":{"data":{"file_id":5,"beg":{"line":236,"col":24},"end":{"line":236,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"b","span":{"data":{"file_id":5,"beg":{"line":236,"col":48},"end":{"line":236,"col":49}},"generated_from_span":null},"ty":{"HashConsedValue":[3788,{"Ref":[{"Body":2},{"Deduplicated":1391},"Mut"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":5,"beg":{"line":236,"col":72},"end":{"line":236,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":8},"end":{"line":237,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3836,{"Ref":[{"Body":4},{"Deduplicated":1550},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3837}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":39},"end":{"line":237,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3844,{"Ref":[{"Body":6},{"Deduplicated":1550},"Mut"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3845,{"Ref":[{"Body":7},{"Deduplicated":1550},"Mut"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":52},"end":{"line":237,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":56},"end":{"line":237,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":8},"end":{"line":238,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3846,{"Ref":[{"Body":8},{"Deduplicated":1550},"Mut"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3838}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":39},"end":{"line":238,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3847,{"Ref":[{"Body":10},{"Deduplicated":1550},"Mut"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3848,{"Ref":[{"Body":11},{"Deduplicated":1550},"Mut"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":52},"end":{"line":238,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":56},"end":{"line":238,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":8},"end":{"line":239,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3839}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3849,{"Ref":[{"Body":13},{"Deduplicated":1550},"Mut"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":39},"end":{"line":239,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3850,{"Ref":[{"Body":14},{"Deduplicated":1550},"Mut"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":3840}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":52},"end":{"line":239,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":56},"end":{"line":239,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":8},"end":{"line":240,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3851,{"Ref":[{"Body":16},{"Deduplicated":1550},"Mut"]}]}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3852,{"Ref":[{"Body":17},{"Deduplicated":1550},"Mut"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":39},"end":{"line":240,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":3841}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3853,{"Ref":[{"Body":19},{"Deduplicated":1550},"Mut"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":52},"end":{"line":240,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":56},"end":{"line":240,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":8},"end":{"line":241,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3854,{"Ref":[{"Body":20},{"Deduplicated":1550},"Mut"]}]}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3855,{"Ref":[{"Body":21},{"Deduplicated":1550},"Mut"]}]}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":39},"end":{"line":241,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3856,{"Ref":[{"Body":22},{"Deduplicated":1550},"Mut"]}]}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3857,{"Ref":[{"Body":23},{"Deduplicated":1550},"Mut"]}]}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":52},"end":{"line":241,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":56},"end":{"line":241,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2508,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":8},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2509,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":2510,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":2511,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":39},"end":{"line":237,"col":40}},"generated_from_span":null},"id":2512,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":39},"end":{"line":237,"col":40}},"generated_from_span":null},"id":2513,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":9036,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":9037,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":9038,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":9039,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":45},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":2516,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3837}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":45},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":2517,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3836}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":3837}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":2518,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":2519,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":52},"end":{"line":237,"col":53}},"generated_from_span":null},"id":2520,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":52},"end":{"line":237,"col":53}},"generated_from_span":null},"id":2521,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":9040,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":9041,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":9042,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":9043,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":2524,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3845}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":47},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":2525,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3844}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":3845}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":56},"end":{"line":237,"col":62}},"generated_from_span":null},"id":2526,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":56},"end":{"line":237,"col":62}},"generated_from_span":null},"id":2527,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":8},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2528,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3836}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3844}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":62},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2529,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":62},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2530,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":62},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2531,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2532,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2533,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2534,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2535,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2536,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":8},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2537,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":2538,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":2539,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":39},"end":{"line":238,"col":40}},"generated_from_span":null},"id":2540,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":39},"end":{"line":238,"col":40}},"generated_from_span":null},"id":2541,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":9044,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":9045,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":9046,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":9047,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":49},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":2544,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3838}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":49},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":2545,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":3846}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":3838}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":2546,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":2547,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":52},"end":{"line":238,"col":53}},"generated_from_span":null},"id":2548,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":52},"end":{"line":238,"col":53}},"generated_from_span":null},"id":2549,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":9048,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":9049,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":9050,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":9051,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":51},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":2552,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":3848}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":51},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":2553,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":3847}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":3848}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":56},"end":{"line":238,"col":62}},"generated_from_span":null},"id":2554,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":56},"end":{"line":238,"col":62}},"generated_from_span":null},"id":2555,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":8},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2556,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":3846}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":3847}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":62},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2557,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":62},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2558,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":62},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2559,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2560,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2561,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2562,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2563,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2564,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":8},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2565,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":2566,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":2567,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":39},"end":{"line":239,"col":40}},"generated_from_span":null},"id":2568,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":39},"end":{"line":239,"col":40}},"generated_from_span":null},"id":2569,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":9052,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":9053,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":9054,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":9055,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":53},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":2572,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3849}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":53},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":2573,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3839}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":3849}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":2574,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":2575,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":52},"end":{"line":239,"col":53}},"generated_from_span":null},"id":2576,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":52},"end":{"line":239,"col":53}},"generated_from_span":null},"id":2577,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":9056,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":9057,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":9058,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":9059,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":55},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":2580,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":3840}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":55},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":2581,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":3850}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":3840}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":56},"end":{"line":239,"col":62}},"generated_from_span":null},"id":2582,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":56},"end":{"line":239,"col":62}},"generated_from_span":null},"id":2583,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":8},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2584,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":3839}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":3850}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":62},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2585,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":62},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2586,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":62},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2587,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2588,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2589,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2590,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2591,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2592,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":8},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2593,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":2594,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":2595,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":39},"end":{"line":240,"col":40}},"generated_from_span":null},"id":2596,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":39},"end":{"line":240,"col":40}},"generated_from_span":null},"id":2597,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":9060,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":9061,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":9062,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":9063,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":57},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":2600,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":3852}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":2601,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":3851}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":3852}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":2602,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":2603,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":52},"end":{"line":240,"col":53}},"generated_from_span":null},"id":2604,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":52},"end":{"line":240,"col":53}},"generated_from_span":null},"id":2605,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":9064,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":9065,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":9066,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":9067,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":59},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":2608,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3853}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":2609,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":3841}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":33},"ty":{"Deduplicated":3853}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":56},"end":{"line":240,"col":62}},"generated_from_span":null},"id":2610,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":56},"end":{"line":240,"col":62}},"generated_from_span":null},"id":2611,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":8},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2612,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":3851}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":3841}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":62},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2613,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":62},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2614,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":62},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2615,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2616,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2617,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2618,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2619,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2620,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":8},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2621,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":2622,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":2623,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":39},"end":{"line":241,"col":40}},"generated_from_span":null},"id":2624,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":39},"end":{"line":241,"col":40}},"generated_from_span":null},"id":2625,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":9068,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":9069,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":9070,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":9071,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":2628,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":3855}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":2629,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":3854}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":3855}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":2630,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":2631,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":52},"end":{"line":241,"col":53}},"generated_from_span":null},"id":2632,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":52},"end":{"line":241,"col":53}},"generated_from_span":null},"id":2633,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":9072,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":9073,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":9074,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":9075,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":63},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":2636,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":3857}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":2637,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":3856}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":41},"ty":{"Deduplicated":3857}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":56},"end":{"line":241,"col":62}},"generated_from_span":null},"id":2638,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":56},"end":{"line":241,"col":62}},"generated_from_span":null},"id":2639,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":8},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2640,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":3854}}},{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":3856}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":36},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":62},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2641,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":62},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2642,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":62},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2643,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2644,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2645,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2646,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2647,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2648,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":236,"col":88},"end":{"line":242,"col":5}},"generated_from_span":null},"id":2649,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":242,"col":5},"end":{"line":242,"col":5}},"generated_from_span":null},"id":2650,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":31,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_limbs",0]}],"span":{"data":{"file_id":5,"beg":{"line":254,"col":4},"end":{"line":256,"col":5}},"generated_from_span":null},"source_text":"pub(crate) const fn from_limbs(limbs: [u64; 5]) -> FieldElement51 {\n FieldElement51(limbs)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1552}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":254,"col":4},"end":{"line":256,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":254,"col":55},"end":{"line":254,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"limbs","span":{"data":{"file_id":5,"beg":{"line":254,"col":35},"end":{"line":254,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":255,"col":23},"end":{"line":255,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":255,"col":8},"end":{"line":256,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":255,"col":23},"end":{"line":255,"col":28}},"generated_from_span":null},"id":2651,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":255,"col":23},"end":{"line":255,"col":28}},"generated_from_span":null},"id":2652,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":255,"col":8},"end":{"line":255,"col":29}},"generated_from_span":null},"id":2653,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":255,"col":28},"end":{"line":255,"col":29}},"generated_from_span":null},"id":2654,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":256,"col":5},"end":{"line":256,"col":5}},"generated_from_span":null},"id":2655,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":32,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["negate",0]}],"span":{"data":{"file_id":5,"beg":{"line":272,"col":4},"end":{"line":282,"col":5}},"generated_from_span":null},"source_text":"pub fn negate(&mut self) {\n // See commentary in the Sub impl\n let neg = FieldElement51::reduce([\n 36028797018963664u64 - self.0[0],\n 36028797018963952u64 - self.0[1],\n 36028797018963952u64 - self.0[2],\n 36028797018963952u64 - self.0[3],\n 36028797018963952u64 - self.0[4],\n ]);\n self.0 = neg.0;\n }","attr_info":{"attributes":[{"DocComment":" Invert the sign of this field element"}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10219}],"output":{"Deduplicated":1443}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":272,"col":4},"end":{"line":282,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":272,"col":28},"end":{"line":272,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":272,"col":18},"end":{"line":272,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"neg","span":{"data":{"file_id":5,"beg":{"line":274,"col":12},"end":{"line":274,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":274,"col":41},"end":{"line":280,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":275,"col":42},"end":{"line":275,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":276,"col":42},"end":{"line":276,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":277,"col":42},"end":{"line":277,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":278,"col":42},"end":{"line":278,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":279,"col":42},"end":{"line":279,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":281,"col":17},"end":{"line":281,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":25,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":26,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":32,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":34,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2657,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2659,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2661,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2663,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2665,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2666,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":274,"col":12},"end":{"line":274,"col":15}},"generated_from_span":null},"id":2667,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":274,"col":41},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2668,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2669,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2670,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":42},"end":{"line":275,"col":43}},"generated_from_span":null},"id":2671,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":42},"end":{"line":275,"col":43}},"generated_from_span":null},"id":2672,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["See commentary in the Sub impl"]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":9076,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":9077,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":9078,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":9079,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":26},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2675,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2676,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963664"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2678,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":43},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2679,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2680,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2681,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":42},"end":{"line":276,"col":43}},"generated_from_span":null},"id":2682,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":42},"end":{"line":276,"col":43}},"generated_from_span":null},"id":2683,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":9080,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":9081,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":9082,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":9083,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2686,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2687,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2689,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":43},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2690,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2691,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2692,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":42},"end":{"line":277,"col":43}},"generated_from_span":null},"id":2693,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":42},"end":{"line":277,"col":43}},"generated_from_span":null},"id":2694,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":9084,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":9085,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":9086,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":9087,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":30},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2697,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2698,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2700,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":43},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2701,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2702,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2703,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":42},"end":{"line":278,"col":43}},"generated_from_span":null},"id":2704,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":42},"end":{"line":278,"col":43}},"generated_from_span":null},"id":2705,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":9088,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":9089,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":9090,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":9091,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2708,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":32},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2709,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2711,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":43},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2712,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2713,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2714,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":42},"end":{"line":279,"col":43}},"generated_from_span":null},"id":2715,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":42},"end":{"line":279,"col":43}},"generated_from_span":null},"id":2716,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":9092,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":9093,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":9094,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":9095,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":34},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2719,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2720,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2722,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":43},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2723,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":274,"col":41},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2724,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2725,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2726,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2727,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2728,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2729,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":274,"col":18},"end":{"line":280,"col":10}},"generated_from_span":null},"id":2730,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":33}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":9},"end":{"line":280,"col":10}},"generated_from_span":null},"id":2731,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2732,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2733,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2734,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2735,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2736,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":281,"col":17},"end":{"line":281,"col":22}},"generated_from_span":null},"id":2737,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":281,"col":17},"end":{"line":281,"col":22}},"generated_from_span":null},"id":2738,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":281,"col":8},"end":{"line":281,"col":22}},"generated_from_span":null},"id":2739,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":281,"col":21},"end":{"line":281,"col":22}},"generated_from_span":null},"id":2740,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":272,"col":29},"end":{"line":282,"col":5}},"generated_from_span":null},"id":2741,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":282,"col":4},"end":{"line":282,"col":5}},"generated_from_span":null},"id":2742,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":282,"col":5},"end":{"line":282,"col":5}},"generated_from_span":null},"id":2743,"kind":"Return","comments_before":[]}]},"comments":[[274,["See commentary in the Sub impl"]]]}}},{"def_id":33,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]}],"span":{"data":{"file_id":5,"beg":{"line":286,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"source_text":"fn reduce(mut limbs: [u64; 5]) -> FieldElement51 {\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n\n // Since the input limbs are bounded by 2^64, the biggest\n // carry-out is bounded by 2^13.\n //\n // The biggest carry-in is c4 * 19, resulting in\n //\n // 2^51 + 19*2^13 < 2^51.0000000001\n //\n // Because we don't need to canonicalize, only to reduce the\n // limb sizes, it's OK to do a \"weak reduction\", where we\n // compute the carry-outs in parallel.\n\n let c0 = limbs[0] >> 51;\n let c1 = limbs[1] >> 51;\n let c2 = limbs[2] >> 51;\n let c3 = limbs[3] >> 51;\n let c4 = limbs[4] >> 51;\n\n limbs[0] &= LOW_51_BIT_MASK;\n limbs[1] &= LOW_51_BIT_MASK;\n limbs[2] &= LOW_51_BIT_MASK;\n limbs[3] &= LOW_51_BIT_MASK;\n limbs[4] &= LOW_51_BIT_MASK;\n\n limbs[0] += c4 * 19;\n limbs[1] += c0;\n limbs[2] += c1;\n limbs[3] += c2;\n limbs[4] += c3;\n\n FieldElement51(limbs)\n }","attr_info":{"attributes":[{"DocComment":" Given 64-bit input limbs, reduce to enforce the bound 2^(51 + epsilon)."}],"inline":"Always","rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1552}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":286,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":286,"col":38},"end":{"line":286,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"limbs","span":{"data":{"file_id":5,"beg":{"line":286,"col":14},"end":{"line":286,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":2,"name":"c0","span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":300,"col":23},"end":{"line":300,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":5,"name":"c1","span":{"data":{"file_id":5,"beg":{"line":301,"col":12},"end":{"line":301,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":301,"col":23},"end":{"line":301,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":8,"name":"c2","span":{"data":{"file_id":5,"beg":{"line":302,"col":12},"end":{"line":302,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":302,"col":23},"end":{"line":302,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":"c3","span":{"data":{"file_id":5,"beg":{"line":303,"col":12},"end":{"line":303,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":303,"col":23},"end":{"line":303,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":"c4","span":{"data":{"file_id":5,"beg":{"line":304,"col":12},"end":{"line":304,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":304,"col":23},"end":{"line":304,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":306,"col":14},"end":{"line":306,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":307,"col":14},"end":{"line":307,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":308,"col":14},"end":{"line":308,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":309,"col":14},"end":{"line":309,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":310,"col":14},"end":{"line":310,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":14},"end":{"line":312,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":313,"col":20},"end":{"line":313,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":313,"col":14},"end":{"line":313,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":314,"col":20},"end":{"line":314,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":314,"col":14},"end":{"line":314,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":315,"col":20},"end":{"line":315,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":315,"col":14},"end":{"line":315,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":316,"col":20},"end":{"line":316,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":316,"col":14},"end":{"line":316,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":318,"col":23},"end":{"line":318,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":66,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":69,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":70,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":71,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":72,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":73,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":74,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":75,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":76,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":77,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":78,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":79,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":80,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":81,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":82,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":83,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":84,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":85,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":86,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":87,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":88,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":89,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":90,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":91,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":92,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":93,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":94,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":319,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2764,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2766,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2768,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2770,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2772,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2774,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2775,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":2776,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":23},"end":{"line":300,"col":24}},"generated_from_span":null},"id":2777,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":23},"end":{"line":300,"col":24}},"generated_from_span":null},"id":2778,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Since the input limbs are bounded by 2^64, the biggest","carry-out is bounded by 2^13.","","The biggest carry-in is c4 * 19, resulting in","","2^51 + 19*2^13 < 2^51.0000000001","","Because we don't need to canonicalize, only to reduce the","limb sizes, it's OK to do a \"weak reduction\", where we","compute the carry-outs in parallel."]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":9096,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":9097,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":9098,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":9099,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":2781,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":31}},"generated_from_span":null},"id":2785,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":30},"end":{"line":300,"col":31}},"generated_from_span":null},"id":2786,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":31},"end":{"line":300,"col":32}},"generated_from_span":null},"id":2787,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":12},"end":{"line":301,"col":14}},"generated_from_span":null},"id":2788,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":2789,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":23},"end":{"line":301,"col":24}},"generated_from_span":null},"id":2790,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":23},"end":{"line":301,"col":24}},"generated_from_span":null},"id":2791,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":9100,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":9101,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":9102,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":9103,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":2794,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":48},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":31}},"generated_from_span":null},"id":2798,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":30},"end":{"line":301,"col":31}},"generated_from_span":null},"id":2799,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":31},"end":{"line":301,"col":32}},"generated_from_span":null},"id":2800,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":12},"end":{"line":302,"col":14}},"generated_from_span":null},"id":2801,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":2802,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":23},"end":{"line":302,"col":24}},"generated_from_span":null},"id":2803,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":23},"end":{"line":302,"col":24}},"generated_from_span":null},"id":2804,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":9104,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":9105,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":9106,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":9107,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":2807,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":50},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":31}},"generated_from_span":null},"id":2811,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":30},"end":{"line":302,"col":31}},"generated_from_span":null},"id":2812,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":31},"end":{"line":302,"col":32}},"generated_from_span":null},"id":2813,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":12},"end":{"line":303,"col":14}},"generated_from_span":null},"id":2814,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":2815,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":23},"end":{"line":303,"col":24}},"generated_from_span":null},"id":2816,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":23},"end":{"line":303,"col":24}},"generated_from_span":null},"id":2817,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":9108,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":9109,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":9110,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":9111,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":2820,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":52},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":31}},"generated_from_span":null},"id":2824,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":30},"end":{"line":303,"col":31}},"generated_from_span":null},"id":2825,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":31},"end":{"line":303,"col":32}},"generated_from_span":null},"id":2826,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":12},"end":{"line":304,"col":14}},"generated_from_span":null},"id":2827,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":2828,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":23},"end":{"line":304,"col":24}},"generated_from_span":null},"id":2829,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":23},"end":{"line":304,"col":24}},"generated_from_span":null},"id":2830,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":9112,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":9113,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":9114,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":9115,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":2833,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":54},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":31}},"generated_from_span":null},"id":2837,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":30},"end":{"line":304,"col":31}},"generated_from_span":null},"id":2838,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":31},"end":{"line":304,"col":32}},"generated_from_span":null},"id":2839,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":14},"end":{"line":306,"col":15}},"generated_from_span":null},"id":2840,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":14},"end":{"line":306,"col":15}},"generated_from_span":null},"id":2841,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":2844,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":9116,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":9117,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":9118,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":9119,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":2845,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":56},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":9120,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":9121,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":9122,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":9123,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":2846,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":58},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":35},"end":{"line":306,"col":36}},"generated_from_span":null},"id":2847,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":14},"end":{"line":307,"col":15}},"generated_from_span":null},"id":2848,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":14},"end":{"line":307,"col":15}},"generated_from_span":null},"id":2849,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":2852,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":9124,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":9125,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":9126,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":9127,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":2853,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":9128,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":9129,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":9130,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":9131,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":62},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":2854,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":62},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":35},"end":{"line":307,"col":36}},"generated_from_span":null},"id":2855,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":14},"end":{"line":308,"col":15}},"generated_from_span":null},"id":2856,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":14},"end":{"line":308,"col":15}},"generated_from_span":null},"id":2857,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":2860,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":9132,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":9133,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":9134,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":9135,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":64},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":2861,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":64},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":9136,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":9137,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":9138,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":9139,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":66},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":2862,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":66},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":35},"end":{"line":308,"col":36}},"generated_from_span":null},"id":2863,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":14},"end":{"line":309,"col":15}},"generated_from_span":null},"id":2864,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":14},"end":{"line":309,"col":15}},"generated_from_span":null},"id":2865,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":2868,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":9140,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":9141,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":9142,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":9143,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":67},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":68},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":2869,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":68},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":9144,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":9145,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":9146,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":9147,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":70},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":2870,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":70},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":35},"end":{"line":309,"col":36}},"generated_from_span":null},"id":2871,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":14},"end":{"line":310,"col":15}},"generated_from_span":null},"id":2872,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":14},"end":{"line":310,"col":15}},"generated_from_span":null},"id":2873,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":2876,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":9148,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":9149,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":9150,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":9151,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":72},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":2877,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":72},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":9152,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":9153,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":9154,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":9155,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":74},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":2878,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":74},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":35},"end":{"line":310,"col":36}},"generated_from_span":null},"id":2879,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2880,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":22}},"generated_from_span":null},"id":2881,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":22}},"generated_from_span":null},"id":2882,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2883,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2885,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":26},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2886,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":14},"end":{"line":312,"col":15}},"generated_from_span":null},"id":2887,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":14},"end":{"line":312,"col":15}},"generated_from_span":null},"id":2888,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":9156,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":9157,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":9158,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":9159,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":76},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2891,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":76},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":9160,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":9161,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":9162,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":9163,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":78},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2893,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":78},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":26},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2894,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":27},"end":{"line":312,"col":28}},"generated_from_span":null},"id":2895,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":20},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2896,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":20},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2897,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":14},"end":{"line":313,"col":15}},"generated_from_span":null},"id":2898,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":14},"end":{"line":313,"col":15}},"generated_from_span":null},"id":2899,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":9164,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":9165,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":9166,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":9167,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":79},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":80},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2902,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":80},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":9168,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":9169,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":9170,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":9171,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":82},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2904,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":82},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":21},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2905,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":22},"end":{"line":313,"col":23}},"generated_from_span":null},"id":2906,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":20},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2907,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":20},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2908,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":14},"end":{"line":314,"col":15}},"generated_from_span":null},"id":2909,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":14},"end":{"line":314,"col":15}},"generated_from_span":null},"id":2910,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":9172,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":9173,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":9174,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":9175,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":84},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2913,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":84},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":9176,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":9177,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":9178,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":9179,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":85},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":86},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2915,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":86},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":21},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2916,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":22},"end":{"line":314,"col":23}},"generated_from_span":null},"id":2917,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":20},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2918,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":20},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2919,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":14},"end":{"line":315,"col":15}},"generated_from_span":null},"id":2920,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":14},"end":{"line":315,"col":15}},"generated_from_span":null},"id":2921,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":9180,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":9181,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":9182,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":9183,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":87},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":88},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2924,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":88},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":9184,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":9185,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":9186,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":9187,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":89},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":90},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2926,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":90},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":21},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2927,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":22},"end":{"line":315,"col":23}},"generated_from_span":null},"id":2928,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":20},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2929,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":20},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2930,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":14},"end":{"line":316,"col":15}},"generated_from_span":null},"id":2931,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":14},"end":{"line":316,"col":15}},"generated_from_span":null},"id":2932,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":9188,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":9189,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":9190,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":9191,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":91},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":92},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2935,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":92},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":9192,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":9193,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":9194,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":9195,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":93},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":94},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2937,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":94},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":21},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2938,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":22},"end":{"line":316,"col":23}},"generated_from_span":null},"id":2939,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":318,"col":23},"end":{"line":318,"col":28}},"generated_from_span":null},"id":2940,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":318,"col":23},"end":{"line":318,"col":28}},"generated_from_span":null},"id":2941,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":318,"col":8},"end":{"line":318,"col":29}},"generated_from_span":null},"id":2942,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":318,"col":28},"end":{"line":318,"col":29}},"generated_from_span":null},"id":2943,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2944,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2945,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2946,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2947,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2948,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":5},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2949,"kind":"Return","comments_before":[]}]},"comments":[[299,["Since the input limbs are bounded by 2^64, the biggest","carry-out is bounded by 2^13.","","The biggest carry-in is c4 * 19, resulting in","","2^51 + 19*2^13 < 2^51.0000000001","","Because we don't need to canonicalize, only to reduce the","limb sizes, it's OK to do a \"weak reduction\", where we","compute the carry-outs in parallel."]]]}}},{"def_id":34,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_bytes",0]}],"span":{"data":{"file_id":5,"beg":{"line":334,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"source_text":"pub const fn from_bytes(bytes: &[u8; 32]) -> FieldElement51 {\n const fn load8_at(input: &[u8], i: usize) -> u64 {\n (input[i] as u64)\n | ((input[i + 1] as u64) << 8)\n | ((input[i + 2] as u64) << 16)\n | ((input[i + 3] as u64) << 24)\n | ((input[i + 4] as u64) << 32)\n | ((input[i + 5] as u64) << 40)\n | ((input[i + 6] as u64) << 48)\n | ((input[i + 7] as u64) << 56)\n }\n\n let low_51_bit_mask = (1u64 << 51) - 1;\n FieldElement51(\n // load bits [ 0, 64), no shift\n [ load8_at(bytes, 0) & low_51_bit_mask\n // load bits [ 48,112), shift to [ 51,112)\n , (load8_at(bytes, 6) >> 3) & low_51_bit_mask\n // load bits [ 96,160), shift to [102,160)\n , (load8_at(bytes, 12) >> 6) & low_51_bit_mask\n // load bits [152,216), shift to [153,216)\n , (load8_at(bytes, 19) >> 1) & low_51_bit_mask\n // load bits [192,256), shift to [204,112)\n , (load8_at(bytes, 24) >> 12) & low_51_bit_mask\n ])\n }","attr_info":{"attributes":[{"DocComment":" Load a `FieldElement51` from the low 255 bits of a 256-bit"},{"DocComment":" input."},{"DocComment":""},{"DocComment":" # Warning"},{"DocComment":""},{"DocComment":" This function does not check that the input used the canonical"},{"DocComment":" representative. It masks the high bit, but it will happily"},{"DocComment":" decode 2^255 - 18 to 1. Applications that require a canonical"},{"DocComment":" encoding of every field element should decode, re-encode to"},{"DocComment":" the canonical encoding, and check that the input was"},{"DocComment":" canonical."},{"DocComment":""},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10220,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2114},"Shared"]}]}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":334,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"bound_body_regions":28,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":334,"col":49},"end":{"line":334,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"bytes","span":{"data":{"file_id":5,"beg":{"line":334,"col":28},"end":{"line":334,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[3867,{"Ref":[{"Body":1},{"Deduplicated":2114},"Shared"]}]}},{"index":2,"name":"low_51_bit_mask","span":{"data":{"file_id":5,"beg":{"line":346,"col":12},"end":{"line":346,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2827}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2881,{"Ref":[{"Body":4},{"Deduplicated":2114},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":40},"end":{"line":349,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":11},"end":{"line":351,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[3868,{"Ref":[{"Body":5},{"Deduplicated":2239},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2831}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":40},"end":{"line":351,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":11},"end":{"line":353,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2832}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2833}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":40},"end":{"line":353,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":11},"end":{"line":355,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2884,{"Ref":[{"Body":9},{"Deduplicated":2239},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[3869,{"Ref":[{"Body":10},{"Deduplicated":2114},"Shared"]}]}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":40},"end":{"line":355,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":11},"end":{"line":357,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2836,{"Ref":[{"Body":11},{"Deduplicated":2239},"Shared"]}]}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[3870,{"Ref":[{"Body":12},{"Deduplicated":2114},"Shared"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":40},"end":{"line":357,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":346,"col":12},"end":{"line":359,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":346,"col":12},"end":{"line":346,"col":27}},"generated_from_span":null},"id":2952,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":12},"end":{"line":346,"col":27}},"generated_from_span":null},"id":2961,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":42}},"generated_from_span":null},"id":2962,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":42}},"generated_from_span":null},"id":2966,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":46}},"generated_from_span":null},"id":2967,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":46}},"generated_from_span":null},"id":2969,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":45},"end":{"line":346,"col":46}},"generated_from_span":null},"id":2970,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":2971,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2972,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":30}},"generated_from_span":null},"id":2973,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2974,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2975,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2976,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2881}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [ 0, 64), no shift"]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2977,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2881}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":2827}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":24},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2978,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":30}},"generated_from_span":null},"id":2979,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2827}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":29},"end":{"line":349,"col":30}},"generated_from_span":null},"id":2980,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":40},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2981,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":40},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2982,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2983,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":54},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2984,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":54},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2985,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":55}},"generated_from_span":null},"id":2986,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":37}},"generated_from_span":null},"id":2987,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":11},"end":{"line":351,"col":30}},"generated_from_span":null},"id":2988,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2989,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2990,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2991,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2831}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [ 48,112), shift to [ 51,112)"]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2992,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2831}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":3868}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":24},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2993,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":11},"end":{"line":351,"col":30}},"generated_from_span":null},"id":2994,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3868}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","6"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":29},"end":{"line":351,"col":30}},"generated_from_span":null},"id":2995,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":37}},"generated_from_span":null},"id":2999,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","3"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":36},"end":{"line":351,"col":37}},"generated_from_span":null},"id":3000,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":40},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3001,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":40},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3002,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3003,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":54},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3004,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":54},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3005,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3006,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":37}},"generated_from_span":null},"id":3007,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":11},"end":{"line":353,"col":30}},"generated_from_span":null},"id":3008,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3009,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3010,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3011,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2833}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [ 96,160), shift to [102,160)"]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3012,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2833}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":2832}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":24},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3013,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":11},"end":{"line":353,"col":30}},"generated_from_span":null},"id":3014,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2832}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","12"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":29},"end":{"line":353,"col":30}},"generated_from_span":null},"id":3015,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":37}},"generated_from_span":null},"id":3019,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","6"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":36},"end":{"line":353,"col":37}},"generated_from_span":null},"id":3020,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":40},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3021,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":40},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3022,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3023,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":54},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3024,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":54},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3025,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3026,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":37}},"generated_from_span":null},"id":3027,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":11},"end":{"line":355,"col":30}},"generated_from_span":null},"id":3028,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3029,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3030,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3031,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":3869}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [152,216), shift to [153,216)"]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3032,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":3869}}}],"dest":{"kind":{"Local":26},"ty":{"Deduplicated":2884}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":24},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3033,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":11},"end":{"line":355,"col":30}},"generated_from_span":null},"id":3034,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2884}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","19"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":29},"end":{"line":355,"col":30}},"generated_from_span":null},"id":3035,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":37}},"generated_from_span":null},"id":3039,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","1"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":36},"end":{"line":355,"col":37}},"generated_from_span":null},"id":3040,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":40},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3041,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":40},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3042,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3043,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":54},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3044,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":54},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3045,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3046,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":37}},"generated_from_span":null},"id":3047,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":11},"end":{"line":357,"col":30}},"generated_from_span":null},"id":3048,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3049,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3050,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3051,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3870}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [192,256), shift to [204,112)"]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3052,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":3870}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":2836}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":24},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3053,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":11},"end":{"line":357,"col":30}},"generated_from_span":null},"id":3054,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2836}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","24"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":29},"end":{"line":357,"col":30}},"generated_from_span":null},"id":3055,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":37}},"generated_from_span":null},"id":3059,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","12"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":36},"end":{"line":357,"col":37}},"generated_from_span":null},"id":3060,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":40},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3061,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":40},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3062,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3063,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":34},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":54},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3064,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":54},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3065,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3066,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3067,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3068,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3069,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3070,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3071,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":347,"col":8},"end":{"line":358,"col":10}},"generated_from_span":null},"id":3072,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":9},"end":{"line":358,"col":10}},"generated_from_span":null},"id":3073,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":359,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"id":3074,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":359,"col":5},"end":{"line":359,"col":5}},"generated_from_span":null},"id":3075,"kind":"Return","comments_before":[]}]},"comments":[[349,["load bits [ 0, 64), no shift"]],[351,["load bits [ 48,112), shift to [ 51,112)"]],[353,["load bits [ 96,160), shift to [102,160)"]],[355,["load bits [152,216), shift to [153,216)"]],[357,["load bits [192,256), shift to [204,112)"]]]}}},{"def_id":35,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["to_bytes",0]}],"span":{"data":{"file_id":5,"beg":{"line":364,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"source_text":"pub fn to_bytes(self) -> [u8; 32] {\n // Let h = limbs[0] + limbs[1]*2^51 + ... + limbs[4]*2^204.\n //\n // Write h = pq + r with 0 <= r < p.\n //\n // We want to compute r = h mod p.\n //\n // If h < 2*p = 2^256 - 38,\n // then q = 0 or 1,\n //\n // with q = 0 when h < p\n // and q = 1 when h >= p.\n //\n // Notice that h >= p <==> h + 19 >= p + 19 <==> h + 19 >= 2^255.\n // Therefore q can be computed as the carry bit of h + 19.\n\n // First, reduce the limbs to ensure h < 2*p.\n let mut limbs = FieldElement51::reduce(self.0).0;\n\n let mut q = (limbs[0] + 19) >> 51;\n q = (limbs[1] + q) >> 51;\n q = (limbs[2] + q) >> 51;\n q = (limbs[3] + q) >> 51;\n q = (limbs[4] + q) >> 51;\n\n // Now we can compute r as r = h - pq = r - (2^255-19)q = r + 19q - 2^255q\n\n limbs[0] += 19 * q;\n\n // Now carry the result to compute r + 19q ...\n let low_51_bit_mask = (1u64 << 51) - 1;\n limbs[1] += limbs[0] >> 51;\n limbs[0] &= low_51_bit_mask;\n limbs[2] += limbs[1] >> 51;\n limbs[1] &= low_51_bit_mask;\n limbs[3] += limbs[2] >> 51;\n limbs[2] &= low_51_bit_mask;\n limbs[4] += limbs[3] >> 51;\n limbs[3] &= low_51_bit_mask;\n // ... but instead of carrying (limbs[4] >> 51) = 2^255q\n // into another limb, discard it, subtracting the value\n limbs[4] &= low_51_bit_mask;\n\n // Now arrange the bits of the limbs.\n let mut s = [0u8;32];\n s[ 0] = limbs[0] as u8;\n s[ 1] = (limbs[0] >> 8) as u8;\n s[ 2] = (limbs[0] >> 16) as u8;\n s[ 3] = (limbs[0] >> 24) as u8;\n s[ 4] = (limbs[0] >> 32) as u8;\n s[ 5] = (limbs[0] >> 40) as u8;\n s[ 6] = ((limbs[0] >> 48) | (limbs[1] << 3)) as u8;\n s[ 7] = (limbs[1] >> 5) as u8;\n s[ 8] = (limbs[1] >> 13) as u8;\n s[ 9] = (limbs[1] >> 21) as u8;\n s[10] = (limbs[1] >> 29) as u8;\n s[11] = (limbs[1] >> 37) as u8;\n s[12] = ((limbs[1] >> 45) | (limbs[2] << 6)) as u8;\n s[13] = (limbs[2] >> 2) as u8;\n s[14] = (limbs[2] >> 10) as u8;\n s[15] = (limbs[2] >> 18) as u8;\n s[16] = (limbs[2] >> 26) as u8;\n s[17] = (limbs[2] >> 34) as u8;\n s[18] = (limbs[2] >> 42) as u8;\n s[19] = ((limbs[2] >> 50) | (limbs[3] << 1)) as u8;\n s[20] = (limbs[3] >> 7) as u8;\n s[21] = (limbs[3] >> 15) as u8;\n s[22] = (limbs[3] >> 23) as u8;\n s[23] = (limbs[3] >> 31) as u8;\n s[24] = (limbs[3] >> 39) as u8;\n s[25] = ((limbs[3] >> 47) | (limbs[4] << 4)) as u8;\n s[26] = (limbs[4] >> 4) as u8;\n s[27] = (limbs[4] >> 12) as u8;\n s[28] = (limbs[4] >> 20) as u8;\n s[29] = (limbs[4] >> 28) as u8;\n s[30] = (limbs[4] >> 36) as u8;\n s[31] = (limbs[4] >> 44) as u8;\n\n // High bit should be zero.\n debug_assert!((s[31] & 0b1000_0000u8) == 0u8);\n\n s\n }","attr_info":{"attributes":[{"DocComment":" Serialize this `FieldElement51` to a 32-byte array. The"},{"DocComment":" encoding is canonical."},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1391}],"output":{"Deduplicated":2114}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":364,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":364,"col":29},"end":{"line":364,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":364,"col":20},"end":{"line":364,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":2,"name":"limbs","span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":381,"col":24},"end":{"line":381,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":381,"col":47},"end":{"line":381,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":5,"name":"q","span":{"data":{"file_id":5,"beg":{"line":383,"col":12},"end":{"line":383,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":383,"col":27},"end":{"line":383,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":19},"end":{"line":384,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":24},"end":{"line":384,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":19},"end":{"line":385,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":24},"end":{"line":385,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":19},"end":{"line":386,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":24},"end":{"line":386,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":19},"end":{"line":387,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":24},"end":{"line":387,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":14},"end":{"line":391,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":35,"name":"low_51_bit_mask","span":{"data":{"file_id":5,"beg":{"line":394,"col":12},"end":{"line":394,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":26},"end":{"line":395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":14},"end":{"line":395,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":396,"col":20},"end":{"line":396,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":396,"col":14},"end":{"line":396,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":45,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":46,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":47,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":26},"end":{"line":397,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":48,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":14},"end":{"line":397,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":49,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":50,"name":null,"span":{"data":{"file_id":5,"beg":{"line":398,"col":20},"end":{"line":398,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":51,"name":null,"span":{"data":{"file_id":5,"beg":{"line":398,"col":14},"end":{"line":398,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":52,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":53,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":54,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":26},"end":{"line":399,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":55,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":14},"end":{"line":399,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":56,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":57,"name":null,"span":{"data":{"file_id":5,"beg":{"line":400,"col":20},"end":{"line":400,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":58,"name":null,"span":{"data":{"file_id":5,"beg":{"line":400,"col":14},"end":{"line":400,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":59,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":60,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":61,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":26},"end":{"line":401,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":62,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":14},"end":{"line":401,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":63,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":64,"name":null,"span":{"data":{"file_id":5,"beg":{"line":402,"col":20},"end":{"line":402,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":65,"name":null,"span":{"data":{"file_id":5,"beg":{"line":402,"col":14},"end":{"line":402,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":66,"name":null,"span":{"data":{"file_id":5,"beg":{"line":405,"col":20},"end":{"line":405,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":67,"name":null,"span":{"data":{"file_id":5,"beg":{"line":405,"col":14},"end":{"line":405,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":68,"name":"s","span":{"data":{"file_id":5,"beg":{"line":408,"col":12},"end":{"line":408,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":69,"name":null,"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":70,"name":null,"span":{"data":{"file_id":5,"beg":{"line":409,"col":24},"end":{"line":409,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":71,"name":null,"span":{"data":{"file_id":5,"beg":{"line":409,"col":11},"end":{"line":409,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":72,"name":null,"span":{"data":{"file_id":5,"beg":{"line":410,"col":17},"end":{"line":410,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":73,"name":null,"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":74,"name":null,"span":{"data":{"file_id":5,"beg":{"line":410,"col":24},"end":{"line":410,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":75,"name":null,"span":{"data":{"file_id":5,"beg":{"line":410,"col":11},"end":{"line":410,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":76,"name":null,"span":{"data":{"file_id":5,"beg":{"line":411,"col":17},"end":{"line":411,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":77,"name":null,"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":78,"name":null,"span":{"data":{"file_id":5,"beg":{"line":411,"col":24},"end":{"line":411,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":79,"name":null,"span":{"data":{"file_id":5,"beg":{"line":411,"col":11},"end":{"line":411,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":80,"name":null,"span":{"data":{"file_id":5,"beg":{"line":412,"col":17},"end":{"line":412,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":81,"name":null,"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":82,"name":null,"span":{"data":{"file_id":5,"beg":{"line":412,"col":24},"end":{"line":412,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":83,"name":null,"span":{"data":{"file_id":5,"beg":{"line":412,"col":11},"end":{"line":412,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":84,"name":null,"span":{"data":{"file_id":5,"beg":{"line":413,"col":17},"end":{"line":413,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":85,"name":null,"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":86,"name":null,"span":{"data":{"file_id":5,"beg":{"line":413,"col":24},"end":{"line":413,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":87,"name":null,"span":{"data":{"file_id":5,"beg":{"line":413,"col":11},"end":{"line":413,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":88,"name":null,"span":{"data":{"file_id":5,"beg":{"line":414,"col":17},"end":{"line":414,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":89,"name":null,"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":90,"name":null,"span":{"data":{"file_id":5,"beg":{"line":414,"col":24},"end":{"line":414,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":91,"name":null,"span":{"data":{"file_id":5,"beg":{"line":414,"col":11},"end":{"line":414,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":92,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":16},"end":{"line":415,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":93,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":17},"end":{"line":415,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":94,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":95,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":24},"end":{"line":415,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":96,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":36},"end":{"line":415,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":97,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":98,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":43},"end":{"line":415,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":99,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":11},"end":{"line":415,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":100,"name":null,"span":{"data":{"file_id":5,"beg":{"line":416,"col":17},"end":{"line":416,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":101,"name":null,"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":102,"name":null,"span":{"data":{"file_id":5,"beg":{"line":416,"col":24},"end":{"line":416,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":103,"name":null,"span":{"data":{"file_id":5,"beg":{"line":416,"col":11},"end":{"line":416,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":104,"name":null,"span":{"data":{"file_id":5,"beg":{"line":417,"col":17},"end":{"line":417,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":105,"name":null,"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":106,"name":null,"span":{"data":{"file_id":5,"beg":{"line":417,"col":24},"end":{"line":417,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":107,"name":null,"span":{"data":{"file_id":5,"beg":{"line":417,"col":11},"end":{"line":417,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":108,"name":null,"span":{"data":{"file_id":5,"beg":{"line":418,"col":17},"end":{"line":418,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":109,"name":null,"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":110,"name":null,"span":{"data":{"file_id":5,"beg":{"line":418,"col":24},"end":{"line":418,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":111,"name":null,"span":{"data":{"file_id":5,"beg":{"line":418,"col":11},"end":{"line":418,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":112,"name":null,"span":{"data":{"file_id":5,"beg":{"line":419,"col":17},"end":{"line":419,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":113,"name":null,"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":114,"name":null,"span":{"data":{"file_id":5,"beg":{"line":419,"col":24},"end":{"line":419,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":115,"name":null,"span":{"data":{"file_id":5,"beg":{"line":419,"col":10},"end":{"line":419,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":116,"name":null,"span":{"data":{"file_id":5,"beg":{"line":420,"col":17},"end":{"line":420,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":117,"name":null,"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":118,"name":null,"span":{"data":{"file_id":5,"beg":{"line":420,"col":24},"end":{"line":420,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":119,"name":null,"span":{"data":{"file_id":5,"beg":{"line":420,"col":10},"end":{"line":420,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":120,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":16},"end":{"line":421,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":121,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":17},"end":{"line":421,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":122,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":123,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":24},"end":{"line":421,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":124,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":36},"end":{"line":421,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":125,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":126,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":43},"end":{"line":421,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":127,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":10},"end":{"line":421,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":128,"name":null,"span":{"data":{"file_id":5,"beg":{"line":422,"col":17},"end":{"line":422,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":129,"name":null,"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":130,"name":null,"span":{"data":{"file_id":5,"beg":{"line":422,"col":24},"end":{"line":422,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":131,"name":null,"span":{"data":{"file_id":5,"beg":{"line":422,"col":10},"end":{"line":422,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":132,"name":null,"span":{"data":{"file_id":5,"beg":{"line":423,"col":17},"end":{"line":423,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":133,"name":null,"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":134,"name":null,"span":{"data":{"file_id":5,"beg":{"line":423,"col":24},"end":{"line":423,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":135,"name":null,"span":{"data":{"file_id":5,"beg":{"line":423,"col":10},"end":{"line":423,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":136,"name":null,"span":{"data":{"file_id":5,"beg":{"line":424,"col":17},"end":{"line":424,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":137,"name":null,"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":138,"name":null,"span":{"data":{"file_id":5,"beg":{"line":424,"col":24},"end":{"line":424,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":139,"name":null,"span":{"data":{"file_id":5,"beg":{"line":424,"col":10},"end":{"line":424,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":140,"name":null,"span":{"data":{"file_id":5,"beg":{"line":425,"col":17},"end":{"line":425,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":141,"name":null,"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":142,"name":null,"span":{"data":{"file_id":5,"beg":{"line":425,"col":24},"end":{"line":425,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":143,"name":null,"span":{"data":{"file_id":5,"beg":{"line":425,"col":10},"end":{"line":425,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":144,"name":null,"span":{"data":{"file_id":5,"beg":{"line":426,"col":17},"end":{"line":426,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":145,"name":null,"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":146,"name":null,"span":{"data":{"file_id":5,"beg":{"line":426,"col":24},"end":{"line":426,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":147,"name":null,"span":{"data":{"file_id":5,"beg":{"line":426,"col":10},"end":{"line":426,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":148,"name":null,"span":{"data":{"file_id":5,"beg":{"line":427,"col":17},"end":{"line":427,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":149,"name":null,"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":150,"name":null,"span":{"data":{"file_id":5,"beg":{"line":427,"col":24},"end":{"line":427,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":151,"name":null,"span":{"data":{"file_id":5,"beg":{"line":427,"col":10},"end":{"line":427,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":152,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":16},"end":{"line":428,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":153,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":17},"end":{"line":428,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":154,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":155,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":24},"end":{"line":428,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":156,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":36},"end":{"line":428,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":157,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":158,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":43},"end":{"line":428,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":159,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":10},"end":{"line":428,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":160,"name":null,"span":{"data":{"file_id":5,"beg":{"line":429,"col":17},"end":{"line":429,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":161,"name":null,"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":162,"name":null,"span":{"data":{"file_id":5,"beg":{"line":429,"col":24},"end":{"line":429,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":163,"name":null,"span":{"data":{"file_id":5,"beg":{"line":429,"col":10},"end":{"line":429,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":164,"name":null,"span":{"data":{"file_id":5,"beg":{"line":430,"col":17},"end":{"line":430,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":165,"name":null,"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":166,"name":null,"span":{"data":{"file_id":5,"beg":{"line":430,"col":24},"end":{"line":430,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":167,"name":null,"span":{"data":{"file_id":5,"beg":{"line":430,"col":10},"end":{"line":430,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":168,"name":null,"span":{"data":{"file_id":5,"beg":{"line":431,"col":17},"end":{"line":431,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":169,"name":null,"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":170,"name":null,"span":{"data":{"file_id":5,"beg":{"line":431,"col":24},"end":{"line":431,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":171,"name":null,"span":{"data":{"file_id":5,"beg":{"line":431,"col":10},"end":{"line":431,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":172,"name":null,"span":{"data":{"file_id":5,"beg":{"line":432,"col":17},"end":{"line":432,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":173,"name":null,"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":174,"name":null,"span":{"data":{"file_id":5,"beg":{"line":432,"col":24},"end":{"line":432,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":175,"name":null,"span":{"data":{"file_id":5,"beg":{"line":432,"col":10},"end":{"line":432,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":176,"name":null,"span":{"data":{"file_id":5,"beg":{"line":433,"col":17},"end":{"line":433,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":177,"name":null,"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":178,"name":null,"span":{"data":{"file_id":5,"beg":{"line":433,"col":24},"end":{"line":433,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":179,"name":null,"span":{"data":{"file_id":5,"beg":{"line":433,"col":10},"end":{"line":433,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":180,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":16},"end":{"line":434,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":181,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":17},"end":{"line":434,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":182,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":183,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":24},"end":{"line":434,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":184,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":36},"end":{"line":434,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":185,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":186,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":43},"end":{"line":434,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":187,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":10},"end":{"line":434,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":188,"name":null,"span":{"data":{"file_id":5,"beg":{"line":435,"col":17},"end":{"line":435,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":189,"name":null,"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":190,"name":null,"span":{"data":{"file_id":5,"beg":{"line":435,"col":24},"end":{"line":435,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":191,"name":null,"span":{"data":{"file_id":5,"beg":{"line":435,"col":10},"end":{"line":435,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":192,"name":null,"span":{"data":{"file_id":5,"beg":{"line":436,"col":17},"end":{"line":436,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":193,"name":null,"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":194,"name":null,"span":{"data":{"file_id":5,"beg":{"line":436,"col":24},"end":{"line":436,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":195,"name":null,"span":{"data":{"file_id":5,"beg":{"line":436,"col":10},"end":{"line":436,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":196,"name":null,"span":{"data":{"file_id":5,"beg":{"line":437,"col":17},"end":{"line":437,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":197,"name":null,"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":198,"name":null,"span":{"data":{"file_id":5,"beg":{"line":437,"col":24},"end":{"line":437,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":199,"name":null,"span":{"data":{"file_id":5,"beg":{"line":437,"col":10},"end":{"line":437,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":200,"name":null,"span":{"data":{"file_id":5,"beg":{"line":438,"col":17},"end":{"line":438,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":201,"name":null,"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":202,"name":null,"span":{"data":{"file_id":5,"beg":{"line":438,"col":24},"end":{"line":438,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":203,"name":null,"span":{"data":{"file_id":5,"beg":{"line":438,"col":10},"end":{"line":438,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":204,"name":null,"span":{"data":{"file_id":5,"beg":{"line":439,"col":17},"end":{"line":439,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":205,"name":null,"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":206,"name":null,"span":{"data":{"file_id":5,"beg":{"line":439,"col":24},"end":{"line":439,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":207,"name":null,"span":{"data":{"file_id":5,"beg":{"line":439,"col":10},"end":{"line":439,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":208,"name":null,"span":{"data":{"file_id":5,"beg":{"line":440,"col":17},"end":{"line":440,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":209,"name":null,"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":210,"name":null,"span":{"data":{"file_id":5,"beg":{"line":440,"col":24},"end":{"line":440,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":211,"name":null,"span":{"data":{"file_id":5,"beg":{"line":440,"col":10},"end":{"line":440,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":212,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":213,"name":null,"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":214,"name":null,"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":215,"name":null,"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":216,"name":null,"span":{"data":{"file_id":5,"beg":{"line":443,"col":25},"end":{"line":443,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":217,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":218,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":219,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":220,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":221,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":222,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9005}},{"index":223,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":224,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":225,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":226,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":227,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":228,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":229,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":230,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":231,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":232,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":233,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":234,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":235,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":236,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":237,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":238,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":239,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":240,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":241,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":242,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":243,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":244,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":245,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":246,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":247,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":248,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":249,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":250,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":251,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":252,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":253,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":254,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":255,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":256,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":257,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":258,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":259,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":260,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":261,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":262,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":263,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":264,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":265,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":266,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":267,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":268,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":269,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":270,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":271,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":272,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":273,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":274,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":275,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":276,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":277,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":278,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":279,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":280,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":281,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":282,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":283,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":284,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9011,{"Ref":["Erased",{"Deduplicated":2114},"Mut"]}]}},{"index":285,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9010,{"Ref":["Erased",{"Deduplicated":2113},"Mut"]}]}},{"index":286,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":287,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":288,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":289,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":290,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":291,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":292,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":293,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":294,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":295,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":296,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":297,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":298,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":299,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":300,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":301,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":302,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":303,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":304,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":305,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":306,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":307,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":308,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":309,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":310,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":311,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":312,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":313,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":314,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":315,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":316,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":317,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":318,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":319,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":320,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":321,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":322,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":323,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":324,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":325,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":326,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":327,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":328,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":329,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":330,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":331,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":332,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":333,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":334,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":335,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":336,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":337,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":338,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":339,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":340,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":341,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":342,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":343,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":344,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":345,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":346,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":347,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":348,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":349,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":350,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":351,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":352,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":353,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":354,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":355,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":356,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":357,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":358,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":359,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":360,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":361,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":362,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":363,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":364,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":365,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":366,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":367,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":368,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":369,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":370,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":371,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":372,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":373,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":374,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":375,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":376,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":377,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":378,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":379,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":380,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":381,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":382,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":383,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":384,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":385,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":386,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":387,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":388,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":389,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":390,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":391,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":392,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":393,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":394,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":395,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":396,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":397,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":398,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":399,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":400,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":401,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":402,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":403,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":404,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":405,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":406,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":407,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":408,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":409,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":410,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":411,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":412,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":413,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":414,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":415,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":416,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":417,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":440,"col":59}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3077,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3081,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3085,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3089,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3093,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3096,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3098,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3101,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3106,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3112,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3118,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3124,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3266,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":24},"end":{"line":381,"col":54}},"generated_from_span":null},"id":3267,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":47},"end":{"line":381,"col":53}},"generated_from_span":null},"id":3268,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":47},"end":{"line":381,"col":53}},"generated_from_span":null},"id":3269,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":["Let h = limbs[0] + limbs[1]*2^51 + ... + limbs[4]*2^204.","","Write h = pq + r with 0 <= r < p.","","We want to compute r = h mod p.","","If h < 2*p = 2^256 - 38,","then q = 0 or 1,","","with q = 0 when h < p"," and q = 1 when h >= p.","","Notice that h >= p <==> h + 19 >= p + 19 <==> h + 19 >= 2^255.","Therefore q can be computed as the carry bit of h + 19.","First, reduce the limbs to ensure h < 2*p."]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":24},"end":{"line":381,"col":54}},"generated_from_span":null},"id":3270,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":33}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":53},"end":{"line":381,"col":54}},"generated_from_span":null},"id":3271,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":24},"end":{"line":381,"col":56}},"generated_from_span":null},"id":3272,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":56},"end":{"line":381,"col":57}},"generated_from_span":null},"id":3273,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":12},"end":{"line":383,"col":17}},"generated_from_span":null},"id":3274,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"id":3275,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":3276,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":27},"end":{"line":383,"col":28}},"generated_from_span":null},"id":3277,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":27},"end":{"line":383,"col":28}},"generated_from_span":null},"id":3278,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":9200,"kind":{"StorageLive":224},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":9201,"kind":{"Assign":[{"kind":{"Local":224},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":9202,"kind":{"StorageLive":225},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":9203,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":224},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":225},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":3281,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":225},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"id":3282,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"id":3284,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":34},"end":{"line":383,"col":35}},"generated_from_span":null},"id":3285,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":41}},"generated_from_span":null},"id":3289,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":40},"end":{"line":383,"col":41}},"generated_from_span":null},"id":3290,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":41},"end":{"line":383,"col":42}},"generated_from_span":null},"id":3291,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3292,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":3293,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":19},"end":{"line":384,"col":20}},"generated_from_span":null},"id":3294,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":19},"end":{"line":384,"col":20}},"generated_from_span":null},"id":3295,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":9204,"kind":{"StorageLive":226},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":9205,"kind":{"Assign":[{"kind":{"Local":226},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":9206,"kind":{"StorageLive":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":9207,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":226},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":227},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":3298,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":227},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":24},"end":{"line":384,"col":25}},"generated_from_span":null},"id":3299,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":24},"end":{"line":384,"col":25}},"generated_from_span":null},"id":3300,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3301,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3303,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":25},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3304,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":25},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3305,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":8},"end":{"line":384,"col":32}},"generated_from_span":null},"id":3309,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":31},"end":{"line":384,"col":32}},"generated_from_span":null},"id":3310,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":32},"end":{"line":384,"col":33}},"generated_from_span":null},"id":3311,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3312,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":3313,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":19},"end":{"line":385,"col":20}},"generated_from_span":null},"id":3314,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":19},"end":{"line":385,"col":20}},"generated_from_span":null},"id":3315,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":9208,"kind":{"StorageLive":228},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":9209,"kind":{"Assign":[{"kind":{"Local":228},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":9210,"kind":{"StorageLive":229},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":9211,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":228},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":229},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":3318,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":229},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":24},"end":{"line":385,"col":25}},"generated_from_span":null},"id":3319,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":24},"end":{"line":385,"col":25}},"generated_from_span":null},"id":3320,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3321,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3323,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":25},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3324,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":25},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3325,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":8},"end":{"line":385,"col":32}},"generated_from_span":null},"id":3329,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":31},"end":{"line":385,"col":32}},"generated_from_span":null},"id":3330,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":32},"end":{"line":385,"col":33}},"generated_from_span":null},"id":3331,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3332,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":3333,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":19},"end":{"line":386,"col":20}},"generated_from_span":null},"id":3334,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":19},"end":{"line":386,"col":20}},"generated_from_span":null},"id":3335,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":9212,"kind":{"StorageLive":230},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":9213,"kind":{"Assign":[{"kind":{"Local":230},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":9214,"kind":{"StorageLive":231},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":9215,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":230},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":231},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":3338,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":231},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":24},"end":{"line":386,"col":25}},"generated_from_span":null},"id":3339,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":24},"end":{"line":386,"col":25}},"generated_from_span":null},"id":3340,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3341,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3343,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":25},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3344,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":25},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3345,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":8},"end":{"line":386,"col":32}},"generated_from_span":null},"id":3349,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":31},"end":{"line":386,"col":32}},"generated_from_span":null},"id":3350,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":32},"end":{"line":386,"col":33}},"generated_from_span":null},"id":3351,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3352,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":3353,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":19},"end":{"line":387,"col":20}},"generated_from_span":null},"id":3354,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":19},"end":{"line":387,"col":20}},"generated_from_span":null},"id":3355,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":9216,"kind":{"StorageLive":232},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":9217,"kind":{"Assign":[{"kind":{"Local":232},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":9218,"kind":{"StorageLive":233},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":9219,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":232},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":233},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":3358,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":233},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":24},"end":{"line":387,"col":25}},"generated_from_span":null},"id":3359,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":24},"end":{"line":387,"col":25}},"generated_from_span":null},"id":3360,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3361,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3363,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":25},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3364,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":25},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3365,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":8},"end":{"line":387,"col":32}},"generated_from_span":null},"id":3369,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":31},"end":{"line":387,"col":32}},"generated_from_span":null},"id":3370,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":32},"end":{"line":387,"col":33}},"generated_from_span":null},"id":3371,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3372,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3373,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3374,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":["Now we can compute r as r = h - pq = r - (2^255-19)q = r + 19q - 2^255q"]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3375,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3377,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3378,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":14},"end":{"line":391,"col":15}},"generated_from_span":null},"id":3379,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":14},"end":{"line":391,"col":15}},"generated_from_span":null},"id":3380,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":9220,"kind":{"StorageLive":234},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":9221,"kind":{"Assign":[{"kind":{"Local":234},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":9222,"kind":{"StorageLive":235},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":9223,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":234},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":235},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3383,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":235},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":9224,"kind":{"StorageLive":236},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":9225,"kind":{"Assign":[{"kind":{"Local":236},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":9226,"kind":{"StorageLive":237},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":9227,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":236},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":237},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3385,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":237},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":34},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3386,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":26},"end":{"line":391,"col":27}},"generated_from_span":null},"id":3387,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":12},"end":{"line":394,"col":27}},"generated_from_span":null},"id":3388,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":42}},"generated_from_span":null},"id":3389,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":42}},"generated_from_span":null},"id":3393,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":["Now carry the result to compute r + 19q ..."]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":46}},"generated_from_span":null},"id":3394,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":46}},"generated_from_span":null},"id":3396,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":45},"end":{"line":394,"col":46}},"generated_from_span":null},"id":3397,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3398,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":3399,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":26},"end":{"line":395,"col":27}},"generated_from_span":null},"id":3400,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":26},"end":{"line":395,"col":27}},"generated_from_span":null},"id":3401,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":9228,"kind":{"StorageLive":238},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":9229,"kind":{"Assign":[{"kind":{"Local":238},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":9230,"kind":{"StorageLive":239},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":9231,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":238},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":239},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":3404,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":239},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3408,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":33},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3409,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":14},"end":{"line":395,"col":15}},"generated_from_span":null},"id":3410,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":14},"end":{"line":395,"col":15}},"generated_from_span":null},"id":3411,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":9232,"kind":{"StorageLive":240},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":9233,"kind":{"Assign":[{"kind":{"Local":240},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":9234,"kind":{"StorageLive":241},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":9235,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":240},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":241},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3414,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":241},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":9236,"kind":{"StorageLive":242},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":9237,"kind":{"Assign":[{"kind":{"Local":242},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":9238,"kind":{"StorageLive":243},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":9239,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":242},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":243},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3416,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":243},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":33},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3417,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":34},"end":{"line":395,"col":35}},"generated_from_span":null},"id":3418,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":34},"end":{"line":395,"col":35}},"generated_from_span":null},"id":3419,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":20},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3420,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":20},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3421,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":14},"end":{"line":396,"col":15}},"generated_from_span":null},"id":3422,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":14},"end":{"line":396,"col":15}},"generated_from_span":null},"id":3423,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3426,"kind":{"StorageLive":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":9240,"kind":{"StorageLive":244},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":9241,"kind":{"Assign":[{"kind":{"Local":244},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":9242,"kind":{"StorageLive":245},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":9243,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":244},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":44},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":245},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3427,"kind":{"Assign":[{"kind":{"Local":217},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":245},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":9244,"kind":{"StorageLive":246},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":9245,"kind":{"Assign":[{"kind":{"Local":246},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":9246,"kind":{"StorageLive":247},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":9247,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":246},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":44},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":247},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3428,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":247},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":217},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":34},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3429,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":35},"end":{"line":396,"col":36}},"generated_from_span":null},"id":3430,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3431,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":3432,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":26},"end":{"line":397,"col":27}},"generated_from_span":null},"id":3433,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":26},"end":{"line":397,"col":27}},"generated_from_span":null},"id":3434,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":9248,"kind":{"StorageLive":248},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":9249,"kind":{"Assign":[{"kind":{"Local":248},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":9250,"kind":{"StorageLive":249},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":9251,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":248},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":47},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":249},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":3437,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":249},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3441,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":33},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3442,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":14},"end":{"line":397,"col":15}},"generated_from_span":null},"id":3443,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":14},"end":{"line":397,"col":15}},"generated_from_span":null},"id":3444,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":9252,"kind":{"StorageLive":250},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":9253,"kind":{"Assign":[{"kind":{"Local":250},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":9254,"kind":{"StorageLive":251},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":9255,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":250},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":48},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":251},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3447,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":251},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":9256,"kind":{"StorageLive":252},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":9257,"kind":{"Assign":[{"kind":{"Local":252},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":9258,"kind":{"StorageLive":253},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":9259,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":252},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":48},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":253},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3449,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":253},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":33},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3450,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":34},"end":{"line":397,"col":35}},"generated_from_span":null},"id":3451,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":34},"end":{"line":397,"col":35}},"generated_from_span":null},"id":3452,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":20},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3453,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":20},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3454,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":14},"end":{"line":398,"col":15}},"generated_from_span":null},"id":3455,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":14},"end":{"line":398,"col":15}},"generated_from_span":null},"id":3456,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3459,"kind":{"StorageLive":218},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":9260,"kind":{"StorageLive":254},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":9261,"kind":{"Assign":[{"kind":{"Local":254},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":9262,"kind":{"StorageLive":255},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":9263,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":254},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":51},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":255},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3460,"kind":{"Assign":[{"kind":{"Local":218},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":255},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":9264,"kind":{"StorageLive":256},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":9265,"kind":{"Assign":[{"kind":{"Local":256},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":9266,"kind":{"StorageLive":257},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":9267,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":256},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":51},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":257},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3461,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":257},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":218},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":34},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3462,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":35},"end":{"line":398,"col":36}},"generated_from_span":null},"id":3463,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3464,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":3465,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":26},"end":{"line":399,"col":27}},"generated_from_span":null},"id":3466,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":26},"end":{"line":399,"col":27}},"generated_from_span":null},"id":3467,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":9268,"kind":{"StorageLive":258},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":9269,"kind":{"Assign":[{"kind":{"Local":258},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":9270,"kind":{"StorageLive":259},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":9271,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":258},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":259},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":3470,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":259},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3474,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":33},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3475,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":14},"end":{"line":399,"col":15}},"generated_from_span":null},"id":3476,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":14},"end":{"line":399,"col":15}},"generated_from_span":null},"id":3477,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":9272,"kind":{"StorageLive":260},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":9273,"kind":{"Assign":[{"kind":{"Local":260},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":9274,"kind":{"StorageLive":261},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":9275,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":260},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":55},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":261},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3480,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":261},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":9276,"kind":{"StorageLive":262},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":9277,"kind":{"Assign":[{"kind":{"Local":262},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":9278,"kind":{"StorageLive":263},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":9279,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":262},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":55},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":263},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3482,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":263},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":33},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3483,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":34},"end":{"line":399,"col":35}},"generated_from_span":null},"id":3484,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":34},"end":{"line":399,"col":35}},"generated_from_span":null},"id":3485,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":20},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3486,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":20},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3487,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":14},"end":{"line":400,"col":15}},"generated_from_span":null},"id":3488,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":14},"end":{"line":400,"col":15}},"generated_from_span":null},"id":3489,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3492,"kind":{"StorageLive":219},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":9280,"kind":{"StorageLive":264},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":9281,"kind":{"Assign":[{"kind":{"Local":264},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":9282,"kind":{"StorageLive":265},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":9283,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":264},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":265},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3493,"kind":{"Assign":[{"kind":{"Local":219},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":265},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":9284,"kind":{"StorageLive":266},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":9285,"kind":{"Assign":[{"kind":{"Local":266},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":9286,"kind":{"StorageLive":267},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":9287,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":266},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":267},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3494,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":267},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":219},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":34},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3495,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":35},"end":{"line":400,"col":36}},"generated_from_span":null},"id":3496,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3497,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":3498,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":26},"end":{"line":401,"col":27}},"generated_from_span":null},"id":3499,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":26},"end":{"line":401,"col":27}},"generated_from_span":null},"id":3500,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":9288,"kind":{"StorageLive":268},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":9289,"kind":{"Assign":[{"kind":{"Local":268},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":9290,"kind":{"StorageLive":269},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":9291,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":268},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":61},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":269},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":3503,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":269},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3507,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":33},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3508,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":14},"end":{"line":401,"col":15}},"generated_from_span":null},"id":3509,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":14},"end":{"line":401,"col":15}},"generated_from_span":null},"id":3510,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":9292,"kind":{"StorageLive":270},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":9293,"kind":{"Assign":[{"kind":{"Local":270},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":9294,"kind":{"StorageLive":271},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":9295,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":270},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":62},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":271},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3513,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":271},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":59},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":9296,"kind":{"StorageLive":272},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":9297,"kind":{"Assign":[{"kind":{"Local":272},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":9298,"kind":{"StorageLive":273},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":9299,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":272},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":62},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":273},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3515,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":273},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":33},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3516,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":34},"end":{"line":401,"col":35}},"generated_from_span":null},"id":3517,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":34},"end":{"line":401,"col":35}},"generated_from_span":null},"id":3518,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":20},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3519,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":20},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3520,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":14},"end":{"line":402,"col":15}},"generated_from_span":null},"id":3521,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":14},"end":{"line":402,"col":15}},"generated_from_span":null},"id":3522,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3525,"kind":{"StorageLive":220},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":9300,"kind":{"StorageLive":274},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":9301,"kind":{"Assign":[{"kind":{"Local":274},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":9302,"kind":{"StorageLive":275},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":9303,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":274},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":275},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3526,"kind":{"Assign":[{"kind":{"Local":220},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":275},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":9304,"kind":{"StorageLive":276},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":9305,"kind":{"Assign":[{"kind":{"Local":276},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":9306,"kind":{"StorageLive":277},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":9307,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":276},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":277},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3527,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":277},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":220},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":34},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3528,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":35},"end":{"line":402,"col":36}},"generated_from_span":null},"id":3529,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":20},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3530,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":20},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3531,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":["... but instead of carrying (limbs[4] >> 51) = 2^255q","into another limb, discard it, subtracting the value"]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":14},"end":{"line":405,"col":15}},"generated_from_span":null},"id":3532,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":14},"end":{"line":405,"col":15}},"generated_from_span":null},"id":3533,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3536,"kind":{"StorageLive":221},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":9308,"kind":{"StorageLive":278},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":9309,"kind":{"Assign":[{"kind":{"Local":278},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":9310,"kind":{"StorageLive":279},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":9311,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":278},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":67},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":279},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3537,"kind":{"Assign":[{"kind":{"Local":221},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":279},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":9312,"kind":{"StorageLive":280},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":9313,"kind":{"Assign":[{"kind":{"Local":280},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":9314,"kind":{"StorageLive":281},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":9315,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":280},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":67},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":281},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3538,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":281},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":221},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":34},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3539,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":35},"end":{"line":405,"col":36}},"generated_from_span":null},"id":3540,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":408,"col":12},"end":{"line":408,"col":17}},"generated_from_span":null},"id":3541,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":408,"col":20},"end":{"line":408,"col":28}},"generated_from_span":null},"id":3542,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}],"dest":{"kind":{"Local":68},"ty":{"Deduplicated":2114}}}},"comments_before":["Now arrange the bits of the limbs."]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":3543,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":24},"end":{"line":409,"col":25}},"generated_from_span":null},"id":3544,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":24},"end":{"line":409,"col":25}},"generated_from_span":null},"id":3545,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":9316,"kind":{"StorageLive":282},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":9317,"kind":{"Assign":[{"kind":{"Local":282},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":9318,"kind":{"StorageLive":283},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":9319,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":282},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":283},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":3548,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":283},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":11},"end":{"line":409,"col":12}},"generated_from_span":null},"id":3549,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":11},"end":{"line":409,"col":12}},"generated_from_span":null},"id":3550,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":9320,"kind":{"StorageLive":284},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":9321,"kind":{"Assign":[{"kind":{"Local":284},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":9322,"kind":{"StorageLive":285},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":9323,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":284},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":71},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":285},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":3553,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":285},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":57},"end":{"line":409,"col":58}},"generated_from_span":null},"id":3554,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":58},"end":{"line":409,"col":59}},"generated_from_span":null},"id":3555,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":58},"end":{"line":409,"col":59}},"generated_from_span":null},"id":3556,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":17},"end":{"line":410,"col":33}},"generated_from_span":null},"id":3557,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":3558,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":24},"end":{"line":410,"col":25}},"generated_from_span":null},"id":3559,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":24},"end":{"line":410,"col":25}},"generated_from_span":null},"id":3560,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":9324,"kind":{"StorageLive":286},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":9325,"kind":{"Assign":[{"kind":{"Local":286},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":9326,"kind":{"StorageLive":287},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":9327,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":286},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":74},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":287},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":3563,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":287},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":17},"end":{"line":410,"col":33}},"generated_from_span":null},"id":3567,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","8"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":32},"end":{"line":410,"col":33}},"generated_from_span":null},"id":3568,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":11},"end":{"line":410,"col":12}},"generated_from_span":null},"id":3569,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":11},"end":{"line":410,"col":12}},"generated_from_span":null},"id":3570,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":9328,"kind":{"StorageLive":288},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":9329,"kind":{"Assign":[{"kind":{"Local":288},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":9330,"kind":{"StorageLive":289},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":9331,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":288},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":75},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":289},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":3573,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":289},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":57},"end":{"line":410,"col":58}},"generated_from_span":null},"id":3574,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":58},"end":{"line":410,"col":59}},"generated_from_span":null},"id":3575,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":58},"end":{"line":410,"col":59}},"generated_from_span":null},"id":3576,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":17},"end":{"line":411,"col":33}},"generated_from_span":null},"id":3577,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":3578,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":24},"end":{"line":411,"col":25}},"generated_from_span":null},"id":3579,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":24},"end":{"line":411,"col":25}},"generated_from_span":null},"id":3580,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":9332,"kind":{"StorageLive":290},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":9333,"kind":{"Assign":[{"kind":{"Local":290},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":9334,"kind":{"StorageLive":291},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":9335,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":290},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":78},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":291},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":3583,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":291},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":17},"end":{"line":411,"col":33}},"generated_from_span":null},"id":3587,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","16"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":32},"end":{"line":411,"col":33}},"generated_from_span":null},"id":3588,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":11},"end":{"line":411,"col":12}},"generated_from_span":null},"id":3589,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":11},"end":{"line":411,"col":12}},"generated_from_span":null},"id":3590,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":9336,"kind":{"StorageLive":292},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":9337,"kind":{"Assign":[{"kind":{"Local":292},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":9338,"kind":{"StorageLive":293},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":9339,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":292},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":79},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":293},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":3593,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":293},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":57},"end":{"line":411,"col":58}},"generated_from_span":null},"id":3594,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":58},"end":{"line":411,"col":59}},"generated_from_span":null},"id":3595,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":58},"end":{"line":411,"col":59}},"generated_from_span":null},"id":3596,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":17},"end":{"line":412,"col":33}},"generated_from_span":null},"id":3597,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":3598,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":24},"end":{"line":412,"col":25}},"generated_from_span":null},"id":3599,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":24},"end":{"line":412,"col":25}},"generated_from_span":null},"id":3600,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":9340,"kind":{"StorageLive":294},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":9341,"kind":{"Assign":[{"kind":{"Local":294},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":9342,"kind":{"StorageLive":295},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":9343,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":294},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":295},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":3603,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":295},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":17},"end":{"line":412,"col":33}},"generated_from_span":null},"id":3607,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","24"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":32},"end":{"line":412,"col":33}},"generated_from_span":null},"id":3608,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":11},"end":{"line":412,"col":12}},"generated_from_span":null},"id":3609,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":11},"end":{"line":412,"col":12}},"generated_from_span":null},"id":3610,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":9344,"kind":{"StorageLive":296},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":9345,"kind":{"Assign":[{"kind":{"Local":296},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":9346,"kind":{"StorageLive":297},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":9347,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":296},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":83},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":297},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":3613,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":297},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":80},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":57},"end":{"line":412,"col":58}},"generated_from_span":null},"id":3614,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":58},"end":{"line":412,"col":59}},"generated_from_span":null},"id":3615,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":58},"end":{"line":412,"col":59}},"generated_from_span":null},"id":3616,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":17},"end":{"line":413,"col":33}},"generated_from_span":null},"id":3617,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":3618,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":24},"end":{"line":413,"col":25}},"generated_from_span":null},"id":3619,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":24},"end":{"line":413,"col":25}},"generated_from_span":null},"id":3620,"kind":{"Assign":[{"kind":{"Local":86},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":9348,"kind":{"StorageLive":298},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":9349,"kind":{"Assign":[{"kind":{"Local":298},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":9350,"kind":{"StorageLive":299},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":9351,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":298},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":86},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":299},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":3623,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":299},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":17},"end":{"line":413,"col":33}},"generated_from_span":null},"id":3627,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":85},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","32"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":32},"end":{"line":413,"col":33}},"generated_from_span":null},"id":3628,"kind":{"StorageDead":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":11},"end":{"line":413,"col":12}},"generated_from_span":null},"id":3629,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":11},"end":{"line":413,"col":12}},"generated_from_span":null},"id":3630,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":9352,"kind":{"StorageLive":300},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":9353,"kind":{"Assign":[{"kind":{"Local":300},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":9354,"kind":{"StorageLive":301},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":9355,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":300},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":87},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":301},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":3633,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":301},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":84},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":57},"end":{"line":413,"col":58}},"generated_from_span":null},"id":3634,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":58},"end":{"line":413,"col":59}},"generated_from_span":null},"id":3635,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":58},"end":{"line":413,"col":59}},"generated_from_span":null},"id":3636,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":17},"end":{"line":414,"col":33}},"generated_from_span":null},"id":3637,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":3638,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":24},"end":{"line":414,"col":25}},"generated_from_span":null},"id":3639,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":24},"end":{"line":414,"col":25}},"generated_from_span":null},"id":3640,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":9356,"kind":{"StorageLive":302},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":9357,"kind":{"Assign":[{"kind":{"Local":302},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":9358,"kind":{"StorageLive":303},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":9359,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":302},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":90},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":303},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":3643,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":303},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":17},"end":{"line":414,"col":33}},"generated_from_span":null},"id":3647,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":89},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","40"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":32},"end":{"line":414,"col":33}},"generated_from_span":null},"id":3648,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":11},"end":{"line":414,"col":12}},"generated_from_span":null},"id":3649,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":11},"end":{"line":414,"col":12}},"generated_from_span":null},"id":3650,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":9360,"kind":{"StorageLive":304},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":9361,"kind":{"Assign":[{"kind":{"Local":304},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":9362,"kind":{"StorageLive":305},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":9363,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":304},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":91},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":305},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":3653,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":305},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":88},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":57},"end":{"line":414,"col":58}},"generated_from_span":null},"id":3654,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":58},"end":{"line":414,"col":59}},"generated_from_span":null},"id":3655,"kind":{"StorageDead":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":58},"end":{"line":414,"col":59}},"generated_from_span":null},"id":3656,"kind":{"StorageDead":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":16},"end":{"line":415,"col":52}},"generated_from_span":null},"id":3657,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":17},"end":{"line":415,"col":33}},"generated_from_span":null},"id":3658,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":3659,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":24},"end":{"line":415,"col":25}},"generated_from_span":null},"id":3660,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":24},"end":{"line":415,"col":25}},"generated_from_span":null},"id":3661,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":9364,"kind":{"StorageLive":306},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":9365,"kind":{"Assign":[{"kind":{"Local":306},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":9366,"kind":{"StorageLive":307},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":9367,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":306},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":95},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":307},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":3664,"kind":{"Assign":[{"kind":{"Local":94},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":307},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":17},"end":{"line":415,"col":33}},"generated_from_span":null},"id":3668,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":94},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","48"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":32},"end":{"line":415,"col":33}},"generated_from_span":null},"id":3669,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":36},"end":{"line":415,"col":51}},"generated_from_span":null},"id":3670,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":3671,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":43},"end":{"line":415,"col":44}},"generated_from_span":null},"id":3672,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":43},"end":{"line":415,"col":44}},"generated_from_span":null},"id":3673,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":9368,"kind":{"StorageLive":308},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":9369,"kind":{"Assign":[{"kind":{"Local":308},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":9370,"kind":{"StorageLive":309},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":9371,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":308},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":98},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":309},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":3676,"kind":{"Assign":[{"kind":{"Local":97},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":309},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":36},"end":{"line":415,"col":51}},"generated_from_span":null},"id":3680,"kind":{"Assign":[{"kind":{"Local":96},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":97},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","3"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":50},"end":{"line":415,"col":51}},"generated_from_span":null},"id":3681,"kind":{"StorageDead":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":16},"end":{"line":415,"col":52}},"generated_from_span":null},"id":3682,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":93},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":96},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":51},"end":{"line":415,"col":52}},"generated_from_span":null},"id":3683,"kind":{"StorageDead":96},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":51},"end":{"line":415,"col":52}},"generated_from_span":null},"id":3684,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":11},"end":{"line":415,"col":12}},"generated_from_span":null},"id":3685,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":11},"end":{"line":415,"col":12}},"generated_from_span":null},"id":3686,"kind":{"Assign":[{"kind":{"Local":99},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","6"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":9372,"kind":{"StorageLive":310},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":9373,"kind":{"Assign":[{"kind":{"Local":310},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":9374,"kind":{"StorageLive":311},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":9375,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":310},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":99},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":311},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":3689,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":311},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":92},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":57},"end":{"line":415,"col":58}},"generated_from_span":null},"id":3690,"kind":{"StorageDead":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":58},"end":{"line":415,"col":59}},"generated_from_span":null},"id":3691,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":58},"end":{"line":415,"col":59}},"generated_from_span":null},"id":3692,"kind":{"StorageDead":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":58},"end":{"line":415,"col":59}},"generated_from_span":null},"id":3693,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":17},"end":{"line":416,"col":33}},"generated_from_span":null},"id":3694,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":3695,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":24},"end":{"line":416,"col":25}},"generated_from_span":null},"id":3696,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":24},"end":{"line":416,"col":25}},"generated_from_span":null},"id":3697,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":9376,"kind":{"StorageLive":312},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":9377,"kind":{"Assign":[{"kind":{"Local":312},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":9378,"kind":{"StorageLive":313},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":9379,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":312},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":102},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":313},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":3700,"kind":{"Assign":[{"kind":{"Local":101},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":313},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":17},"end":{"line":416,"col":33}},"generated_from_span":null},"id":3704,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":101},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","5"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":32},"end":{"line":416,"col":33}},"generated_from_span":null},"id":3705,"kind":{"StorageDead":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":11},"end":{"line":416,"col":12}},"generated_from_span":null},"id":3706,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":11},"end":{"line":416,"col":12}},"generated_from_span":null},"id":3707,"kind":{"Assign":[{"kind":{"Local":103},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":9380,"kind":{"StorageLive":314},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":9381,"kind":{"Assign":[{"kind":{"Local":314},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":9382,"kind":{"StorageLive":315},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":9383,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":314},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":103},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":315},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":3710,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":315},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":100},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":57},"end":{"line":416,"col":58}},"generated_from_span":null},"id":3711,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":58},"end":{"line":416,"col":59}},"generated_from_span":null},"id":3712,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":58},"end":{"line":416,"col":59}},"generated_from_span":null},"id":3713,"kind":{"StorageDead":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":17},"end":{"line":417,"col":33}},"generated_from_span":null},"id":3714,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":3715,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":24},"end":{"line":417,"col":25}},"generated_from_span":null},"id":3716,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":24},"end":{"line":417,"col":25}},"generated_from_span":null},"id":3717,"kind":{"Assign":[{"kind":{"Local":106},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":9384,"kind":{"StorageLive":316},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":9385,"kind":{"Assign":[{"kind":{"Local":316},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":9386,"kind":{"StorageLive":317},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":9387,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":316},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":106},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":317},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":3720,"kind":{"Assign":[{"kind":{"Local":105},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":317},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":17},"end":{"line":417,"col":33}},"generated_from_span":null},"id":3724,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":105},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","13"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":32},"end":{"line":417,"col":33}},"generated_from_span":null},"id":3725,"kind":{"StorageDead":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":11},"end":{"line":417,"col":12}},"generated_from_span":null},"id":3726,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":11},"end":{"line":417,"col":12}},"generated_from_span":null},"id":3727,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":9388,"kind":{"StorageLive":318},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":9389,"kind":{"Assign":[{"kind":{"Local":318},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":9390,"kind":{"StorageLive":319},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":9391,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":318},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":107},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":319},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":3730,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":319},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":104},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":57},"end":{"line":417,"col":58}},"generated_from_span":null},"id":3731,"kind":{"StorageDead":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":58},"end":{"line":417,"col":59}},"generated_from_span":null},"id":3732,"kind":{"StorageDead":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":58},"end":{"line":417,"col":59}},"generated_from_span":null},"id":3733,"kind":{"StorageDead":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":17},"end":{"line":418,"col":33}},"generated_from_span":null},"id":3734,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":3735,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":24},"end":{"line":418,"col":25}},"generated_from_span":null},"id":3736,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":24},"end":{"line":418,"col":25}},"generated_from_span":null},"id":3737,"kind":{"Assign":[{"kind":{"Local":110},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":9392,"kind":{"StorageLive":320},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":9393,"kind":{"Assign":[{"kind":{"Local":320},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":9394,"kind":{"StorageLive":321},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":9395,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":320},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":110},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":321},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":3740,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":321},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":17},"end":{"line":418,"col":33}},"generated_from_span":null},"id":3744,"kind":{"Assign":[{"kind":{"Local":108},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","21"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":32},"end":{"line":418,"col":33}},"generated_from_span":null},"id":3745,"kind":{"StorageDead":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":11},"end":{"line":418,"col":12}},"generated_from_span":null},"id":3746,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":11},"end":{"line":418,"col":12}},"generated_from_span":null},"id":3747,"kind":{"Assign":[{"kind":{"Local":111},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","9"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":9396,"kind":{"StorageLive":322},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":9397,"kind":{"Assign":[{"kind":{"Local":322},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":9398,"kind":{"StorageLive":323},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":9399,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":322},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":111},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":323},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":3750,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":323},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":108},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":57},"end":{"line":418,"col":58}},"generated_from_span":null},"id":3751,"kind":{"StorageDead":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":58},"end":{"line":418,"col":59}},"generated_from_span":null},"id":3752,"kind":{"StorageDead":111},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":58},"end":{"line":418,"col":59}},"generated_from_span":null},"id":3753,"kind":{"StorageDead":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":17},"end":{"line":419,"col":33}},"generated_from_span":null},"id":3754,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":3755,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":24},"end":{"line":419,"col":25}},"generated_from_span":null},"id":3756,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":24},"end":{"line":419,"col":25}},"generated_from_span":null},"id":3757,"kind":{"Assign":[{"kind":{"Local":114},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":9400,"kind":{"StorageLive":324},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":9401,"kind":{"Assign":[{"kind":{"Local":324},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":9402,"kind":{"StorageLive":325},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":9403,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":324},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":114},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":325},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":3760,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":325},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":17},"end":{"line":419,"col":33}},"generated_from_span":null},"id":3764,"kind":{"Assign":[{"kind":{"Local":112},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":113},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","29"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":32},"end":{"line":419,"col":33}},"generated_from_span":null},"id":3765,"kind":{"StorageDead":113},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":10},"end":{"line":419,"col":12}},"generated_from_span":null},"id":3766,"kind":{"StorageLive":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":10},"end":{"line":419,"col":12}},"generated_from_span":null},"id":3767,"kind":{"Assign":[{"kind":{"Local":115},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","10"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":9404,"kind":{"StorageLive":326},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":9405,"kind":{"Assign":[{"kind":{"Local":326},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":9406,"kind":{"StorageLive":327},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":9407,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":326},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":115},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":327},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":3770,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":327},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":112},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":57},"end":{"line":419,"col":58}},"generated_from_span":null},"id":3771,"kind":{"StorageDead":112},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":58},"end":{"line":419,"col":59}},"generated_from_span":null},"id":3772,"kind":{"StorageDead":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":58},"end":{"line":419,"col":59}},"generated_from_span":null},"id":3773,"kind":{"StorageDead":114},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":17},"end":{"line":420,"col":33}},"generated_from_span":null},"id":3774,"kind":{"StorageLive":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":3775,"kind":{"StorageLive":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":24},"end":{"line":420,"col":25}},"generated_from_span":null},"id":3776,"kind":{"StorageLive":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":24},"end":{"line":420,"col":25}},"generated_from_span":null},"id":3777,"kind":{"Assign":[{"kind":{"Local":118},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":9408,"kind":{"StorageLive":328},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":9409,"kind":{"Assign":[{"kind":{"Local":328},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":9410,"kind":{"StorageLive":329},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":9411,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":328},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":118},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":329},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":3780,"kind":{"Assign":[{"kind":{"Local":117},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":329},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":17},"end":{"line":420,"col":33}},"generated_from_span":null},"id":3784,"kind":{"Assign":[{"kind":{"Local":116},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":117},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","37"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":32},"end":{"line":420,"col":33}},"generated_from_span":null},"id":3785,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":10},"end":{"line":420,"col":12}},"generated_from_span":null},"id":3786,"kind":{"StorageLive":119},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":10},"end":{"line":420,"col":12}},"generated_from_span":null},"id":3787,"kind":{"Assign":[{"kind":{"Local":119},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","11"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":9412,"kind":{"StorageLive":330},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":9413,"kind":{"Assign":[{"kind":{"Local":330},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":9414,"kind":{"StorageLive":331},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":9415,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":330},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":119},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":331},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":3790,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":331},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":116},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":57},"end":{"line":420,"col":58}},"generated_from_span":null},"id":3791,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":58},"end":{"line":420,"col":59}},"generated_from_span":null},"id":3792,"kind":{"StorageDead":119},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":58},"end":{"line":420,"col":59}},"generated_from_span":null},"id":3793,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":16},"end":{"line":421,"col":52}},"generated_from_span":null},"id":3794,"kind":{"StorageLive":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":17},"end":{"line":421,"col":33}},"generated_from_span":null},"id":3795,"kind":{"StorageLive":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":3796,"kind":{"StorageLive":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":24},"end":{"line":421,"col":25}},"generated_from_span":null},"id":3797,"kind":{"StorageLive":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":24},"end":{"line":421,"col":25}},"generated_from_span":null},"id":3798,"kind":{"Assign":[{"kind":{"Local":123},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":9416,"kind":{"StorageLive":332},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":9417,"kind":{"Assign":[{"kind":{"Local":332},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":9418,"kind":{"StorageLive":333},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":9419,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":332},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":123},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":333},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":3801,"kind":{"Assign":[{"kind":{"Local":122},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":333},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":17},"end":{"line":421,"col":33}},"generated_from_span":null},"id":3805,"kind":{"Assign":[{"kind":{"Local":121},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":122},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","45"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":32},"end":{"line":421,"col":33}},"generated_from_span":null},"id":3806,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":36},"end":{"line":421,"col":51}},"generated_from_span":null},"id":3807,"kind":{"StorageLive":124},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":3808,"kind":{"StorageLive":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":43},"end":{"line":421,"col":44}},"generated_from_span":null},"id":3809,"kind":{"StorageLive":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":43},"end":{"line":421,"col":44}},"generated_from_span":null},"id":3810,"kind":{"Assign":[{"kind":{"Local":126},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":9420,"kind":{"StorageLive":334},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":9421,"kind":{"Assign":[{"kind":{"Local":334},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":9422,"kind":{"StorageLive":335},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":9423,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":334},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":126},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":335},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":3813,"kind":{"Assign":[{"kind":{"Local":125},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":335},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":36},"end":{"line":421,"col":51}},"generated_from_span":null},"id":3817,"kind":{"Assign":[{"kind":{"Local":124},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":125},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","6"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":50},"end":{"line":421,"col":51}},"generated_from_span":null},"id":3818,"kind":{"StorageDead":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":16},"end":{"line":421,"col":52}},"generated_from_span":null},"id":3819,"kind":{"Assign":[{"kind":{"Local":120},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":121},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":124},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":51},"end":{"line":421,"col":52}},"generated_from_span":null},"id":3820,"kind":{"StorageDead":124},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":51},"end":{"line":421,"col":52}},"generated_from_span":null},"id":3821,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":10},"end":{"line":421,"col":12}},"generated_from_span":null},"id":3822,"kind":{"StorageLive":127},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":10},"end":{"line":421,"col":12}},"generated_from_span":null},"id":3823,"kind":{"Assign":[{"kind":{"Local":127},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","12"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":9424,"kind":{"StorageLive":336},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":9425,"kind":{"Assign":[{"kind":{"Local":336},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":9426,"kind":{"StorageLive":337},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":9427,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":336},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":127},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":337},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":3826,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":337},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":120},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":57},"end":{"line":421,"col":58}},"generated_from_span":null},"id":3827,"kind":{"StorageDead":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":58},"end":{"line":421,"col":59}},"generated_from_span":null},"id":3828,"kind":{"StorageDead":127},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":58},"end":{"line":421,"col":59}},"generated_from_span":null},"id":3829,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":58},"end":{"line":421,"col":59}},"generated_from_span":null},"id":3830,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":17},"end":{"line":422,"col":33}},"generated_from_span":null},"id":3831,"kind":{"StorageLive":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":3832,"kind":{"StorageLive":129},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":24},"end":{"line":422,"col":25}},"generated_from_span":null},"id":3833,"kind":{"StorageLive":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":24},"end":{"line":422,"col":25}},"generated_from_span":null},"id":3834,"kind":{"Assign":[{"kind":{"Local":130},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":9428,"kind":{"StorageLive":338},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":9429,"kind":{"Assign":[{"kind":{"Local":338},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":9430,"kind":{"StorageLive":339},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":9431,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":338},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":130},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":339},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":3837,"kind":{"Assign":[{"kind":{"Local":129},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":339},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":17},"end":{"line":422,"col":33}},"generated_from_span":null},"id":3841,"kind":{"Assign":[{"kind":{"Local":128},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":129},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","2"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":32},"end":{"line":422,"col":33}},"generated_from_span":null},"id":3842,"kind":{"StorageDead":129},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":10},"end":{"line":422,"col":12}},"generated_from_span":null},"id":3843,"kind":{"StorageLive":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":10},"end":{"line":422,"col":12}},"generated_from_span":null},"id":3844,"kind":{"Assign":[{"kind":{"Local":131},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","13"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":9432,"kind":{"StorageLive":340},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":9433,"kind":{"Assign":[{"kind":{"Local":340},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":9434,"kind":{"StorageLive":341},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":9435,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":340},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":131},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":341},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":3847,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":341},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":128},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":57},"end":{"line":422,"col":58}},"generated_from_span":null},"id":3848,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":58},"end":{"line":422,"col":59}},"generated_from_span":null},"id":3849,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":58},"end":{"line":422,"col":59}},"generated_from_span":null},"id":3850,"kind":{"StorageDead":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":17},"end":{"line":423,"col":33}},"generated_from_span":null},"id":3851,"kind":{"StorageLive":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":3852,"kind":{"StorageLive":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":24},"end":{"line":423,"col":25}},"generated_from_span":null},"id":3853,"kind":{"StorageLive":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":24},"end":{"line":423,"col":25}},"generated_from_span":null},"id":3854,"kind":{"Assign":[{"kind":{"Local":134},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":9436,"kind":{"StorageLive":342},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":9437,"kind":{"Assign":[{"kind":{"Local":342},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":9438,"kind":{"StorageLive":343},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":9439,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":342},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":134},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":343},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":3857,"kind":{"Assign":[{"kind":{"Local":133},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":343},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":17},"end":{"line":423,"col":33}},"generated_from_span":null},"id":3861,"kind":{"Assign":[{"kind":{"Local":132},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":133},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","10"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":32},"end":{"line":423,"col":33}},"generated_from_span":null},"id":3862,"kind":{"StorageDead":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":10},"end":{"line":423,"col":12}},"generated_from_span":null},"id":3863,"kind":{"StorageLive":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":10},"end":{"line":423,"col":12}},"generated_from_span":null},"id":3864,"kind":{"Assign":[{"kind":{"Local":135},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","14"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":9440,"kind":{"StorageLive":344},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":9441,"kind":{"Assign":[{"kind":{"Local":344},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":9442,"kind":{"StorageLive":345},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":9443,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":344},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":135},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":345},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":3867,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":345},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":132},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":57},"end":{"line":423,"col":58}},"generated_from_span":null},"id":3868,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":58},"end":{"line":423,"col":59}},"generated_from_span":null},"id":3869,"kind":{"StorageDead":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":58},"end":{"line":423,"col":59}},"generated_from_span":null},"id":3870,"kind":{"StorageDead":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":17},"end":{"line":424,"col":33}},"generated_from_span":null},"id":3871,"kind":{"StorageLive":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":3872,"kind":{"StorageLive":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":24},"end":{"line":424,"col":25}},"generated_from_span":null},"id":3873,"kind":{"StorageLive":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":24},"end":{"line":424,"col":25}},"generated_from_span":null},"id":3874,"kind":{"Assign":[{"kind":{"Local":138},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":9444,"kind":{"StorageLive":346},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":9445,"kind":{"Assign":[{"kind":{"Local":346},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":9446,"kind":{"StorageLive":347},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":9447,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":346},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":138},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":347},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":3877,"kind":{"Assign":[{"kind":{"Local":137},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":347},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":17},"end":{"line":424,"col":33}},"generated_from_span":null},"id":3881,"kind":{"Assign":[{"kind":{"Local":136},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":137},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","18"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":32},"end":{"line":424,"col":33}},"generated_from_span":null},"id":3882,"kind":{"StorageDead":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":10},"end":{"line":424,"col":12}},"generated_from_span":null},"id":3883,"kind":{"StorageLive":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":10},"end":{"line":424,"col":12}},"generated_from_span":null},"id":3884,"kind":{"Assign":[{"kind":{"Local":139},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","15"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":9448,"kind":{"StorageLive":348},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":9449,"kind":{"Assign":[{"kind":{"Local":348},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":9450,"kind":{"StorageLive":349},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":9451,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":348},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":139},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":349},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":3887,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":349},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":136},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":57},"end":{"line":424,"col":58}},"generated_from_span":null},"id":3888,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":58},"end":{"line":424,"col":59}},"generated_from_span":null},"id":3889,"kind":{"StorageDead":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":58},"end":{"line":424,"col":59}},"generated_from_span":null},"id":3890,"kind":{"StorageDead":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":17},"end":{"line":425,"col":33}},"generated_from_span":null},"id":3891,"kind":{"StorageLive":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":3892,"kind":{"StorageLive":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":24},"end":{"line":425,"col":25}},"generated_from_span":null},"id":3893,"kind":{"StorageLive":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":24},"end":{"line":425,"col":25}},"generated_from_span":null},"id":3894,"kind":{"Assign":[{"kind":{"Local":142},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":9452,"kind":{"StorageLive":350},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":9453,"kind":{"Assign":[{"kind":{"Local":350},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":9454,"kind":{"StorageLive":351},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":9455,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":350},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":142},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":351},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":3897,"kind":{"Assign":[{"kind":{"Local":141},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":351},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":17},"end":{"line":425,"col":33}},"generated_from_span":null},"id":3901,"kind":{"Assign":[{"kind":{"Local":140},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":141},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","26"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":32},"end":{"line":425,"col":33}},"generated_from_span":null},"id":3902,"kind":{"StorageDead":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":10},"end":{"line":425,"col":12}},"generated_from_span":null},"id":3903,"kind":{"StorageLive":143},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":10},"end":{"line":425,"col":12}},"generated_from_span":null},"id":3904,"kind":{"Assign":[{"kind":{"Local":143},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","16"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":9456,"kind":{"StorageLive":352},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":9457,"kind":{"Assign":[{"kind":{"Local":352},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":9458,"kind":{"StorageLive":353},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":9459,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":352},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":143},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":353},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":3907,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":353},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":140},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":57},"end":{"line":425,"col":58}},"generated_from_span":null},"id":3908,"kind":{"StorageDead":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":58},"end":{"line":425,"col":59}},"generated_from_span":null},"id":3909,"kind":{"StorageDead":143},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":58},"end":{"line":425,"col":59}},"generated_from_span":null},"id":3910,"kind":{"StorageDead":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":17},"end":{"line":426,"col":33}},"generated_from_span":null},"id":3911,"kind":{"StorageLive":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":3912,"kind":{"StorageLive":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":24},"end":{"line":426,"col":25}},"generated_from_span":null},"id":3913,"kind":{"StorageLive":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":24},"end":{"line":426,"col":25}},"generated_from_span":null},"id":3914,"kind":{"Assign":[{"kind":{"Local":146},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":9460,"kind":{"StorageLive":354},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":9461,"kind":{"Assign":[{"kind":{"Local":354},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":9462,"kind":{"StorageLive":355},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":9463,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":354},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":146},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":355},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":3917,"kind":{"Assign":[{"kind":{"Local":145},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":355},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":17},"end":{"line":426,"col":33}},"generated_from_span":null},"id":3921,"kind":{"Assign":[{"kind":{"Local":144},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":145},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","34"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":32},"end":{"line":426,"col":33}},"generated_from_span":null},"id":3922,"kind":{"StorageDead":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":10},"end":{"line":426,"col":12}},"generated_from_span":null},"id":3923,"kind":{"StorageLive":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":10},"end":{"line":426,"col":12}},"generated_from_span":null},"id":3924,"kind":{"Assign":[{"kind":{"Local":147},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","17"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":9464,"kind":{"StorageLive":356},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":9465,"kind":{"Assign":[{"kind":{"Local":356},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":9466,"kind":{"StorageLive":357},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":9467,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":356},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":147},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":357},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":3927,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":357},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":144},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":57},"end":{"line":426,"col":58}},"generated_from_span":null},"id":3928,"kind":{"StorageDead":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":58},"end":{"line":426,"col":59}},"generated_from_span":null},"id":3929,"kind":{"StorageDead":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":58},"end":{"line":426,"col":59}},"generated_from_span":null},"id":3930,"kind":{"StorageDead":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":17},"end":{"line":427,"col":33}},"generated_from_span":null},"id":3931,"kind":{"StorageLive":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":3932,"kind":{"StorageLive":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":24},"end":{"line":427,"col":25}},"generated_from_span":null},"id":3933,"kind":{"StorageLive":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":24},"end":{"line":427,"col":25}},"generated_from_span":null},"id":3934,"kind":{"Assign":[{"kind":{"Local":150},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":9468,"kind":{"StorageLive":358},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":9469,"kind":{"Assign":[{"kind":{"Local":358},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":9470,"kind":{"StorageLive":359},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":9471,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":358},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":150},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":359},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":3937,"kind":{"Assign":[{"kind":{"Local":149},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":359},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":17},"end":{"line":427,"col":33}},"generated_from_span":null},"id":3941,"kind":{"Assign":[{"kind":{"Local":148},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":149},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","42"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":32},"end":{"line":427,"col":33}},"generated_from_span":null},"id":3942,"kind":{"StorageDead":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":10},"end":{"line":427,"col":12}},"generated_from_span":null},"id":3943,"kind":{"StorageLive":151},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":10},"end":{"line":427,"col":12}},"generated_from_span":null},"id":3944,"kind":{"Assign":[{"kind":{"Local":151},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","18"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":9472,"kind":{"StorageLive":360},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":9473,"kind":{"Assign":[{"kind":{"Local":360},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":9474,"kind":{"StorageLive":361},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":9475,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":360},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":151},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":361},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":3947,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":361},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":148},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":57},"end":{"line":427,"col":58}},"generated_from_span":null},"id":3948,"kind":{"StorageDead":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":58},"end":{"line":427,"col":59}},"generated_from_span":null},"id":3949,"kind":{"StorageDead":151},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":58},"end":{"line":427,"col":59}},"generated_from_span":null},"id":3950,"kind":{"StorageDead":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":16},"end":{"line":428,"col":52}},"generated_from_span":null},"id":3951,"kind":{"StorageLive":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":17},"end":{"line":428,"col":33}},"generated_from_span":null},"id":3952,"kind":{"StorageLive":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":3953,"kind":{"StorageLive":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":24},"end":{"line":428,"col":25}},"generated_from_span":null},"id":3954,"kind":{"StorageLive":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":24},"end":{"line":428,"col":25}},"generated_from_span":null},"id":3955,"kind":{"Assign":[{"kind":{"Local":155},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":9476,"kind":{"StorageLive":362},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":9477,"kind":{"Assign":[{"kind":{"Local":362},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":9478,"kind":{"StorageLive":363},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":9479,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":362},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":155},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":363},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":3958,"kind":{"Assign":[{"kind":{"Local":154},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":363},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":17},"end":{"line":428,"col":33}},"generated_from_span":null},"id":3962,"kind":{"Assign":[{"kind":{"Local":153},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":154},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","50"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":32},"end":{"line":428,"col":33}},"generated_from_span":null},"id":3963,"kind":{"StorageDead":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":36},"end":{"line":428,"col":51}},"generated_from_span":null},"id":3964,"kind":{"StorageLive":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":3965,"kind":{"StorageLive":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":43},"end":{"line":428,"col":44}},"generated_from_span":null},"id":3966,"kind":{"StorageLive":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":43},"end":{"line":428,"col":44}},"generated_from_span":null},"id":3967,"kind":{"Assign":[{"kind":{"Local":158},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":9480,"kind":{"StorageLive":364},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":9481,"kind":{"Assign":[{"kind":{"Local":364},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":9482,"kind":{"StorageLive":365},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":9483,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":364},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":158},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":365},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":3970,"kind":{"Assign":[{"kind":{"Local":157},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":365},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":36},"end":{"line":428,"col":51}},"generated_from_span":null},"id":3974,"kind":{"Assign":[{"kind":{"Local":156},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":157},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","1"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":50},"end":{"line":428,"col":51}},"generated_from_span":null},"id":3975,"kind":{"StorageDead":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":16},"end":{"line":428,"col":52}},"generated_from_span":null},"id":3976,"kind":{"Assign":[{"kind":{"Local":152},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":153},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":156},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":51},"end":{"line":428,"col":52}},"generated_from_span":null},"id":3977,"kind":{"StorageDead":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":51},"end":{"line":428,"col":52}},"generated_from_span":null},"id":3978,"kind":{"StorageDead":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":10},"end":{"line":428,"col":12}},"generated_from_span":null},"id":3979,"kind":{"StorageLive":159},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":10},"end":{"line":428,"col":12}},"generated_from_span":null},"id":3980,"kind":{"Assign":[{"kind":{"Local":159},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","19"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":9484,"kind":{"StorageLive":366},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":9485,"kind":{"Assign":[{"kind":{"Local":366},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":9486,"kind":{"StorageLive":367},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":9487,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":366},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":159},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":367},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":3983,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":367},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":152},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":57},"end":{"line":428,"col":58}},"generated_from_span":null},"id":3984,"kind":{"StorageDead":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":58},"end":{"line":428,"col":59}},"generated_from_span":null},"id":3985,"kind":{"StorageDead":159},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":58},"end":{"line":428,"col":59}},"generated_from_span":null},"id":3986,"kind":{"StorageDead":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":58},"end":{"line":428,"col":59}},"generated_from_span":null},"id":3987,"kind":{"StorageDead":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":17},"end":{"line":429,"col":33}},"generated_from_span":null},"id":3988,"kind":{"StorageLive":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":3989,"kind":{"StorageLive":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":24},"end":{"line":429,"col":25}},"generated_from_span":null},"id":3990,"kind":{"StorageLive":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":24},"end":{"line":429,"col":25}},"generated_from_span":null},"id":3991,"kind":{"Assign":[{"kind":{"Local":162},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":9488,"kind":{"StorageLive":368},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":9489,"kind":{"Assign":[{"kind":{"Local":368},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":9490,"kind":{"StorageLive":369},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":9491,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":368},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":162},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":369},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":3994,"kind":{"Assign":[{"kind":{"Local":161},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":369},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":17},"end":{"line":429,"col":33}},"generated_from_span":null},"id":3998,"kind":{"Assign":[{"kind":{"Local":160},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":161},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","7"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":32},"end":{"line":429,"col":33}},"generated_from_span":null},"id":3999,"kind":{"StorageDead":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":10},"end":{"line":429,"col":12}},"generated_from_span":null},"id":4000,"kind":{"StorageLive":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":10},"end":{"line":429,"col":12}},"generated_from_span":null},"id":4001,"kind":{"Assign":[{"kind":{"Local":163},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","20"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":9492,"kind":{"StorageLive":370},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":9493,"kind":{"Assign":[{"kind":{"Local":370},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":9494,"kind":{"StorageLive":371},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":9495,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":370},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":163},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":371},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":4004,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":371},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":160},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":57},"end":{"line":429,"col":58}},"generated_from_span":null},"id":4005,"kind":{"StorageDead":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":58},"end":{"line":429,"col":59}},"generated_from_span":null},"id":4006,"kind":{"StorageDead":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":58},"end":{"line":429,"col":59}},"generated_from_span":null},"id":4007,"kind":{"StorageDead":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":17},"end":{"line":430,"col":33}},"generated_from_span":null},"id":4008,"kind":{"StorageLive":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":4009,"kind":{"StorageLive":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":24},"end":{"line":430,"col":25}},"generated_from_span":null},"id":4010,"kind":{"StorageLive":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":24},"end":{"line":430,"col":25}},"generated_from_span":null},"id":4011,"kind":{"Assign":[{"kind":{"Local":166},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":9496,"kind":{"StorageLive":372},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":9497,"kind":{"Assign":[{"kind":{"Local":372},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":9498,"kind":{"StorageLive":373},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":9499,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":372},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":166},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":373},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":4014,"kind":{"Assign":[{"kind":{"Local":165},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":373},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":17},"end":{"line":430,"col":33}},"generated_from_span":null},"id":4018,"kind":{"Assign":[{"kind":{"Local":164},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":165},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","15"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":32},"end":{"line":430,"col":33}},"generated_from_span":null},"id":4019,"kind":{"StorageDead":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":10},"end":{"line":430,"col":12}},"generated_from_span":null},"id":4020,"kind":{"StorageLive":167},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":10},"end":{"line":430,"col":12}},"generated_from_span":null},"id":4021,"kind":{"Assign":[{"kind":{"Local":167},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","21"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":9500,"kind":{"StorageLive":374},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":9501,"kind":{"Assign":[{"kind":{"Local":374},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":9502,"kind":{"StorageLive":375},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":9503,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":374},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":167},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":375},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":4024,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":375},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":164},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":57},"end":{"line":430,"col":58}},"generated_from_span":null},"id":4025,"kind":{"StorageDead":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":58},"end":{"line":430,"col":59}},"generated_from_span":null},"id":4026,"kind":{"StorageDead":167},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":58},"end":{"line":430,"col":59}},"generated_from_span":null},"id":4027,"kind":{"StorageDead":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":17},"end":{"line":431,"col":33}},"generated_from_span":null},"id":4028,"kind":{"StorageLive":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":4029,"kind":{"StorageLive":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":24},"end":{"line":431,"col":25}},"generated_from_span":null},"id":4030,"kind":{"StorageLive":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":24},"end":{"line":431,"col":25}},"generated_from_span":null},"id":4031,"kind":{"Assign":[{"kind":{"Local":170},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":9504,"kind":{"StorageLive":376},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":9505,"kind":{"Assign":[{"kind":{"Local":376},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":9506,"kind":{"StorageLive":377},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":9507,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":376},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":170},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":377},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":4034,"kind":{"Assign":[{"kind":{"Local":169},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":377},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":17},"end":{"line":431,"col":33}},"generated_from_span":null},"id":4038,"kind":{"Assign":[{"kind":{"Local":168},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":169},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","23"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":32},"end":{"line":431,"col":33}},"generated_from_span":null},"id":4039,"kind":{"StorageDead":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":10},"end":{"line":431,"col":12}},"generated_from_span":null},"id":4040,"kind":{"StorageLive":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":10},"end":{"line":431,"col":12}},"generated_from_span":null},"id":4041,"kind":{"Assign":[{"kind":{"Local":171},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","22"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":9508,"kind":{"StorageLive":378},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":9509,"kind":{"Assign":[{"kind":{"Local":378},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":9510,"kind":{"StorageLive":379},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":9511,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":378},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":171},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":379},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":4044,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":379},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":168},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":57},"end":{"line":431,"col":58}},"generated_from_span":null},"id":4045,"kind":{"StorageDead":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":58},"end":{"line":431,"col":59}},"generated_from_span":null},"id":4046,"kind":{"StorageDead":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":58},"end":{"line":431,"col":59}},"generated_from_span":null},"id":4047,"kind":{"StorageDead":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":17},"end":{"line":432,"col":33}},"generated_from_span":null},"id":4048,"kind":{"StorageLive":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":4049,"kind":{"StorageLive":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":24},"end":{"line":432,"col":25}},"generated_from_span":null},"id":4050,"kind":{"StorageLive":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":24},"end":{"line":432,"col":25}},"generated_from_span":null},"id":4051,"kind":{"Assign":[{"kind":{"Local":174},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":9512,"kind":{"StorageLive":380},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":9513,"kind":{"Assign":[{"kind":{"Local":380},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":9514,"kind":{"StorageLive":381},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":9515,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":380},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":174},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":381},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":4054,"kind":{"Assign":[{"kind":{"Local":173},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":381},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":17},"end":{"line":432,"col":33}},"generated_from_span":null},"id":4058,"kind":{"Assign":[{"kind":{"Local":172},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":173},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","31"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":32},"end":{"line":432,"col":33}},"generated_from_span":null},"id":4059,"kind":{"StorageDead":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":10},"end":{"line":432,"col":12}},"generated_from_span":null},"id":4060,"kind":{"StorageLive":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":10},"end":{"line":432,"col":12}},"generated_from_span":null},"id":4061,"kind":{"Assign":[{"kind":{"Local":175},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","23"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":9516,"kind":{"StorageLive":382},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":9517,"kind":{"Assign":[{"kind":{"Local":382},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":9518,"kind":{"StorageLive":383},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":9519,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":382},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":175},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":383},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":4064,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":383},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":172},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":57},"end":{"line":432,"col":58}},"generated_from_span":null},"id":4065,"kind":{"StorageDead":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":58},"end":{"line":432,"col":59}},"generated_from_span":null},"id":4066,"kind":{"StorageDead":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":58},"end":{"line":432,"col":59}},"generated_from_span":null},"id":4067,"kind":{"StorageDead":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":17},"end":{"line":433,"col":33}},"generated_from_span":null},"id":4068,"kind":{"StorageLive":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":4069,"kind":{"StorageLive":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":24},"end":{"line":433,"col":25}},"generated_from_span":null},"id":4070,"kind":{"StorageLive":178},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":24},"end":{"line":433,"col":25}},"generated_from_span":null},"id":4071,"kind":{"Assign":[{"kind":{"Local":178},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":9520,"kind":{"StorageLive":384},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":9521,"kind":{"Assign":[{"kind":{"Local":384},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":9522,"kind":{"StorageLive":385},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":9523,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":384},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":178},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":385},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":4074,"kind":{"Assign":[{"kind":{"Local":177},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":385},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":17},"end":{"line":433,"col":33}},"generated_from_span":null},"id":4078,"kind":{"Assign":[{"kind":{"Local":176},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":177},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","39"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":32},"end":{"line":433,"col":33}},"generated_from_span":null},"id":4079,"kind":{"StorageDead":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":10},"end":{"line":433,"col":12}},"generated_from_span":null},"id":4080,"kind":{"StorageLive":179},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":10},"end":{"line":433,"col":12}},"generated_from_span":null},"id":4081,"kind":{"Assign":[{"kind":{"Local":179},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","24"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":9524,"kind":{"StorageLive":386},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":9525,"kind":{"Assign":[{"kind":{"Local":386},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":9526,"kind":{"StorageLive":387},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":9527,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":386},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":179},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":387},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":4084,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":387},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":176},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":57},"end":{"line":433,"col":58}},"generated_from_span":null},"id":4085,"kind":{"StorageDead":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":58},"end":{"line":433,"col":59}},"generated_from_span":null},"id":4086,"kind":{"StorageDead":179},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":58},"end":{"line":433,"col":59}},"generated_from_span":null},"id":4087,"kind":{"StorageDead":178},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":16},"end":{"line":434,"col":52}},"generated_from_span":null},"id":4088,"kind":{"StorageLive":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":17},"end":{"line":434,"col":33}},"generated_from_span":null},"id":4089,"kind":{"StorageLive":181},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":4090,"kind":{"StorageLive":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":24},"end":{"line":434,"col":25}},"generated_from_span":null},"id":4091,"kind":{"StorageLive":183},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":24},"end":{"line":434,"col":25}},"generated_from_span":null},"id":4092,"kind":{"Assign":[{"kind":{"Local":183},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":9528,"kind":{"StorageLive":388},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":9529,"kind":{"Assign":[{"kind":{"Local":388},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":9530,"kind":{"StorageLive":389},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":9531,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":388},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":183},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":389},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":4095,"kind":{"Assign":[{"kind":{"Local":182},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":389},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":17},"end":{"line":434,"col":33}},"generated_from_span":null},"id":4099,"kind":{"Assign":[{"kind":{"Local":181},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":182},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","47"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":32},"end":{"line":434,"col":33}},"generated_from_span":null},"id":4100,"kind":{"StorageDead":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":36},"end":{"line":434,"col":51}},"generated_from_span":null},"id":4101,"kind":{"StorageLive":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":4102,"kind":{"StorageLive":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":43},"end":{"line":434,"col":44}},"generated_from_span":null},"id":4103,"kind":{"StorageLive":186},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":43},"end":{"line":434,"col":44}},"generated_from_span":null},"id":4104,"kind":{"Assign":[{"kind":{"Local":186},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":9532,"kind":{"StorageLive":390},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":9533,"kind":{"Assign":[{"kind":{"Local":390},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":9534,"kind":{"StorageLive":391},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":9535,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":390},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":186},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":391},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":4107,"kind":{"Assign":[{"kind":{"Local":185},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":391},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":36},"end":{"line":434,"col":51}},"generated_from_span":null},"id":4111,"kind":{"Assign":[{"kind":{"Local":184},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":185},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","4"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":50},"end":{"line":434,"col":51}},"generated_from_span":null},"id":4112,"kind":{"StorageDead":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":16},"end":{"line":434,"col":52}},"generated_from_span":null},"id":4113,"kind":{"Assign":[{"kind":{"Local":180},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":181},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":184},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":51},"end":{"line":434,"col":52}},"generated_from_span":null},"id":4114,"kind":{"StorageDead":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":51},"end":{"line":434,"col":52}},"generated_from_span":null},"id":4115,"kind":{"StorageDead":181},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":10},"end":{"line":434,"col":12}},"generated_from_span":null},"id":4116,"kind":{"StorageLive":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":10},"end":{"line":434,"col":12}},"generated_from_span":null},"id":4117,"kind":{"Assign":[{"kind":{"Local":187},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","25"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":9536,"kind":{"StorageLive":392},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":9537,"kind":{"Assign":[{"kind":{"Local":392},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":9538,"kind":{"StorageLive":393},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":9539,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":392},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":187},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":393},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":4120,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":393},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":180},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":57},"end":{"line":434,"col":58}},"generated_from_span":null},"id":4121,"kind":{"StorageDead":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":58},"end":{"line":434,"col":59}},"generated_from_span":null},"id":4122,"kind":{"StorageDead":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":58},"end":{"line":434,"col":59}},"generated_from_span":null},"id":4123,"kind":{"StorageDead":186},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":58},"end":{"line":434,"col":59}},"generated_from_span":null},"id":4124,"kind":{"StorageDead":183},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":17},"end":{"line":435,"col":33}},"generated_from_span":null},"id":4125,"kind":{"StorageLive":188},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":4126,"kind":{"StorageLive":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":24},"end":{"line":435,"col":25}},"generated_from_span":null},"id":4127,"kind":{"StorageLive":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":24},"end":{"line":435,"col":25}},"generated_from_span":null},"id":4128,"kind":{"Assign":[{"kind":{"Local":190},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":9540,"kind":{"StorageLive":394},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":9541,"kind":{"Assign":[{"kind":{"Local":394},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":9542,"kind":{"StorageLive":395},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":9543,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":394},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":190},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":395},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":4131,"kind":{"Assign":[{"kind":{"Local":189},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":395},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":17},"end":{"line":435,"col":33}},"generated_from_span":null},"id":4135,"kind":{"Assign":[{"kind":{"Local":188},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":189},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","4"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":32},"end":{"line":435,"col":33}},"generated_from_span":null},"id":4136,"kind":{"StorageDead":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":10},"end":{"line":435,"col":12}},"generated_from_span":null},"id":4137,"kind":{"StorageLive":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":10},"end":{"line":435,"col":12}},"generated_from_span":null},"id":4138,"kind":{"Assign":[{"kind":{"Local":191},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","26"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":9544,"kind":{"StorageLive":396},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":9545,"kind":{"Assign":[{"kind":{"Local":396},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":9546,"kind":{"StorageLive":397},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":9547,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":396},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":191},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":397},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":4141,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":397},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":188},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":57},"end":{"line":435,"col":58}},"generated_from_span":null},"id":4142,"kind":{"StorageDead":188},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":58},"end":{"line":435,"col":59}},"generated_from_span":null},"id":4143,"kind":{"StorageDead":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":58},"end":{"line":435,"col":59}},"generated_from_span":null},"id":4144,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":17},"end":{"line":436,"col":33}},"generated_from_span":null},"id":4145,"kind":{"StorageLive":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":4146,"kind":{"StorageLive":193},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":24},"end":{"line":436,"col":25}},"generated_from_span":null},"id":4147,"kind":{"StorageLive":194},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":24},"end":{"line":436,"col":25}},"generated_from_span":null},"id":4148,"kind":{"Assign":[{"kind":{"Local":194},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":9548,"kind":{"StorageLive":398},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":9549,"kind":{"Assign":[{"kind":{"Local":398},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":9550,"kind":{"StorageLive":399},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":9551,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":398},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":194},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":399},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":4151,"kind":{"Assign":[{"kind":{"Local":193},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":399},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":17},"end":{"line":436,"col":33}},"generated_from_span":null},"id":4155,"kind":{"Assign":[{"kind":{"Local":192},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":193},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","12"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":32},"end":{"line":436,"col":33}},"generated_from_span":null},"id":4156,"kind":{"StorageDead":193},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":10},"end":{"line":436,"col":12}},"generated_from_span":null},"id":4157,"kind":{"StorageLive":195},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":10},"end":{"line":436,"col":12}},"generated_from_span":null},"id":4158,"kind":{"Assign":[{"kind":{"Local":195},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","27"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":9552,"kind":{"StorageLive":400},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":9553,"kind":{"Assign":[{"kind":{"Local":400},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":9554,"kind":{"StorageLive":401},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":9555,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":400},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":195},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":401},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":4161,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":401},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":192},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":57},"end":{"line":436,"col":58}},"generated_from_span":null},"id":4162,"kind":{"StorageDead":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":58},"end":{"line":436,"col":59}},"generated_from_span":null},"id":4163,"kind":{"StorageDead":195},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":58},"end":{"line":436,"col":59}},"generated_from_span":null},"id":4164,"kind":{"StorageDead":194},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":17},"end":{"line":437,"col":33}},"generated_from_span":null},"id":4165,"kind":{"StorageLive":196},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":4166,"kind":{"StorageLive":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":24},"end":{"line":437,"col":25}},"generated_from_span":null},"id":4167,"kind":{"StorageLive":198},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":24},"end":{"line":437,"col":25}},"generated_from_span":null},"id":4168,"kind":{"Assign":[{"kind":{"Local":198},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":9556,"kind":{"StorageLive":402},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":9557,"kind":{"Assign":[{"kind":{"Local":402},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":9558,"kind":{"StorageLive":403},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":9559,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":402},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":198},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":403},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":4171,"kind":{"Assign":[{"kind":{"Local":197},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":403},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":17},"end":{"line":437,"col":33}},"generated_from_span":null},"id":4175,"kind":{"Assign":[{"kind":{"Local":196},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":197},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","20"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":32},"end":{"line":437,"col":33}},"generated_from_span":null},"id":4176,"kind":{"StorageDead":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":10},"end":{"line":437,"col":12}},"generated_from_span":null},"id":4177,"kind":{"StorageLive":199},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":10},"end":{"line":437,"col":12}},"generated_from_span":null},"id":4178,"kind":{"Assign":[{"kind":{"Local":199},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","28"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":9560,"kind":{"StorageLive":404},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":9561,"kind":{"Assign":[{"kind":{"Local":404},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":9562,"kind":{"StorageLive":405},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":9563,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":404},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":199},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":405},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":4181,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":405},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":196},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":57},"end":{"line":437,"col":58}},"generated_from_span":null},"id":4182,"kind":{"StorageDead":196},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":58},"end":{"line":437,"col":59}},"generated_from_span":null},"id":4183,"kind":{"StorageDead":199},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":58},"end":{"line":437,"col":59}},"generated_from_span":null},"id":4184,"kind":{"StorageDead":198},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":17},"end":{"line":438,"col":33}},"generated_from_span":null},"id":4185,"kind":{"StorageLive":200},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":4186,"kind":{"StorageLive":201},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":24},"end":{"line":438,"col":25}},"generated_from_span":null},"id":4187,"kind":{"StorageLive":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":24},"end":{"line":438,"col":25}},"generated_from_span":null},"id":4188,"kind":{"Assign":[{"kind":{"Local":202},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":9564,"kind":{"StorageLive":406},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":9565,"kind":{"Assign":[{"kind":{"Local":406},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":9566,"kind":{"StorageLive":407},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":9567,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":406},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":202},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":407},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":4191,"kind":{"Assign":[{"kind":{"Local":201},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":407},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":17},"end":{"line":438,"col":33}},"generated_from_span":null},"id":4195,"kind":{"Assign":[{"kind":{"Local":200},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":201},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","28"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":32},"end":{"line":438,"col":33}},"generated_from_span":null},"id":4196,"kind":{"StorageDead":201},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":10},"end":{"line":438,"col":12}},"generated_from_span":null},"id":4197,"kind":{"StorageLive":203},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":10},"end":{"line":438,"col":12}},"generated_from_span":null},"id":4198,"kind":{"Assign":[{"kind":{"Local":203},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","29"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":9568,"kind":{"StorageLive":408},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":9569,"kind":{"Assign":[{"kind":{"Local":408},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":9570,"kind":{"StorageLive":409},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":9571,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":408},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":203},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":409},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":4201,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":409},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":200},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":57},"end":{"line":438,"col":58}},"generated_from_span":null},"id":4202,"kind":{"StorageDead":200},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":58},"end":{"line":438,"col":59}},"generated_from_span":null},"id":4203,"kind":{"StorageDead":203},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":58},"end":{"line":438,"col":59}},"generated_from_span":null},"id":4204,"kind":{"StorageDead":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":17},"end":{"line":439,"col":33}},"generated_from_span":null},"id":4205,"kind":{"StorageLive":204},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":4206,"kind":{"StorageLive":205},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":24},"end":{"line":439,"col":25}},"generated_from_span":null},"id":4207,"kind":{"StorageLive":206},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":24},"end":{"line":439,"col":25}},"generated_from_span":null},"id":4208,"kind":{"Assign":[{"kind":{"Local":206},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":9572,"kind":{"StorageLive":410},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":9573,"kind":{"Assign":[{"kind":{"Local":410},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":9574,"kind":{"StorageLive":411},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":9575,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":410},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":206},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":411},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":4211,"kind":{"Assign":[{"kind":{"Local":205},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":411},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":17},"end":{"line":439,"col":33}},"generated_from_span":null},"id":4215,"kind":{"Assign":[{"kind":{"Local":204},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":205},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","36"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":32},"end":{"line":439,"col":33}},"generated_from_span":null},"id":4216,"kind":{"StorageDead":205},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":10},"end":{"line":439,"col":12}},"generated_from_span":null},"id":4217,"kind":{"StorageLive":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":10},"end":{"line":439,"col":12}},"generated_from_span":null},"id":4218,"kind":{"Assign":[{"kind":{"Local":207},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","30"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":9576,"kind":{"StorageLive":412},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":9577,"kind":{"Assign":[{"kind":{"Local":412},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":9578,"kind":{"StorageLive":413},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":9579,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":412},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":207},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":413},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":4221,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":413},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":204},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":57},"end":{"line":439,"col":58}},"generated_from_span":null},"id":4222,"kind":{"StorageDead":204},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":58},"end":{"line":439,"col":59}},"generated_from_span":null},"id":4223,"kind":{"StorageDead":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":58},"end":{"line":439,"col":59}},"generated_from_span":null},"id":4224,"kind":{"StorageDead":206},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":17},"end":{"line":440,"col":33}},"generated_from_span":null},"id":4225,"kind":{"StorageLive":208},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":4226,"kind":{"StorageLive":209},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":24},"end":{"line":440,"col":25}},"generated_from_span":null},"id":4227,"kind":{"StorageLive":210},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":24},"end":{"line":440,"col":25}},"generated_from_span":null},"id":4228,"kind":{"Assign":[{"kind":{"Local":210},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":9580,"kind":{"StorageLive":414},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":9581,"kind":{"Assign":[{"kind":{"Local":414},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":9582,"kind":{"StorageLive":415},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":9583,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":414},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":210},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":415},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":4231,"kind":{"Assign":[{"kind":{"Local":209},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":415},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":17},"end":{"line":440,"col":33}},"generated_from_span":null},"id":4235,"kind":{"Assign":[{"kind":{"Local":208},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":209},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","44"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":32},"end":{"line":440,"col":33}},"generated_from_span":null},"id":4236,"kind":{"StorageDead":209},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":10},"end":{"line":440,"col":12}},"generated_from_span":null},"id":4237,"kind":{"StorageLive":211},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":10},"end":{"line":440,"col":12}},"generated_from_span":null},"id":4238,"kind":{"Assign":[{"kind":{"Local":211},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":9584,"kind":{"StorageLive":416},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":9585,"kind":{"Assign":[{"kind":{"Local":416},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":9586,"kind":{"StorageLive":417},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":9587,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":416},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":211},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":417},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":4241,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":417},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":208},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":57},"end":{"line":440,"col":58}},"generated_from_span":null},"id":4242,"kind":{"StorageDead":208},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":58},"end":{"line":440,"col":59}},"generated_from_span":null},"id":4243,"kind":{"StorageDead":211},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":58},"end":{"line":440,"col":59}},"generated_from_span":null},"id":4244,"kind":{"StorageDead":210},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4246,"kind":{"StorageLive":212},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4247,"kind":{"Assign":[{"kind":{"Local":212},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4274,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":212},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4249,"kind":{"StorageLive":213},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":45}},"generated_from_span":null},"id":4250,"kind":{"StorageLive":214},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":4251,"kind":{"StorageLive":215},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":25},"end":{"line":443,"col":27}},"generated_from_span":null},"id":4252,"kind":{"StorageLive":216},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":25},"end":{"line":443,"col":27}},"generated_from_span":null},"id":4253,"kind":{"Assign":[{"kind":{"Local":216},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["High bit should be zero."]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":9196,"kind":{"StorageLive":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":9197,"kind":{"Assign":[{"kind":{"Local":222},"ty":{"Deduplicated":9005}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":9198,"kind":{"StorageLive":223},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":9199,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":222},"ty":{"Deduplicated":9005}}},{"Copy":{"kind":{"Local":216},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":223},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":4256,"kind":{"Assign":[{"kind":{"Local":215},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":223},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":45}},"generated_from_span":null},"id":4257,"kind":{"Assign":[{"kind":{"Local":214},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":215},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","128"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":44},"end":{"line":443,"col":45}},"generated_from_span":null},"id":4258,"kind":{"StorageDead":215},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4259,"kind":{"Assign":[{"kind":{"Local":213},"ty":{"Deduplicated":1470}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":214},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4265,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":213},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":51},"end":{"line":443,"col":52}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":443,"col":51},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4261,"kind":{"StorageDead":214},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4262,"kind":{"StorageDead":216},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4264,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":51},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4266,"kind":{"StorageDead":214},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4267,"kind":{"StorageDead":216},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4269,"kind":{"StorageDead":213},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4275,"kind":{"StorageDead":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":445,"col":8},"end":{"line":445,"col":9}},"generated_from_span":null},"id":4277,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4278,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4279,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4280,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4281,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":5},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4282,"kind":"Return","comments_before":[]}]},"comments":[[379,["Let h = limbs[0] + limbs[1]*2^51 + ... + limbs[4]*2^204.","","Write h = pq + r with 0 <= r < p.","","We want to compute r = h mod p.","","If h < 2*p = 2^256 - 38,","then q = 0 or 1,","","with q = 0 when h < p"," and q = 1 when h >= p.","","Notice that h >= p <==> h + 19 >= p + 19 <==> h + 19 >= 2^255.","Therefore q can be computed as the carry bit of h + 19."]],[381,["First, reduce the limbs to ensure h < 2*p."]],[390,["Now we can compute r as r = h - pq = r - (2^255-19)q = r + 19q - 2^255q"]],[394,["Now carry the result to compute r + 19q ..."]],[405,["... but instead of carrying (limbs[4] >> 51) = 2^255q","into another limb, discard it, subtracting the value"]],[408,["Now arrange the bits of the limbs."]],[443,["High bit should be zero."]]]}}},{"def_id":36,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]}],"span":{"data":{"file_id":5,"beg":{"line":450,"col":4},"end":{"line":555,"col":5}},"generated_from_span":null},"source_text":"pub fn pow2k(&self, mut k: u32) -> FieldElement51 {\n\n debug_assert!( k > 0 );\n\n /// Multiply two 64-bit integers with 128 bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 {\n (x as u128) * (y as u128)\n }\n\n let mut a: [u64; 5] = self.0;\n\n loop {\n // Precondition: assume input limbs a[i] are bounded as\n //\n // a[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // Precomputation: 64-bit multiply by 19.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let a3_19 = 19 * a[3];\n let a4_19 = 19 * a[4];\n\n // Multiply to get 128-bit coefficients of output.\n //\n // The 128-bit multiplications by 2 turn into 1 slr + 1 slrd each,\n // which doesn't seem any better or worse than doing them as precomputations\n // on the 64-bit inputs.\n let c0: u128 = m(a[0], a[0]) + 2*( m(a[1], a4_19) + m(a[2], a3_19) );\n let mut c1: u128 = m(a[3], a3_19) + 2*( m(a[0], a[1]) + m(a[2], a4_19) );\n let mut c2: u128 = m(a[1], a[1]) + 2*( m(a[0], a[2]) + m(a[4], a3_19) );\n let mut c3: u128 = m(a[4], a4_19) + 2*( m(a[0], a[3]) + m(a[1], a[2]) );\n let mut c4: u128 = m(a[2], a[2]) + 2*( m(a[0], a[4]) + m(a[1], a[3]) );\n\n // Same bound as in multiply:\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54));\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n\n // Casting to u64 and back tells the compiler that the carry is bounded by 2^64, so\n // that the addition is a u128 + u64 rather than u128 + u128.\n c1 += ((c0 >> 51) as u64) as u128;\n a[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n a[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n a[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n a[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n a[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need a[0] + carry * 19 < 2^64.\n //\n // c4 < a2^2 + 2*a0*a4 + 2*a1*a3 + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // a[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n a[0] += carry * 19;\n\n // Now a[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n a[1] += a[0] >> 51;\n a[0] &= LOW_51_BIT_MASK;\n\n // Now all a[i] < 2^(51 + epsilon) and a = self^(2^k).\n\n k -= 1;\n if k == 0 {\n break;\n }\n }\n\n FieldElement51(a)\n }","attr_info":{"attributes":[{"DocComment":" Given `k > 0`, return `self^(2^k)`."},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080},{"Deduplicated":2925}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":450,"col":4},"end":{"line":555,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":450,"col":39},"end":{"line":450,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":450,"col":17},"end":{"line":450,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"k","span":{"data":{"file_id":5,"beg":{"line":450,"col":24},"end":{"line":450,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":3,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":6,"name":"a","span":{"data":{"file_id":5,"beg":{"line":460,"col":12},"end":{"line":460,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":7,"name":"a3_19","span":{"data":{"file_id":5,"beg":{"line":476,"col":16},"end":{"line":476,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":476,"col":31},"end":{"line":476,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":476,"col":24},"end":{"line":476,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":"a4_19","span":{"data":{"file_id":5,"beg":{"line":477,"col":16},"end":{"line":477,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":477,"col":31},"end":{"line":477,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":477,"col":24},"end":{"line":477,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":"c0","span":{"data":{"file_id":5,"beg":{"line":484,"col":20},"end":{"line":484,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":35},"end":{"line":484,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":42},"end":{"line":484,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":52},"end":{"line":484,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":56},"end":{"line":484,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":60},"end":{"line":484,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":69},"end":{"line":484,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":73},"end":{"line":484,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":77},"end":{"line":484,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":34,"name":"c1","span":{"data":{"file_id":5,"beg":{"line":485,"col":16},"end":{"line":485,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":35},"end":{"line":485,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":39},"end":{"line":485,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":52},"end":{"line":485,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":56},"end":{"line":485,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":45,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":63},"end":{"line":485,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":46,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":69},"end":{"line":485,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":47,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":48,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":73},"end":{"line":485,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":49,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":77},"end":{"line":485,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":50,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":51,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":52,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":53,"name":"c2","span":{"data":{"file_id":5,"beg":{"line":486,"col":16},"end":{"line":486,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":54,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":55,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":56,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":35},"end":{"line":486,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":57,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":58,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":42},"end":{"line":486,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":59,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":60,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":61,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":52},"end":{"line":486,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":62,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":63,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":56},"end":{"line":486,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":64,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":65,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":63},"end":{"line":486,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":66,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":69},"end":{"line":486,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":67,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":68,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":73},"end":{"line":486,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":69,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":77},"end":{"line":486,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":70,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":71,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":72,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":73,"name":"c3","span":{"data":{"file_id":5,"beg":{"line":487,"col":16},"end":{"line":487,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":74,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":75,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":76,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":35},"end":{"line":487,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":77,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":39},"end":{"line":487,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":78,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":79,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":80,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":52},"end":{"line":487,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":81,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":82,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":56},"end":{"line":487,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":83,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":84,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":63},"end":{"line":487,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":85,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":69},"end":{"line":487,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":86,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":87,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":73},"end":{"line":487,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":88,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":89,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":80},"end":{"line":487,"col":81}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":90,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":91,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":92,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":93,"name":"c4","span":{"data":{"file_id":5,"beg":{"line":488,"col":16},"end":{"line":488,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":94,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":95,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":96,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":35},"end":{"line":488,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":97,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":98,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":42},"end":{"line":488,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":99,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":100,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":101,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":52},"end":{"line":488,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":102,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":103,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":56},"end":{"line":488,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":104,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":105,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":63},"end":{"line":488,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":106,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":69},"end":{"line":488,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":107,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":108,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":73},"end":{"line":488,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":109,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":110,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":80},"end":{"line":488,"col":81}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":111,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":112,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":113,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":114,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":115,"name":null,"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":116,"name":null,"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":117,"name":null,"span":{"data":{"file_id":5,"beg":{"line":501,"col":28},"end":{"line":501,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":118,"name":null,"span":{"data":{"file_id":5,"beg":{"line":501,"col":33},"end":{"line":501,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":119,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":120,"name":null,"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":121,"name":null,"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":122,"name":null,"span":{"data":{"file_id":5,"beg":{"line":502,"col":28},"end":{"line":502,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":123,"name":null,"span":{"data":{"file_id":5,"beg":{"line":502,"col":33},"end":{"line":502,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":124,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":125,"name":null,"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":126,"name":null,"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":127,"name":null,"span":{"data":{"file_id":5,"beg":{"line":503,"col":28},"end":{"line":503,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":128,"name":null,"span":{"data":{"file_id":5,"beg":{"line":503,"col":33},"end":{"line":503,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":129,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":130,"name":null,"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":131,"name":null,"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":132,"name":null,"span":{"data":{"file_id":5,"beg":{"line":504,"col":28},"end":{"line":504,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":133,"name":null,"span":{"data":{"file_id":5,"beg":{"line":504,"col":33},"end":{"line":504,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":134,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":135,"name":null,"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":136,"name":null,"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":137,"name":null,"span":{"data":{"file_id":5,"beg":{"line":505,"col":28},"end":{"line":505,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":138,"name":null,"span":{"data":{"file_id":5,"beg":{"line":505,"col":33},"end":{"line":505,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":139,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":140,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":141,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":19},"end":{"line":511,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":142,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":20},"end":{"line":511,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":143,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":12},"end":{"line":511,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":144,"name":null,"span":{"data":{"file_id":5,"beg":{"line":512,"col":19},"end":{"line":512,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":145,"name":null,"span":{"data":{"file_id":5,"beg":{"line":512,"col":20},"end":{"line":512,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":146,"name":null,"span":{"data":{"file_id":5,"beg":{"line":512,"col":14},"end":{"line":512,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":147,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":148,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":149,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":19},"end":{"line":514,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":150,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":20},"end":{"line":514,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":151,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":12},"end":{"line":514,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":152,"name":null,"span":{"data":{"file_id":5,"beg":{"line":515,"col":19},"end":{"line":515,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":153,"name":null,"span":{"data":{"file_id":5,"beg":{"line":515,"col":20},"end":{"line":515,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":154,"name":null,"span":{"data":{"file_id":5,"beg":{"line":515,"col":14},"end":{"line":515,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":155,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":156,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":157,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":19},"end":{"line":517,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":158,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":20},"end":{"line":517,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":159,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":12},"end":{"line":517,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":160,"name":null,"span":{"data":{"file_id":5,"beg":{"line":518,"col":19},"end":{"line":518,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":161,"name":null,"span":{"data":{"file_id":5,"beg":{"line":518,"col":20},"end":{"line":518,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":162,"name":null,"span":{"data":{"file_id":5,"beg":{"line":518,"col":14},"end":{"line":518,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":163,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":164,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":165,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":19},"end":{"line":520,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":166,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":20},"end":{"line":520,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":167,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":12},"end":{"line":520,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":168,"name":null,"span":{"data":{"file_id":5,"beg":{"line":521,"col":19},"end":{"line":521,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":169,"name":null,"span":{"data":{"file_id":5,"beg":{"line":521,"col":20},"end":{"line":521,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":170,"name":null,"span":{"data":{"file_id":5,"beg":{"line":521,"col":14},"end":{"line":521,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":171,"name":"carry","span":{"data":{"file_id":5,"beg":{"line":523,"col":16},"end":{"line":523,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":172,"name":null,"span":{"data":{"file_id":5,"beg":{"line":523,"col":29},"end":{"line":523,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":173,"name":null,"span":{"data":{"file_id":5,"beg":{"line":523,"col":30},"end":{"line":523,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":174,"name":null,"span":{"data":{"file_id":5,"beg":{"line":524,"col":19},"end":{"line":524,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":175,"name":null,"span":{"data":{"file_id":5,"beg":{"line":524,"col":20},"end":{"line":524,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":176,"name":null,"span":{"data":{"file_id":5,"beg":{"line":524,"col":14},"end":{"line":524,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":177,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":178,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":179,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":180,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":14},"end":{"line":540,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":181,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":182,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":183,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":184,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":22},"end":{"line":543,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":185,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":14},"end":{"line":543,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":186,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":187,"name":null,"span":{"data":{"file_id":5,"beg":{"line":544,"col":14},"end":{"line":544,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":188,"name":null,"span":{"data":{"file_id":5,"beg":{"line":548,"col":12},"end":{"line":548,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":189,"name":null,"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":190,"name":null,"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":191,"name":null,"span":{"data":{"file_id":5,"beg":{"line":554,"col":23},"end":{"line":554,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":192,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":193,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":194,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":195,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":196,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":197,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":198,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":199,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":200,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":201,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":202,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":203,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":204,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":205,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":206,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":207,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":208,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":209,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":210,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":211,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":212,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":213,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":214,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":215,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":216,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":217,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":218,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":219,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":220,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":221,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":222,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":223,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":224,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":225,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":226,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":227,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":228,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":229,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":230,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":231,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":232,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":233,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":234,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":235,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":236,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":237,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":238,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":239,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":240,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":241,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":242,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":243,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":244,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":245,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":246,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":247,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":248,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":249,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":250,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":251,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":252,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":253,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":254,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":255,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":256,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":257,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":258,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":259,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":260,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":261,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":262,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":263,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":264,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":265,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":266,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":267,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":268,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":269,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":270,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":271,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":272,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":273,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":274,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}},{"index":275,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":276,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":277,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":278,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}}]},"body":{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4285,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4287,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4292,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4293,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4294,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4299,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4300,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4301,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4307,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4308,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4309,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4315,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4316,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4317,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4324,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4325,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4326,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4344,"kind":{"StorageLive":143},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4348,"kind":{"StorageLive":151},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4352,"kind":{"StorageLive":159},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4356,"kind":{"StorageLive":167},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4361,"kind":{"StorageLive":179},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4363,"kind":{"StorageLive":181},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4368,"kind":{"StorageLive":186},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4370,"kind":{"StorageLive":188},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4372,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4373,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4391,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4375,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":24}},"generated_from_span":null},"id":4376,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":24}},"generated_from_span":null},"id":4377,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2925}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4378,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1470}},{"BinaryOp":["Gt",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4383,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":27},"end":{"line":452,"col":28}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":452,"col":27},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4380,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4382,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":27},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4384,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4386,"kind":{"StorageDead":4},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4392,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":460,"col":12},"end":{"line":460,"col":17}},"generated_from_span":null},"id":4394,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":460,"col":30},"end":{"line":460,"col":36}},"generated_from_span":null},"id":4395,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":["/ Multiply two 64-bit integers with 128 bits of output."]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":16},"end":{"line":488,"col":86}},"generated_from_span":null},"id":5150,"kind":{"Loop":{"span":{"data":{"file_id":5,"beg":{"line":476,"col":16},"end":{"line":488,"col":86}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":476,"col":16},"end":{"line":476,"col":21}},"generated_from_span":null},"id":4397,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4398,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":31},"end":{"line":476,"col":32}},"generated_from_span":null},"id":4399,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":31},"end":{"line":476,"col":32}},"generated_from_span":null},"id":4400,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":9608,"kind":{"StorageLive":203},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":9609,"kind":{"Assign":[{"kind":{"Local":203},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":9610,"kind":{"StorageLive":204},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":9611,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":203},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":204},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4403,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":204},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":24},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4404,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":24},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4406,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":32},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4407,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":33},"end":{"line":476,"col":34}},"generated_from_span":null},"id":4408,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":16},"end":{"line":477,"col":21}},"generated_from_span":null},"id":4409,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4410,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":31},"end":{"line":477,"col":32}},"generated_from_span":null},"id":4411,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":31},"end":{"line":477,"col":32}},"generated_from_span":null},"id":4412,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":9612,"kind":{"StorageLive":205},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":9613,"kind":{"Assign":[{"kind":{"Local":205},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":9614,"kind":{"StorageLive":206},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":9615,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":205},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":206},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4415,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":206},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":24},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4416,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":24},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4418,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":32},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4419,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":33},"end":{"line":477,"col":34}},"generated_from_span":null},"id":4420,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":20},"end":{"line":484,"col":22}},"generated_from_span":null},"id":4421,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":45}},"generated_from_span":null},"id":4422,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":4423,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":35},"end":{"line":484,"col":36}},"generated_from_span":null},"id":4424,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":35},"end":{"line":484,"col":36}},"generated_from_span":null},"id":4425,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Multiply to get 128-bit coefficients of output.","","The 128-bit multiplications by 2 turn into 1 slr + 1 slrd each,","which doesn't seem any better or worse than doing them as precomputations","on the 64-bit inputs."]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":9616,"kind":{"StorageLive":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":9617,"kind":{"Assign":[{"kind":{"Local":207},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":9618,"kind":{"StorageLive":208},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":9619,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":207},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":208},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":4428,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":208},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":4429,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":42},"end":{"line":484,"col":43}},"generated_from_span":null},"id":4430,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":42},"end":{"line":484,"col":43}},"generated_from_span":null},"id":4431,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":9620,"kind":{"StorageLive":209},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":9621,"kind":{"Assign":[{"kind":{"Local":209},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":9622,"kind":{"StorageLive":210},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":9623,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":209},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":210},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":4434,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":210},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":45}},"generated_from_span":null},"id":4435,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":44},"end":{"line":484,"col":45}},"generated_from_span":null},"id":4436,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":44},"end":{"line":484,"col":45}},"generated_from_span":null},"id":4437,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4438,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4439,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":52},"end":{"line":484,"col":66}},"generated_from_span":null},"id":4440,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":4441,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":56},"end":{"line":484,"col":57}},"generated_from_span":null},"id":4442,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":56},"end":{"line":484,"col":57}},"generated_from_span":null},"id":4443,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":9624,"kind":{"StorageLive":211},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":9625,"kind":{"Assign":[{"kind":{"Local":211},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":9626,"kind":{"StorageLive":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":9627,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":211},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":212},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":4446,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":212},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":60},"end":{"line":484,"col":65}},"generated_from_span":null},"id":4447,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":60},"end":{"line":484,"col":65}},"generated_from_span":null},"id":4448,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":52},"end":{"line":484,"col":66}},"generated_from_span":null},"id":4449,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":65},"end":{"line":484,"col":66}},"generated_from_span":null},"id":4450,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":65},"end":{"line":484,"col":66}},"generated_from_span":null},"id":4451,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":69},"end":{"line":484,"col":83}},"generated_from_span":null},"id":4452,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":4453,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":73},"end":{"line":484,"col":74}},"generated_from_span":null},"id":4454,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":73},"end":{"line":484,"col":74}},"generated_from_span":null},"id":4455,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":9628,"kind":{"StorageLive":213},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":9629,"kind":{"Assign":[{"kind":{"Local":213},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":9630,"kind":{"StorageLive":214},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":9631,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":213},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":214},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":4458,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":214},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":77},"end":{"line":484,"col":82}},"generated_from_span":null},"id":4459,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":77},"end":{"line":484,"col":82}},"generated_from_span":null},"id":4460,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":69},"end":{"line":484,"col":83}},"generated_from_span":null},"id":4461,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":82},"end":{"line":484,"col":83}},"generated_from_span":null},"id":4462,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":82},"end":{"line":484,"col":83}},"generated_from_span":null},"id":4463,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4464,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4466,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4467,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4468,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4469,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4471,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4472,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4473,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4475,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4476,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4477,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":85},"end":{"line":484,"col":86}},"generated_from_span":null},"id":4478,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":85},"end":{"line":484,"col":86}},"generated_from_span":null},"id":4479,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":85},"end":{"line":484,"col":86}},"generated_from_span":null},"id":4480,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":85},"end":{"line":484,"col":86}},"generated_from_span":null},"id":4481,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":16},"end":{"line":485,"col":22}},"generated_from_span":null},"id":4482,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":45}},"generated_from_span":null},"id":4483,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":4484,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":35},"end":{"line":485,"col":36}},"generated_from_span":null},"id":4485,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":35},"end":{"line":485,"col":36}},"generated_from_span":null},"id":4486,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":9632,"kind":{"StorageLive":215},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":9633,"kind":{"Assign":[{"kind":{"Local":215},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":9634,"kind":{"StorageLive":216},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":9635,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":215},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":216},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":4489,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":216},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":39},"end":{"line":485,"col":44}},"generated_from_span":null},"id":4490,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":39},"end":{"line":485,"col":44}},"generated_from_span":null},"id":4491,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":45}},"generated_from_span":null},"id":4492,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":44},"end":{"line":485,"col":45}},"generated_from_span":null},"id":4493,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":44},"end":{"line":485,"col":45}},"generated_from_span":null},"id":4494,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4495,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4496,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":52},"end":{"line":485,"col":66}},"generated_from_span":null},"id":4497,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":4498,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":56},"end":{"line":485,"col":57}},"generated_from_span":null},"id":4499,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":56},"end":{"line":485,"col":57}},"generated_from_span":null},"id":4500,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":9636,"kind":{"StorageLive":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":9637,"kind":{"Assign":[{"kind":{"Local":217},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":9638,"kind":{"StorageLive":218},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":9639,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":217},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":218},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":4503,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":218},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":4504,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":63},"end":{"line":485,"col":64}},"generated_from_span":null},"id":4505,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":63},"end":{"line":485,"col":64}},"generated_from_span":null},"id":4506,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":9640,"kind":{"StorageLive":219},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":9641,"kind":{"Assign":[{"kind":{"Local":219},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":9642,"kind":{"StorageLive":220},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":9643,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":219},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":220},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":4509,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":220},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":52},"end":{"line":485,"col":66}},"generated_from_span":null},"id":4510,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":41},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":65},"end":{"line":485,"col":66}},"generated_from_span":null},"id":4511,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":65},"end":{"line":485,"col":66}},"generated_from_span":null},"id":4512,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":69},"end":{"line":485,"col":83}},"generated_from_span":null},"id":4513,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":4514,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":73},"end":{"line":485,"col":74}},"generated_from_span":null},"id":4515,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":73},"end":{"line":485,"col":74}},"generated_from_span":null},"id":4516,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":9644,"kind":{"StorageLive":221},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":9645,"kind":{"Assign":[{"kind":{"Local":221},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":9646,"kind":{"StorageLive":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":9647,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":221},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":48},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":222},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":4519,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":222},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":77},"end":{"line":485,"col":82}},"generated_from_span":null},"id":4520,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":77},"end":{"line":485,"col":82}},"generated_from_span":null},"id":4521,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":69},"end":{"line":485,"col":83}},"generated_from_span":null},"id":4522,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":82},"end":{"line":485,"col":83}},"generated_from_span":null},"id":4523,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":82},"end":{"line":485,"col":83}},"generated_from_span":null},"id":4524,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4525,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":46},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4527,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4528,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4529,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4530,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4532,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4533,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4534,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4536,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4537,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4538,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":85},"end":{"line":485,"col":86}},"generated_from_span":null},"id":4539,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":85},"end":{"line":485,"col":86}},"generated_from_span":null},"id":4540,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":85},"end":{"line":485,"col":86}},"generated_from_span":null},"id":4541,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":85},"end":{"line":485,"col":86}},"generated_from_span":null},"id":4542,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":16},"end":{"line":486,"col":22}},"generated_from_span":null},"id":4543,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":45}},"generated_from_span":null},"id":4544,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":4545,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":35},"end":{"line":486,"col":36}},"generated_from_span":null},"id":4546,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":35},"end":{"line":486,"col":36}},"generated_from_span":null},"id":4547,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":9648,"kind":{"StorageLive":223},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":9649,"kind":{"Assign":[{"kind":{"Local":223},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":9650,"kind":{"StorageLive":224},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":9651,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":223},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":56},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":224},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":4550,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":224},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":4551,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":42},"end":{"line":486,"col":43}},"generated_from_span":null},"id":4552,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":42},"end":{"line":486,"col":43}},"generated_from_span":null},"id":4553,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":9652,"kind":{"StorageLive":225},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":9653,"kind":{"Assign":[{"kind":{"Local":225},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":9654,"kind":{"StorageLive":226},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":9655,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":225},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":226},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":4556,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":226},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":45}},"generated_from_span":null},"id":4557,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":44},"end":{"line":486,"col":45}},"generated_from_span":null},"id":4558,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":44},"end":{"line":486,"col":45}},"generated_from_span":null},"id":4559,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4560,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4561,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":52},"end":{"line":486,"col":66}},"generated_from_span":null},"id":4562,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":4563,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":56},"end":{"line":486,"col":57}},"generated_from_span":null},"id":4564,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":56},"end":{"line":486,"col":57}},"generated_from_span":null},"id":4565,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":9656,"kind":{"StorageLive":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":9657,"kind":{"Assign":[{"kind":{"Local":227},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":9658,"kind":{"StorageLive":228},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":9659,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":227},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":228},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":4568,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":228},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":4569,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":63},"end":{"line":486,"col":64}},"generated_from_span":null},"id":4570,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":63},"end":{"line":486,"col":64}},"generated_from_span":null},"id":4571,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":9660,"kind":{"StorageLive":229},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":9661,"kind":{"Assign":[{"kind":{"Local":229},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":9662,"kind":{"StorageLive":230},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":9663,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":229},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":230},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":4574,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":230},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":52},"end":{"line":486,"col":66}},"generated_from_span":null},"id":4575,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":65},"end":{"line":486,"col":66}},"generated_from_span":null},"id":4576,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":65},"end":{"line":486,"col":66}},"generated_from_span":null},"id":4577,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":69},"end":{"line":486,"col":83}},"generated_from_span":null},"id":4578,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":4579,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":73},"end":{"line":486,"col":74}},"generated_from_span":null},"id":4580,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":73},"end":{"line":486,"col":74}},"generated_from_span":null},"id":4581,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":9664,"kind":{"StorageLive":231},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":9665,"kind":{"Assign":[{"kind":{"Local":231},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":9666,"kind":{"StorageLive":232},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":9667,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":231},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":232},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":4584,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":232},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":77},"end":{"line":486,"col":82}},"generated_from_span":null},"id":4585,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":77},"end":{"line":486,"col":82}},"generated_from_span":null},"id":4586,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":69},"end":{"line":486,"col":83}},"generated_from_span":null},"id":4587,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":67},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":66},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":82},"end":{"line":486,"col":83}},"generated_from_span":null},"id":4588,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":82},"end":{"line":486,"col":83}},"generated_from_span":null},"id":4589,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4590,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":61},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":66},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4592,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":70},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4593,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4594,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4595,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":60},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4597,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4598,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4599,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":59},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4601,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4602,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4603,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4604,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4605,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4606,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4607,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4608,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":16},"end":{"line":487,"col":22}},"generated_from_span":null},"id":4609,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":45}},"generated_from_span":null},"id":4610,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":4611,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":35},"end":{"line":487,"col":36}},"generated_from_span":null},"id":4612,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":35},"end":{"line":487,"col":36}},"generated_from_span":null},"id":4613,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":9668,"kind":{"StorageLive":233},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":9669,"kind":{"Assign":[{"kind":{"Local":233},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":9670,"kind":{"StorageLive":234},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":9671,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":233},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":76},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":234},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":4616,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":234},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":39},"end":{"line":487,"col":44}},"generated_from_span":null},"id":4617,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":39},"end":{"line":487,"col":44}},"generated_from_span":null},"id":4618,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":45}},"generated_from_span":null},"id":4619,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":74},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":44},"end":{"line":487,"col":45}},"generated_from_span":null},"id":4620,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":44},"end":{"line":487,"col":45}},"generated_from_span":null},"id":4621,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4622,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4623,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":52},"end":{"line":487,"col":66}},"generated_from_span":null},"id":4624,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":4625,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":56},"end":{"line":487,"col":57}},"generated_from_span":null},"id":4626,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":56},"end":{"line":487,"col":57}},"generated_from_span":null},"id":4627,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":9672,"kind":{"StorageLive":235},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":9673,"kind":{"Assign":[{"kind":{"Local":235},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":9674,"kind":{"StorageLive":236},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":9675,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":235},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":236},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":4630,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":236},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":4631,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":63},"end":{"line":487,"col":64}},"generated_from_span":null},"id":4632,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":63},"end":{"line":487,"col":64}},"generated_from_span":null},"id":4633,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":9676,"kind":{"StorageLive":237},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":9677,"kind":{"Assign":[{"kind":{"Local":237},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":9678,"kind":{"StorageLive":238},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":9679,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":237},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":84},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":238},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":4636,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":238},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":52},"end":{"line":487,"col":66}},"generated_from_span":null},"id":4637,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":80},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":65},"end":{"line":487,"col":66}},"generated_from_span":null},"id":4638,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":65},"end":{"line":487,"col":66}},"generated_from_span":null},"id":4639,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":69},"end":{"line":487,"col":83}},"generated_from_span":null},"id":4640,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":4641,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":73},"end":{"line":487,"col":74}},"generated_from_span":null},"id":4642,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":73},"end":{"line":487,"col":74}},"generated_from_span":null},"id":4643,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":9680,"kind":{"StorageLive":239},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":9681,"kind":{"Assign":[{"kind":{"Local":239},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":9682,"kind":{"StorageLive":240},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":9683,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":239},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":87},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":240},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":4646,"kind":{"Assign":[{"kind":{"Local":86},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":240},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":4647,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":80},"end":{"line":487,"col":81}},"generated_from_span":null},"id":4648,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":80},"end":{"line":487,"col":81}},"generated_from_span":null},"id":4649,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":9684,"kind":{"StorageLive":241},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":9685,"kind":{"Assign":[{"kind":{"Local":241},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":9686,"kind":{"StorageLive":242},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":9687,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":241},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":89},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":242},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":4652,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":242},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":69},"end":{"line":487,"col":83}},"generated_from_span":null},"id":4653,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":86},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":88},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":85},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":82},"end":{"line":487,"col":83}},"generated_from_span":null},"id":4654,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":82},"end":{"line":487,"col":83}},"generated_from_span":null},"id":4655,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4656,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":80},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":85},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4658,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":90},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4659,"kind":{"StorageDead":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4660,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4661,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":79},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4663,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":91},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4664,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4665,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":74},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":78},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4667,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":92},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4668,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4669,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4670,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4671,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4672,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4673,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4674,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":16},"end":{"line":488,"col":22}},"generated_from_span":null},"id":4675,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":45}},"generated_from_span":null},"id":4676,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":4677,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":35},"end":{"line":488,"col":36}},"generated_from_span":null},"id":4678,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":35},"end":{"line":488,"col":36}},"generated_from_span":null},"id":4679,"kind":{"Assign":[{"kind":{"Local":96},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":9688,"kind":{"StorageLive":243},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":9689,"kind":{"Assign":[{"kind":{"Local":243},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":9690,"kind":{"StorageLive":244},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":9691,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":243},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":96},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":244},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":4682,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":244},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":4683,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":42},"end":{"line":488,"col":43}},"generated_from_span":null},"id":4684,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":42},"end":{"line":488,"col":43}},"generated_from_span":null},"id":4685,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":9692,"kind":{"StorageLive":245},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":9693,"kind":{"Assign":[{"kind":{"Local":245},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":9694,"kind":{"StorageLive":246},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":9695,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":245},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":98},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":246},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":4688,"kind":{"Assign":[{"kind":{"Local":97},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":246},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":45}},"generated_from_span":null},"id":4689,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":95},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":97},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":94},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":44},"end":{"line":488,"col":45}},"generated_from_span":null},"id":4690,"kind":{"StorageDead":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":44},"end":{"line":488,"col":45}},"generated_from_span":null},"id":4691,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4692,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4693,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":52},"end":{"line":488,"col":66}},"generated_from_span":null},"id":4694,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":4695,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":56},"end":{"line":488,"col":57}},"generated_from_span":null},"id":4696,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":56},"end":{"line":488,"col":57}},"generated_from_span":null},"id":4697,"kind":{"Assign":[{"kind":{"Local":103},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":9696,"kind":{"StorageLive":247},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":9697,"kind":{"Assign":[{"kind":{"Local":247},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":9698,"kind":{"StorageLive":248},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":9699,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":247},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":103},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":248},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":4700,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":248},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":4701,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":63},"end":{"line":488,"col":64}},"generated_from_span":null},"id":4702,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":63},"end":{"line":488,"col":64}},"generated_from_span":null},"id":4703,"kind":{"Assign":[{"kind":{"Local":105},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":9700,"kind":{"StorageLive":249},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":9701,"kind":{"Assign":[{"kind":{"Local":249},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":9702,"kind":{"StorageLive":250},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":9703,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":249},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":105},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":250},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":4706,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":250},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":52},"end":{"line":488,"col":66}},"generated_from_span":null},"id":4707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":102},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":104},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":101},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":65},"end":{"line":488,"col":66}},"generated_from_span":null},"id":4708,"kind":{"StorageDead":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":65},"end":{"line":488,"col":66}},"generated_from_span":null},"id":4709,"kind":{"StorageDead":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":69},"end":{"line":488,"col":83}},"generated_from_span":null},"id":4710,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":4711,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":73},"end":{"line":488,"col":74}},"generated_from_span":null},"id":4712,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":73},"end":{"line":488,"col":74}},"generated_from_span":null},"id":4713,"kind":{"Assign":[{"kind":{"Local":108},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":9704,"kind":{"StorageLive":251},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":9705,"kind":{"Assign":[{"kind":{"Local":251},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":9706,"kind":{"StorageLive":252},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":9707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":251},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":108},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":252},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":4716,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":252},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":4717,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":80},"end":{"line":488,"col":81}},"generated_from_span":null},"id":4718,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":80},"end":{"line":488,"col":81}},"generated_from_span":null},"id":4719,"kind":{"Assign":[{"kind":{"Local":110},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":9708,"kind":{"StorageLive":253},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":9709,"kind":{"Assign":[{"kind":{"Local":253},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":9710,"kind":{"StorageLive":254},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":9711,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":253},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":110},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":254},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":4722,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":254},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":69},"end":{"line":488,"col":83}},"generated_from_span":null},"id":4723,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":107},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":106},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":82},"end":{"line":488,"col":83}},"generated_from_span":null},"id":4724,"kind":{"StorageDead":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":82},"end":{"line":488,"col":83}},"generated_from_span":null},"id":4725,"kind":{"StorageDead":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4726,"kind":{"Assign":[{"kind":{"Local":111},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":101},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":106},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4728,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":111},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4729,"kind":{"StorageDead":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4730,"kind":{"StorageDead":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4731,"kind":{"Assign":[{"kind":{"Local":112},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":100},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4733,"kind":{"Assign":[{"kind":{"Local":99},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":112},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4734,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4735,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":94},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":99},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4737,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":113},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4738,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4739,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4740,"kind":{"StorageDead":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4741,"kind":{"StorageDead":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4742,"kind":{"StorageDead":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4743,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4744,"kind":{"StorageDead":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4745,"kind":{"StorageDead":96},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4747,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4748,"kind":{"Assign":[{"kind":{"Local":114},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4775,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":114},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4750,"kind":{"StorageLive":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":4751,"kind":{"StorageLive":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":28},"end":{"line":501,"col":29}},"generated_from_span":null},"id":4752,"kind":{"StorageLive":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":28},"end":{"line":501,"col":29}},"generated_from_span":null},"id":4753,"kind":{"Assign":[{"kind":{"Local":117},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Same bound as in multiply:"," c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)"," < 2^(102 + lg(1 + 4*19) + 2*b)"," < 2^(108.27 + 2*b)","","The carry (c[i] >> 51) fits into a u64 when"," 108.27 + 2*b - 51 < 64"," 2*b < 6.73"," b < 3.365.","","So we require b < 3 to ensure this fits."]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":9588,"kind":{"StorageLive":193},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":9589,"kind":{"Assign":[{"kind":{"Local":193},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":9590,"kind":{"StorageLive":194},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":9591,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":193},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":117},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":194},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":4756,"kind":{"Assign":[{"kind":{"Local":116},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":194},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":33},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4757,"kind":{"StorageLive":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":33},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4761,"kind":{"Assign":[{"kind":{"Local":118},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4762,"kind":{"Assign":[{"kind":{"Local":115},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":116},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":118},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4765,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":115},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4764,"kind":{"Break":0},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":41},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4766,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":41},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4767,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4768,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4770,"kind":{"StorageDead":115},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4776,"kind":{"StorageDead":114},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4779,"kind":{"StorageLive":119},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4780,"kind":{"Assign":[{"kind":{"Local":119},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4811,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":119},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4782,"kind":{"StorageLive":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":4783,"kind":{"StorageLive":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":28},"end":{"line":502,"col":29}},"generated_from_span":null},"id":4784,"kind":{"StorageLive":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":28},"end":{"line":502,"col":29}},"generated_from_span":null},"id":4785,"kind":{"Assign":[{"kind":{"Local":122},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":9592,"kind":{"StorageLive":195},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":9593,"kind":{"Assign":[{"kind":{"Local":195},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":9594,"kind":{"StorageLive":196},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":9595,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":195},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":122},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":196},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":4788,"kind":{"Assign":[{"kind":{"Local":121},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":196},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":33},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4789,"kind":{"StorageLive":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":33},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4793,"kind":{"Assign":[{"kind":{"Local":123},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4794,"kind":{"Assign":[{"kind":{"Local":120},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":121},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":123},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4801,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":120},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4796,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4797,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4798,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4800,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4802,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4803,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4804,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4806,"kind":{"StorageDead":120},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4812,"kind":{"StorageDead":119},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4815,"kind":{"StorageLive":124},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4816,"kind":{"Assign":[{"kind":{"Local":124},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4847,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":124},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4818,"kind":{"StorageLive":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":4819,"kind":{"StorageLive":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":28},"end":{"line":503,"col":29}},"generated_from_span":null},"id":4820,"kind":{"StorageLive":127},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":28},"end":{"line":503,"col":29}},"generated_from_span":null},"id":4821,"kind":{"Assign":[{"kind":{"Local":127},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":9596,"kind":{"StorageLive":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":9597,"kind":{"Assign":[{"kind":{"Local":197},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":9598,"kind":{"StorageLive":198},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":9599,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":197},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":127},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":198},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":4824,"kind":{"Assign":[{"kind":{"Local":126},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":198},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":33},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4825,"kind":{"StorageLive":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":33},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4829,"kind":{"Assign":[{"kind":{"Local":128},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4830,"kind":{"Assign":[{"kind":{"Local":125},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":126},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":128},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4837,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":125},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4832,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4833,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4834,"kind":{"StorageDead":127},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4836,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4838,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4839,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4840,"kind":{"StorageDead":127},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4842,"kind":{"StorageDead":125},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4848,"kind":{"StorageDead":124},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4851,"kind":{"StorageLive":129},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4852,"kind":{"Assign":[{"kind":{"Local":129},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4883,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":129},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4854,"kind":{"StorageLive":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":4855,"kind":{"StorageLive":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":28},"end":{"line":504,"col":29}},"generated_from_span":null},"id":4856,"kind":{"StorageLive":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":28},"end":{"line":504,"col":29}},"generated_from_span":null},"id":4857,"kind":{"Assign":[{"kind":{"Local":132},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":9600,"kind":{"StorageLive":199},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":9601,"kind":{"Assign":[{"kind":{"Local":199},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":9602,"kind":{"StorageLive":200},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":9603,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":199},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":132},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":200},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":4860,"kind":{"Assign":[{"kind":{"Local":131},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":200},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":33},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4861,"kind":{"StorageLive":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":33},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4865,"kind":{"Assign":[{"kind":{"Local":133},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4866,"kind":{"Assign":[{"kind":{"Local":130},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":131},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":133},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4873,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":130},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4868,"kind":{"StorageDead":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4869,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4870,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4872,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4874,"kind":{"StorageDead":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4875,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4876,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4878,"kind":{"StorageDead":130},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4884,"kind":{"StorageDead":129},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4887,"kind":{"StorageLive":134},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4888,"kind":{"Assign":[{"kind":{"Local":134},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4919,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":134},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4890,"kind":{"StorageLive":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":4891,"kind":{"StorageLive":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":28},"end":{"line":505,"col":29}},"generated_from_span":null},"id":4892,"kind":{"StorageLive":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":28},"end":{"line":505,"col":29}},"generated_from_span":null},"id":4893,"kind":{"Assign":[{"kind":{"Local":137},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":9604,"kind":{"StorageLive":201},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":9605,"kind":{"Assign":[{"kind":{"Local":201},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":9606,"kind":{"StorageLive":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":9607,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":201},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":137},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":202},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":4896,"kind":{"Assign":[{"kind":{"Local":136},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":202},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":33},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4897,"kind":{"StorageLive":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":33},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4901,"kind":{"Assign":[{"kind":{"Local":138},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4902,"kind":{"Assign":[{"kind":{"Local":135},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":136},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":138},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4909,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":135},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4904,"kind":{"StorageDead":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4905,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4906,"kind":{"StorageDead":137},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4908,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4910,"kind":{"StorageDead":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4911,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4912,"kind":{"StorageDead":137},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4914,"kind":{"StorageDead":135},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4920,"kind":{"StorageDead":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4922,"kind":{"StorageLive":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":37}},"generated_from_span":null},"id":4923,"kind":{"StorageLive":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":19},"end":{"line":511,"col":29}},"generated_from_span":null},"id":4924,"kind":{"StorageLive":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":20},"end":{"line":511,"col":22}},"generated_from_span":null},"id":4925,"kind":{"StorageLive":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":20},"end":{"line":511,"col":22}},"generated_from_span":null},"id":4926,"kind":{"Assign":[{"kind":{"Local":142},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":["Casting to u64 and back tells the compiler that the carry is bounded by 2^64, so","that the addition is a u128 + u64 rather than u128 + u128."]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":19},"end":{"line":511,"col":29}},"generated_from_span":null},"id":4930,"kind":{"Assign":[{"kind":{"Local":141},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":142},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":28},"end":{"line":511,"col":29}},"generated_from_span":null},"id":4931,"kind":{"StorageDead":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":37}},"generated_from_span":null},"id":4932,"kind":{"Assign":[{"kind":{"Local":140},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":141},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":36},"end":{"line":511,"col":37}},"generated_from_span":null},"id":4933,"kind":{"StorageDead":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4934,"kind":{"Assign":[{"kind":{"Local":139},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":140},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":44},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4935,"kind":{"StorageDead":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":12},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4936,"kind":{"Assign":[{"kind":{"Local":143},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":139},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":12},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4938,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":143},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":44},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4939,"kind":{"StorageDead":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":19},"end":{"line":512,"col":30}},"generated_from_span":null},"id":4940,"kind":{"StorageLive":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":20},"end":{"line":512,"col":22}},"generated_from_span":null},"id":4941,"kind":{"StorageLive":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":20},"end":{"line":512,"col":22}},"generated_from_span":null},"id":4942,"kind":{"Assign":[{"kind":{"Local":145},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":19},"end":{"line":512,"col":30}},"generated_from_span":null},"id":4943,"kind":{"Assign":[{"kind":{"Local":144},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":145},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":29},"end":{"line":512,"col":30}},"generated_from_span":null},"id":4944,"kind":{"StorageDead":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":14},"end":{"line":512,"col":15}},"generated_from_span":null},"id":4945,"kind":{"StorageLive":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":14},"end":{"line":512,"col":15}},"generated_from_span":null},"id":4946,"kind":{"Assign":[{"kind":{"Local":146},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":9712,"kind":{"StorageLive":255},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":9713,"kind":{"Assign":[{"kind":{"Local":255},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":9714,"kind":{"StorageLive":256},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":9715,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":255},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":146},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":256},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":4949,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":256},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":144},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":47},"end":{"line":512,"col":48}},"generated_from_span":null},"id":4950,"kind":{"StorageDead":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":48},"end":{"line":512,"col":49}},"generated_from_span":null},"id":4951,"kind":{"StorageDead":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4952,"kind":{"StorageLive":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":37}},"generated_from_span":null},"id":4953,"kind":{"StorageLive":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":19},"end":{"line":514,"col":29}},"generated_from_span":null},"id":4954,"kind":{"StorageLive":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":20},"end":{"line":514,"col":22}},"generated_from_span":null},"id":4955,"kind":{"StorageLive":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":20},"end":{"line":514,"col":22}},"generated_from_span":null},"id":4956,"kind":{"Assign":[{"kind":{"Local":150},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":19},"end":{"line":514,"col":29}},"generated_from_span":null},"id":4960,"kind":{"Assign":[{"kind":{"Local":149},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":150},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":28},"end":{"line":514,"col":29}},"generated_from_span":null},"id":4961,"kind":{"StorageDead":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":37}},"generated_from_span":null},"id":4962,"kind":{"Assign":[{"kind":{"Local":148},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":149},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":36},"end":{"line":514,"col":37}},"generated_from_span":null},"id":4963,"kind":{"StorageDead":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4964,"kind":{"Assign":[{"kind":{"Local":147},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":148},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":44},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4965,"kind":{"StorageDead":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":12},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4966,"kind":{"Assign":[{"kind":{"Local":151},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":147},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":12},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4968,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":151},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":44},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4969,"kind":{"StorageDead":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":19},"end":{"line":515,"col":30}},"generated_from_span":null},"id":4970,"kind":{"StorageLive":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":20},"end":{"line":515,"col":22}},"generated_from_span":null},"id":4971,"kind":{"StorageLive":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":20},"end":{"line":515,"col":22}},"generated_from_span":null},"id":4972,"kind":{"Assign":[{"kind":{"Local":153},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":19},"end":{"line":515,"col":30}},"generated_from_span":null},"id":4973,"kind":{"Assign":[{"kind":{"Local":152},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":153},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":29},"end":{"line":515,"col":30}},"generated_from_span":null},"id":4974,"kind":{"StorageDead":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":14},"end":{"line":515,"col":15}},"generated_from_span":null},"id":4975,"kind":{"StorageLive":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":14},"end":{"line":515,"col":15}},"generated_from_span":null},"id":4976,"kind":{"Assign":[{"kind":{"Local":154},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":9716,"kind":{"StorageLive":257},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":9717,"kind":{"Assign":[{"kind":{"Local":257},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":9718,"kind":{"StorageLive":258},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":9719,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":257},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":154},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":258},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":4979,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":258},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":152},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":47},"end":{"line":515,"col":48}},"generated_from_span":null},"id":4980,"kind":{"StorageDead":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":48},"end":{"line":515,"col":49}},"generated_from_span":null},"id":4981,"kind":{"StorageDead":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4982,"kind":{"StorageLive":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":37}},"generated_from_span":null},"id":4983,"kind":{"StorageLive":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":19},"end":{"line":517,"col":29}},"generated_from_span":null},"id":4984,"kind":{"StorageLive":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":20},"end":{"line":517,"col":22}},"generated_from_span":null},"id":4985,"kind":{"StorageLive":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":20},"end":{"line":517,"col":22}},"generated_from_span":null},"id":4986,"kind":{"Assign":[{"kind":{"Local":158},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":19},"end":{"line":517,"col":29}},"generated_from_span":null},"id":4990,"kind":{"Assign":[{"kind":{"Local":157},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":158},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":28},"end":{"line":517,"col":29}},"generated_from_span":null},"id":4991,"kind":{"StorageDead":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":37}},"generated_from_span":null},"id":4992,"kind":{"Assign":[{"kind":{"Local":156},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":157},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":36},"end":{"line":517,"col":37}},"generated_from_span":null},"id":4993,"kind":{"StorageDead":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4994,"kind":{"Assign":[{"kind":{"Local":155},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":156},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":44},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4995,"kind":{"StorageDead":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":12},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4996,"kind":{"Assign":[{"kind":{"Local":159},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":73},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":155},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":12},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4998,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":159},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":44},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4999,"kind":{"StorageDead":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":19},"end":{"line":518,"col":30}},"generated_from_span":null},"id":5000,"kind":{"StorageLive":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":20},"end":{"line":518,"col":22}},"generated_from_span":null},"id":5001,"kind":{"StorageLive":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":20},"end":{"line":518,"col":22}},"generated_from_span":null},"id":5002,"kind":{"Assign":[{"kind":{"Local":161},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":19},"end":{"line":518,"col":30}},"generated_from_span":null},"id":5003,"kind":{"Assign":[{"kind":{"Local":160},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":161},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":29},"end":{"line":518,"col":30}},"generated_from_span":null},"id":5004,"kind":{"StorageDead":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":14},"end":{"line":518,"col":15}},"generated_from_span":null},"id":5005,"kind":{"StorageLive":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":14},"end":{"line":518,"col":15}},"generated_from_span":null},"id":5006,"kind":{"Assign":[{"kind":{"Local":162},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":9720,"kind":{"StorageLive":259},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":9721,"kind":{"Assign":[{"kind":{"Local":259},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":9722,"kind":{"StorageLive":260},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":9723,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":259},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":162},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":260},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":5009,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":260},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":160},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":47},"end":{"line":518,"col":48}},"generated_from_span":null},"id":5010,"kind":{"StorageDead":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":48},"end":{"line":518,"col":49}},"generated_from_span":null},"id":5011,"kind":{"StorageDead":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5012,"kind":{"StorageLive":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":37}},"generated_from_span":null},"id":5013,"kind":{"StorageLive":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":19},"end":{"line":520,"col":29}},"generated_from_span":null},"id":5014,"kind":{"StorageLive":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":20},"end":{"line":520,"col":22}},"generated_from_span":null},"id":5015,"kind":{"StorageLive":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":20},"end":{"line":520,"col":22}},"generated_from_span":null},"id":5016,"kind":{"Assign":[{"kind":{"Local":166},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":73},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":19},"end":{"line":520,"col":29}},"generated_from_span":null},"id":5020,"kind":{"Assign":[{"kind":{"Local":165},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":166},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":28},"end":{"line":520,"col":29}},"generated_from_span":null},"id":5021,"kind":{"StorageDead":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":37}},"generated_from_span":null},"id":5022,"kind":{"Assign":[{"kind":{"Local":164},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":165},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":36},"end":{"line":520,"col":37}},"generated_from_span":null},"id":5023,"kind":{"StorageDead":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5024,"kind":{"Assign":[{"kind":{"Local":163},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":164},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":44},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5025,"kind":{"StorageDead":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":12},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5026,"kind":{"Assign":[{"kind":{"Local":167},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":163},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":12},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5028,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":167},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":44},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5029,"kind":{"StorageDead":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":19},"end":{"line":521,"col":30}},"generated_from_span":null},"id":5030,"kind":{"StorageLive":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":20},"end":{"line":521,"col":22}},"generated_from_span":null},"id":5031,"kind":{"StorageLive":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":20},"end":{"line":521,"col":22}},"generated_from_span":null},"id":5032,"kind":{"Assign":[{"kind":{"Local":169},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":73},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":19},"end":{"line":521,"col":30}},"generated_from_span":null},"id":5033,"kind":{"Assign":[{"kind":{"Local":168},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":169},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":29},"end":{"line":521,"col":30}},"generated_from_span":null},"id":5034,"kind":{"StorageDead":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":14},"end":{"line":521,"col":15}},"generated_from_span":null},"id":5035,"kind":{"StorageLive":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":14},"end":{"line":521,"col":15}},"generated_from_span":null},"id":5036,"kind":{"Assign":[{"kind":{"Local":170},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":9724,"kind":{"StorageLive":261},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":9725,"kind":{"Assign":[{"kind":{"Local":261},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":9726,"kind":{"StorageLive":262},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":9727,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":261},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":170},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":262},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":5039,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":262},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":168},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":47},"end":{"line":521,"col":48}},"generated_from_span":null},"id":5040,"kind":{"StorageDead":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":48},"end":{"line":521,"col":49}},"generated_from_span":null},"id":5041,"kind":{"StorageDead":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":16},"end":{"line":523,"col":21}},"generated_from_span":null},"id":5042,"kind":{"StorageLive":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":29},"end":{"line":523,"col":39}},"generated_from_span":null},"id":5043,"kind":{"StorageLive":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":30},"end":{"line":523,"col":32}},"generated_from_span":null},"id":5044,"kind":{"StorageLive":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":30},"end":{"line":523,"col":32}},"generated_from_span":null},"id":5045,"kind":{"Assign":[{"kind":{"Local":173},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":29},"end":{"line":523,"col":39}},"generated_from_span":null},"id":5049,"kind":{"Assign":[{"kind":{"Local":172},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":173},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":38},"end":{"line":523,"col":39}},"generated_from_span":null},"id":5050,"kind":{"StorageDead":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":29},"end":{"line":523,"col":46}},"generated_from_span":null},"id":5051,"kind":{"Assign":[{"kind":{"Local":171},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":172},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":45},"end":{"line":523,"col":46}},"generated_from_span":null},"id":5052,"kind":{"StorageDead":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":19},"end":{"line":524,"col":30}},"generated_from_span":null},"id":5053,"kind":{"StorageLive":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":20},"end":{"line":524,"col":22}},"generated_from_span":null},"id":5054,"kind":{"StorageLive":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":20},"end":{"line":524,"col":22}},"generated_from_span":null},"id":5055,"kind":{"Assign":[{"kind":{"Local":175},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":19},"end":{"line":524,"col":30}},"generated_from_span":null},"id":5056,"kind":{"Assign":[{"kind":{"Local":174},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":175},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":29},"end":{"line":524,"col":30}},"generated_from_span":null},"id":5057,"kind":{"StorageDead":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":14},"end":{"line":524,"col":15}},"generated_from_span":null},"id":5058,"kind":{"StorageLive":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":14},"end":{"line":524,"col":15}},"generated_from_span":null},"id":5059,"kind":{"Assign":[{"kind":{"Local":176},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":9728,"kind":{"StorageLive":263},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":9729,"kind":{"Assign":[{"kind":{"Local":263},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":9730,"kind":{"StorageLive":264},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":9731,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":263},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":176},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":264},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":5062,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":264},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":174},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":47},"end":{"line":524,"col":48}},"generated_from_span":null},"id":5063,"kind":{"StorageDead":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":48},"end":{"line":524,"col":49}},"generated_from_span":null},"id":5064,"kind":{"StorageDead":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5065,"kind":{"StorageLive":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":25}},"generated_from_span":null},"id":5066,"kind":{"StorageLive":178},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":25}},"generated_from_span":null},"id":5067,"kind":{"Assign":[{"kind":{"Local":178},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":171},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":["To see that this does not overflow, we need a[0] + carry * 19 < 2^64.","","c4 < a2^2 + 2*a0*a4 + 2*a1*a3 + (carry from c3)"," < 2^(102 + 2*b + lg(5)) + 2^64.","","When b < 3 we get","","c4 < 2^110.33 so that carry < 2^59.33","","so that","","a[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58","","and there is no overflow."]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5068,"kind":{"Assign":[{"kind":{"Local":179},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":178},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5070,"kind":{"Assign":[{"kind":{"Local":177},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":179},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":29},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5071,"kind":{"StorageDead":178},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":14},"end":{"line":540,"col":15}},"generated_from_span":null},"id":5072,"kind":{"StorageLive":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":14},"end":{"line":540,"col":15}},"generated_from_span":null},"id":5073,"kind":{"Assign":[{"kind":{"Local":180},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":9732,"kind":{"StorageLive":265},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":9733,"kind":{"Assign":[{"kind":{"Local":265},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":9734,"kind":{"StorageLive":266},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":9735,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":265},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":180},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":266},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5076,"kind":{"Assign":[{"kind":{"Local":181},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":266},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":177},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":9736,"kind":{"StorageLive":267},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":9737,"kind":{"Assign":[{"kind":{"Local":267},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":9738,"kind":{"StorageLive":268},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":9739,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":267},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":180},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":268},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5078,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":268},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":181},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":29},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5079,"kind":{"StorageDead":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":30},"end":{"line":540,"col":31}},"generated_from_span":null},"id":5080,"kind":{"StorageDead":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5081,"kind":{"StorageLive":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":5082,"kind":{"StorageLive":183},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":22},"end":{"line":543,"col":23}},"generated_from_span":null},"id":5083,"kind":{"StorageLive":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":22},"end":{"line":543,"col":23}},"generated_from_span":null},"id":5084,"kind":{"Assign":[{"kind":{"Local":184},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Now a[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon)."]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":9740,"kind":{"StorageLive":269},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":9741,"kind":{"Assign":[{"kind":{"Local":269},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":9742,"kind":{"StorageLive":270},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":9743,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":269},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":184},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":270},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":5087,"kind":{"Assign":[{"kind":{"Local":183},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":270},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5091,"kind":{"Assign":[{"kind":{"Local":182},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":183},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":29},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5092,"kind":{"StorageDead":183},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":14},"end":{"line":543,"col":15}},"generated_from_span":null},"id":5093,"kind":{"StorageLive":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":14},"end":{"line":543,"col":15}},"generated_from_span":null},"id":5094,"kind":{"Assign":[{"kind":{"Local":185},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":9744,"kind":{"StorageLive":271},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":9745,"kind":{"Assign":[{"kind":{"Local":271},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":9746,"kind":{"StorageLive":272},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":9747,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":271},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":185},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":272},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5097,"kind":{"Assign":[{"kind":{"Local":186},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":272},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":182},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":9748,"kind":{"StorageLive":273},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":9749,"kind":{"Assign":[{"kind":{"Local":273},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":9750,"kind":{"StorageLive":274},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":9751,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":273},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":185},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":274},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5099,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":274},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":186},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":29},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5100,"kind":{"StorageDead":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":30},"end":{"line":543,"col":31}},"generated_from_span":null},"id":5101,"kind":{"StorageDead":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":30},"end":{"line":543,"col":31}},"generated_from_span":null},"id":5102,"kind":{"StorageDead":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":14},"end":{"line":544,"col":15}},"generated_from_span":null},"id":5103,"kind":{"StorageLive":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":14},"end":{"line":544,"col":15}},"generated_from_span":null},"id":5104,"kind":{"Assign":[{"kind":{"Local":187},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":5107,"kind":{"StorageLive":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":9752,"kind":{"StorageLive":275},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":9753,"kind":{"Assign":[{"kind":{"Local":275},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":9754,"kind":{"StorageLive":276},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":9755,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":275},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":187},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":276},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":5108,"kind":{"Assign":[{"kind":{"Local":192},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":276},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":9756,"kind":{"StorageLive":277},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":9757,"kind":{"Assign":[{"kind":{"Local":277},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":9758,"kind":{"StorageLive":278},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":9759,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":277},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":187},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":278},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":5109,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":278},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":192},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":35},"end":{"line":544,"col":36}},"generated_from_span":null},"id":5110,"kind":{"StorageDead":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":548,"col":12},"end":{"line":548,"col":18}},"generated_from_span":null},"id":5111,"kind":{"Assign":[{"kind":{"Local":188},"ty":{"Deduplicated":2925}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":["Now all a[i] < 2^(51 + epsilon) and a = self^(2^k)."]},{"span":{"data":{"file_id":5,"beg":{"line":548,"col":12},"end":{"line":548,"col":18}},"generated_from_span":null},"id":5113,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2925}},{"Use":[{"Move":{"kind":{"Local":188},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":21}},"generated_from_span":null},"id":5114,"kind":{"StorageLive":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":16}},"generated_from_span":null},"id":5115,"kind":{"StorageLive":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":16}},"generated_from_span":null},"id":5116,"kind":{"Assign":[{"kind":{"Local":190},"ty":{"Deduplicated":2925}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":21}},"generated_from_span":null},"id":5117,"kind":{"Assign":[{"kind":{"Local":189},"ty":{"Deduplicated":1470}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":190},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":555,"col":5}},"generated_from_span":null},"id":5137,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":189},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":20},"end":{"line":555,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":549,"col":20},"end":{"line":549,"col":21}},"generated_from_span":null},"id":5118,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":551,"col":12},"end":{"line":551,"col":13}},"generated_from_span":null},"id":5120,"kind":{"StorageDead":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5121,"kind":{"StorageDead":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5122,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5123,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5124,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5125,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5126,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5127,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5128,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":554,"col":23},"end":{"line":554,"col":24}},"generated_from_span":null},"id":5130,"kind":{"StorageLive":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":554,"col":23},"end":{"line":554,"col":24}},"generated_from_span":null},"id":5131,"kind":{"Assign":[{"kind":{"Local":191},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":554,"col":8},"end":{"line":554,"col":25}},"generated_from_span":null},"id":5132,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":191},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":554,"col":24},"end":{"line":554,"col":25}},"generated_from_span":null},"id":5133,"kind":{"StorageDead":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":555,"col":4},"end":{"line":555,"col":5}},"generated_from_span":null},"id":5134,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":555,"col":5},"end":{"line":555,"col":5}},"generated_from_span":null},"id":5135,"kind":"Return","comments_before":[]}]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":21}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":20},"end":{"line":549,"col":21}},"generated_from_span":null},"id":5138,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":551,"col":12},"end":{"line":551,"col":13}},"generated_from_span":null},"id":5140,"kind":{"StorageDead":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5141,"kind":{"StorageDead":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5142,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5143,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5144,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5145,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5146,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5147,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5148,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":462,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5149,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":["Precondition: assume input limbs a[i] are bounded as","","a[i] < 2^(51 + b)","","where b is a real parameter measuring the \"bit excess\" of the limbs.","Precomputation: 64-bit multiply by 19.","","This fits into a u64 whenever 51 + b + lg(19) < 64.","","Since 51 + b + lg(19) < 51 + 4.25 + b"," = 55.25 + b,","this fits if b < 8.75."]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":41},"end":{"line":501,"col":42}},"generated_from_span":null},"id":5151,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":41},"end":{"line":501,"col":42}},"generated_from_span":null},"id":5152,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":5153,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":5155,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]},"comments":[[455,["/ Multiply two 64-bit integers with 128 bits of output."]],[468,["Precondition: assume input limbs a[i] are bounded as","","a[i] < 2^(51 + b)","","where b is a real parameter measuring the \"bit excess\" of the limbs."]],[476,["Precomputation: 64-bit multiply by 19.","","This fits into a u64 whenever 51 + b + lg(19) < 64.","","Since 51 + b + lg(19) < 51 + 4.25 + b"," = 55.25 + b,","this fits if b < 8.75."]],[484,["Multiply to get 128-bit coefficients of output.","","The 128-bit multiplications by 2 turn into 1 slr + 1 slrd each,","which doesn't seem any better or worse than doing them as precomputations","on the 64-bit inputs."]],[501,["Same bound as in multiply:"," c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)"," < 2^(102 + lg(1 + 4*19) + 2*b)"," < 2^(108.27 + 2*b)","","The carry (c[i] >> 51) fits into a u64 when"," 108.27 + 2*b - 51 < 64"," 2*b < 6.73"," b < 3.365.","","So we require b < 3 to ensure this fits."]],[511,["Casting to u64 and back tells the compiler that the carry is bounded by 2^64, so","that the addition is a u128 + u64 rather than u128 + u128."]],[540,["To see that this does not overflow, we need a[0] + carry * 19 < 2^64.","","c4 < a2^2 + 2*a0*a4 + 2*a1*a3 + (carry from c3)"," < 2^(102 + 2*b + lg(5)) + 2^64.","","When b < 3 we get","","c4 < 2^110.33 so that carry < 2^59.33","","so that","","a[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58","","and there is no overflow."]],[543,["Now a[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon)."]],[547,["Now all a[i] < 2^(51 + epsilon) and a = self^(2^k)."]]]}}},{"def_id":37,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["square",0]}],"span":{"data":{"file_id":5,"beg":{"line":558,"col":4},"end":{"line":560,"col":5}},"generated_from_span":null},"source_text":"pub fn square(&self) -> FieldElement51 {\n self.pow2k(1)\n }","attr_info":{"attributes":[{"DocComment":" Returns the square of this field element."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":558,"col":4},"end":{"line":560,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":558,"col":28},"end":{"line":558,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":558,"col":18},"end":{"line":558,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":559,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":2794}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":560,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":559,"col":12}},"generated_from_span":null},"id":5156,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":559,"col":12}},"generated_from_span":null},"id":5157,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":559,"col":21}},"generated_from_span":null},"id":5158,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":2794}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":559,"col":20},"end":{"line":559,"col":21}},"generated_from_span":null},"id":5159,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":560,"col":5},"end":{"line":560,"col":5}},"generated_from_span":null},"id":5160,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":38,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["square2",0]}],"span":{"data":{"file_id":5,"beg":{"line":563,"col":4},"end":{"line":570,"col":5}},"generated_from_span":null},"source_text":"pub fn square2(&self) -> FieldElement51 {\n let mut square = self.pow2k(1);\n for i in 0..5 {\n square.0[i] *= 2;\n }\n\n square\n }","attr_info":{"attributes":[{"DocComment":" Returns 2 times the square of this field element."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":563,"col":4},"end":{"line":570,"col":5}},"generated_from_span":null},"bound_body_regions":10,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":563,"col":29},"end":{"line":563,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":563,"col":19},"end":{"line":563,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"square","span":{"data":{"file_id":5,"beg":{"line":564,"col":12},"end":{"line":564,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":564,"col":25},"end":{"line":564,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":6,"name":"iter","span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3512}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3514,{"Ref":[{"Body":4},{"Deduplicated":3489},"Mut"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3515}},{"index":10,"name":"i","span":{"data":{"file_id":5,"beg":{"line":565,"col":12},"end":{"line":565,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":566,"col":21},"end":{"line":566,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9007}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9006}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9009}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9008}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":564,"col":12},"end":{"line":570,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":564,"col":12},"end":{"line":564,"col":22}},"generated_from_span":null},"id":5164,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":12},"end":{"line":564,"col":22}},"generated_from_span":null},"id":5165,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":25},"end":{"line":564,"col":29}},"generated_from_span":null},"id":5166,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":25},"end":{"line":564,"col":29}},"generated_from_span":null},"id":5167,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":25},"end":{"line":564,"col":38}},"generated_from_span":null},"id":5168,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2794}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":37},"end":{"line":564,"col":38}},"generated_from_span":null},"id":5169,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5171,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5172,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5173,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3489}},{"Aggregate":[{"Adt":[{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5174,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":146}},"generics":{"regions":[],"types":[{"Deduplicated":3489},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"Deduplicated":9386}]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3489}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3489}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":20},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5175,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5176,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5177,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3489}},{"Use":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3489}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5208,"kind":{"Loop":{"span":{"data":{"file_id":5,"beg":{"line":565,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5179,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5180,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5181,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5182,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3515}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":3489}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5183,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3514}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":3515}},"Deref"]},"ty":{"Deduplicated":3489}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5184,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":147}},"generics":{"regions":[{"Body":9}],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"Deduplicated":3682}]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3514}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":3512}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":20},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5185,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5190,"kind":{"Switch":{"Match":[{"kind":{"Local":7},"ty":{"Deduplicated":3512}},[[[0],{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5187,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":12},"end":{"line":565,"col":13}},"generated_from_span":null},"id":5191,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":12},"end":{"line":565,"col":13}},"generated_from_span":null},"id":5192,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":3512}},{"Field":[{"Adt":[22,1]},0]}]},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":21},"end":{"line":566,"col":22}},"generated_from_span":null},"id":5193,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":21},"end":{"line":566,"col":22}},"generated_from_span":null},"id":5194,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":9760,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":9761,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":9007}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":9762,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":9763,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":9007}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":9006}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":5197,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":9006}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":9764,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":9765,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":9009}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":9766,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":9767,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":9009}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":9008}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":5199,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":16},"ty":{"Deduplicated":9008}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":28},"end":{"line":566,"col":29}},"generated_from_span":null},"id":5200,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5202,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5203,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5204,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5207,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5210,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5211,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5213,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5214,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":569,"col":8},"end":{"line":569,"col":14}},"generated_from_span":null},"id":5216,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":570,"col":4},"end":{"line":570,"col":5}},"generated_from_span":null},"id":5217,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":570,"col":5},"end":{"line":570,"col":5}},"generated_from_span":null},"id":5218,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":39,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":18}},{"Ident":["clone",0]}],"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10221,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1819},"Shared"]}]}],"output":{"Deduplicated":1819}},"src":{"TraitImpl":{"impl_ref":{"id":18,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[3887,{"Ref":[{"Body":1},{"Deduplicated":1819},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"id":5219,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":153,"col":20},"end":{"line":153,"col":20}},"generated_from_span":null},"id":5220,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":40,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":21}},{"Ident":["clone",0]}],"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10222,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1831},"Shared"]}]}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[3891,{"Ref":[{"Body":1},{"Deduplicated":1831},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"id":5221,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":167,"col":20},"end":{"line":167,"col":20}},"generated_from_span":null},"id":5222,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":41,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":24}},{"Ident":["clone",0]}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10092,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[1842,{"Adt":{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":24,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1842}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[3894,{"Ref":[{"Body":1},{"Deduplicated":1842},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"id":5223,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":182,"col":20},"end":{"line":182,"col":20}},"generated_from_span":null},"id":5224,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":42,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":25}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10092}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":25,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":3894}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":5225,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"id":5226,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":182,"col":24},"end":{"line":182,"col":24}},"generated_from_span":null},"id":5227,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":43,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}},{"Ident":["eq",0]}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10092},{"HashConsedValue":[10223,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1842},"Shared"]}]}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":27,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1842},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"bound_body_regions":22,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":3894}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[3896,{"Ref":[{"Body":2},{"Deduplicated":1842},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2890}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":35},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5228,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5229,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5230,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5231,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5232,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5233,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5261,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5234,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5235,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5236,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5237,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5238,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5239,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5240,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5241,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":16},{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5256,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5242,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5243,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5244,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5245,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5246,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5247,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5248,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":20},{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":25},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5249,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":25},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5250,"kind":{"StorageDead":9},"comments_before":[]}]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5252,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5253,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5254,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":false}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]}]}]}},"comments_before":[]}]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5257,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5258,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5259,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":false}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":25},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5262,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":25},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5263,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":182,"col":35},"end":{"line":182,"col":35}},"generated_from_span":null},"id":5264,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":44,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":30}},{"Ident":["clone",0]}],"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10091,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[1865,{"Adt":{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":30,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[3899,{"Ref":[{"Body":1},{"Deduplicated":1865},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"id":5265,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":204,"col":20},"end":{"line":204,"col":20}},"generated_from_span":null},"id":5266,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":45,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":31}},{"Ident":["identity",0]}],"span":{"data":{"file_id":6,"beg":{"line":230,"col":4},"end":{"line":236,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> ProjectivePoint {\n ProjectivePoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1819}},"src":{"TraitImpl":{"impl_ref":{"id":31,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":230,"col":4},"end":{"line":236,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":230,"col":21},"end":{"line":230,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1819}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":231,"col":8},"end":{"line":236,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":231,"col":8},"end":{"line":235,"col":9}},"generated_from_span":null},"id":5267,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Aggregate":[{"Adt":[{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":236,"col":5},"end":{"line":236,"col":5}},"generated_from_span":null},"id":5268,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":46,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":32}},{"Ident":["identity",0]}],"span":{"data":{"file_id":6,"beg":{"line":240,"col":4},"end":{"line":247,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::ONE,\n Y_minus_X: FieldElement::ONE,\n Z: FieldElement::ONE,\n T2d: FieldElement::ZERO,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":32,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":240,"col":4},"end":{"line":247,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":240,"col":21},"end":{"line":240,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1865}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":241,"col":8},"end":{"line":247,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":241,"col":8},"end":{"line":246,"col":9}},"generated_from_span":null},"id":5269,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":247,"col":5},"end":{"line":247,"col":5}},"generated_from_span":null},"id":5270,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":47,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":33}},{"Ident":["default",0]}],"span":{"data":{"file_id":6,"beg":{"line":251,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"source_text":"fn default() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":33,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":251,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":251,"col":20},"end":{"line":251,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1865}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":253,"col":5},"end":{"line":253,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":252,"col":8},"end":{"line":252,"col":40}},"generated_from_span":null},"id":5271,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":46}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":253,"col":5},"end":{"line":253,"col":5}},"generated_from_span":null},"id":5272,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":48,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":34}},{"Ident":["identity",0]}],"span":{"data":{"file_id":6,"beg":{"line":257,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: FieldElement::ONE,\n y_minus_x: FieldElement::ONE,\n xy2d: FieldElement::ZERO,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":34,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":257,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":257,"col":21},"end":{"line":257,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1842}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":258,"col":8},"end":{"line":263,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":258,"col":8},"end":{"line":262,"col":9}},"generated_from_span":null},"id":5273,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":263,"col":5},"end":{"line":263,"col":5}},"generated_from_span":null},"id":5274,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":49,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":35}},{"Ident":["default",0]}],"span":{"data":{"file_id":6,"beg":{"line":267,"col":4},"end":{"line":269,"col":5}},"generated_from_span":null},"source_text":"fn default() -> AffineNielsPoint {\n AffineNielsPoint::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":35,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":267,"col":4},"end":{"line":269,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":267,"col":20},"end":{"line":267,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1842}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":269,"col":5},"end":{"line":269,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":268,"col":8},"end":{"line":268,"col":36}},"generated_from_span":null},"id":5275,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":48}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1842}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":269,"col":5},"end":{"line":269,"col":5}},"generated_from_span":null},"id":5276,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":50,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["is_valid",0]}],"span":{"data":{"file_id":6,"beg":{"line":277,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"source_text":"fn is_valid(&self) -> bool {\n // Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,\n // homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ = self.Z.square();\n let ZZZZ = ZZ.square();\n let lhs = &(&YY - &XX) * &ZZ;\n let rhs = &ZZZZ + &(&constants::EDWARDS_D * &(&XX * &YY));\n\n lhs == rhs\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10221}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":36,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":277,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"bound_body_regions":49,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":277,"col":26},"end":{"line":277,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":277,"col":16},"end":{"line":277,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3887}},{"index":2,"name":"XX","span":{"data":{"file_id":6,"beg":{"line":280,"col":12},"end":{"line":280,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":280,"col":17},"end":{"line":280,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":"YY","span":{"data":{"file_id":6,"beg":{"line":281,"col":12},"end":{"line":281,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":281,"col":17},"end":{"line":281,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":"ZZ","span":{"data":{"file_id":6,"beg":{"line":282,"col":12},"end":{"line":282,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":282,"col":17},"end":{"line":282,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":8,"name":"ZZZZ","span":{"data":{"file_id":6,"beg":{"line":283,"col":12},"end":{"line":283,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":283,"col":19},"end":{"line":283,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":10,"name":"lhs","span":{"data":{"file_id":6,"beg":{"line":284,"col":12},"end":{"line":284,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":18},"end":{"line":284,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":19},"end":{"line":284,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":20},"end":{"line":284,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":"rhs","span":{"data":{"file_id":6,"beg":{"line":285,"col":12},"end":{"line":285,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":18},"end":{"line":285,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":27},"end":{"line":285,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":53},"end":{"line":285,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":54},"end":{"line":285,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":287,"col":8},"end":{"line":287,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":287,"col":15},"end":{"line":287,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2918}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2938}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":29},"end":{"line":285,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":280,"col":12},"end":{"line":284,"col":36}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":280,"col":12},"end":{"line":280,"col":14}},"generated_from_span":null},"id":5277,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":12},"end":{"line":280,"col":14}},"generated_from_span":null},"id":5278,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":17},"end":{"line":280,"col":23}},"generated_from_span":null},"id":5279,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":17},"end":{"line":280,"col":23}},"generated_from_span":null},"id":5280,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,","homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2"]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":17},"end":{"line":280,"col":32}},"generated_from_span":null},"id":5281,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":31},"end":{"line":280,"col":32}},"generated_from_span":null},"id":5282,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":12},"end":{"line":281,"col":14}},"generated_from_span":null},"id":5283,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":17},"end":{"line":281,"col":23}},"generated_from_span":null},"id":5284,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":17},"end":{"line":281,"col":23}},"generated_from_span":null},"id":5285,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":17},"end":{"line":281,"col":32}},"generated_from_span":null},"id":5286,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":28}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":31},"end":{"line":281,"col":32}},"generated_from_span":null},"id":5287,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":12},"end":{"line":282,"col":14}},"generated_from_span":null},"id":5288,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":17},"end":{"line":282,"col":23}},"generated_from_span":null},"id":5289,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":17},"end":{"line":282,"col":23}},"generated_from_span":null},"id":5290,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":17},"end":{"line":282,"col":32}},"generated_from_span":null},"id":5291,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":30}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":31},"end":{"line":282,"col":32}},"generated_from_span":null},"id":5292,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":12},"end":{"line":283,"col":16}},"generated_from_span":null},"id":5293,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":19},"end":{"line":283,"col":21}},"generated_from_span":null},"id":5294,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":19},"end":{"line":283,"col":21}},"generated_from_span":null},"id":5295,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":19},"end":{"line":283,"col":30}},"generated_from_span":null},"id":5296,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":32}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":29},"end":{"line":283,"col":30}},"generated_from_span":null},"id":5297,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":12},"end":{"line":284,"col":15}},"generated_from_span":null},"id":5298,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":18},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5299,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":19},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5300,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":20},"end":{"line":284,"col":23}},"generated_from_span":null},"id":5301,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":20},"end":{"line":284,"col":23}},"generated_from_span":null},"id":5302,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"id":5303,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"id":5304,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"id":5305,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"id":5306,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":19},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5307,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":33},{"Body":34}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":29},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5308,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":29},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5309,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":18},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5310,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5311,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5312,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5313,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5314,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":18},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5315,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":5316,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5317,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":29},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5318,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":29},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5319,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":85,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5320,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2938}},{"Ref":{"place":{"kind":{"Local":35},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5321,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2918}},{"Use":[{"Move":{"kind":{"Local":34},"ty":{"Deduplicated":2938}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":35},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5322,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":35},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5323,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":36},"end":{"line":284,"col":37}},"generated_from_span":null},"id":5324,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":36},"end":{"line":284,"col":37}},"generated_from_span":null},"id":5325,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":36},"end":{"line":284,"col":37}},"generated_from_span":null},"id":5326,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":12},"end":{"line":285,"col":15}},"generated_from_span":null},"id":5327,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":18},"end":{"line":285,"col":23}},"generated_from_span":null},"id":5328,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":18},"end":{"line":285,"col":23}},"generated_from_span":null},"id":5329,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5330,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5331,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":27},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5332,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5333,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5334,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2905}},{"Use":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2918}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5335,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":32},"ty":{"Deduplicated":2905}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5336,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5337,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":53},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5338,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":54},"end":{"line":285,"col":57}},"generated_from_span":null},"id":5339,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":54},"end":{"line":285,"col":57}},"generated_from_span":null},"id":5340,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"id":5341,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"id":5342,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"id":5343,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"id":5344,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":53},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5345,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":26},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":63},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5346,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":63},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5347,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5348,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":26},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5349,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":27},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5350,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":40},{"Body":41}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":64},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5351,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":64},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5352,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5353,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Local":22},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5354,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":18},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5355,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2895}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":64},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5356,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":64},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5357,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5358,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5359,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5360,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5361,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5362,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":8},"end":{"line":287,"col":11}},"generated_from_span":null},"id":5363,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":8},"end":{"line":287,"col":11}},"generated_from_span":null},"id":5364,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":15},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5365,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":15},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5366,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":8},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5367,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":46},{"Body":47}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":2903}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":2904}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":17},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5368,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":17},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5369,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5370,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5371,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5372,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5373,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5374,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5375,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":5},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5376,"kind":"Return","comments_before":[]}]},"comments":[[280,["Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,","homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2"]]]}}},{"def_id":51,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":6,"beg":{"line":296,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::conditional_select(&a.Y_plus_X, &b.Y_plus_X, choice),\n Y_minus_X: FieldElement::conditional_select(&a.Y_minus_X, &b.Y_minus_X, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T2d: FieldElement::conditional_select(&a.T2d, &b.T2d, choice),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10091},{"HashConsedValue":[10224,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1865},"Shared"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":37,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":296,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"bound_body_regions":36,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":296,"col":65},"end":{"line":296,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":1,"name":"a","span":{"data":{"file_id":6,"beg":{"line":296,"col":26},"end":{"line":296,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3899}},{"index":2,"name":"b","span":{"data":{"file_id":6,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[3915,{"Ref":[{"Body":2},{"Deduplicated":1865},"Shared"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":6,"beg":{"line":296,"col":46},"end":{"line":296,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":22},"end":{"line":298,"col":88}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":81},"end":{"line":298,"col":87}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":23},"end":{"line":299,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":84},"end":{"line":299,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":15},"end":{"line":300,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":60},"end":{"line":300,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":17},"end":{"line":301,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":66},"end":{"line":301,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":297,"col":8},"end":{"line":303,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":298,"col":22},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5377,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"id":5378,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"id":5379,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"id":5380,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"id":5381,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"id":5382,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"id":5383,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"id":5384,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3915}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"id":5385,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":81},"end":{"line":298,"col":87}},"generated_from_span":null},"id":5386,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":81},"end":{"line":298,"col":87}},"generated_from_span":null},"id":5387,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":22},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5388,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":22},{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":87},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5389,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":87},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5390,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":87},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5391,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":23},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5392,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"id":5393,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"id":5394,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"id":5395,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"id":5396,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"id":5397,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"id":5398,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"id":5399,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3915}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"id":5400,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":84},"end":{"line":299,"col":90}},"generated_from_span":null},"id":5401,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":84},"end":{"line":299,"col":90}},"generated_from_span":null},"id":5402,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":23},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5403,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":90},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5404,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":90},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5405,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":90},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5406,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":15},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5407,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"id":5408,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"id":5409,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"id":5410,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"id":5411,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"id":5412,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"id":5413,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"id":5414,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3915}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"id":5415,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":60},"end":{"line":300,"col":66}},"generated_from_span":null},"id":5416,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":60},"end":{"line":300,"col":66}},"generated_from_span":null},"id":5417,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":15},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5418,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":66},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5419,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":66},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5420,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":66},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5421,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":17},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5422,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"id":5423,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"id":5424,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"id":5425,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"id":5426,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"id":5427,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"id":5428,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"id":5429,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3915}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"id":5430,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":66},"end":{"line":301,"col":72}},"generated_from_span":null},"id":5431,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":66},"end":{"line":301,"col":72}},"generated_from_span":null},"id":5432,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":17},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5433,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2899}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":72},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5434,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":72},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5435,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":72},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5436,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":297,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5437,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5438,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5439,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5440,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5441,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5442,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5443,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5444,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5445,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5446,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5447,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5448,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5449,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":303,"col":5},"end":{"line":303,"col":5}},"generated_from_span":null},"id":5450,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":52,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":6,"beg":{"line":305,"col":4},"end":{"line":310,"col":5}},"generated_from_span":null},"source_text":"fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.Y_plus_X.conditional_assign(&other.Y_plus_X, choice);\n self.Y_minus_X.conditional_assign(&other.Y_minus_X, choice);\n self.Z.conditional_assign(&other.Z, choice);\n self.T2d.conditional_assign(&other.T2d, choice);\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10225,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1865},"Mut"]}]},{"Deduplicated":10224},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":37,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":305,"col":4},"end":{"line":310,"col":5}},"generated_from_span":null},"bound_body_regions":34,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":305,"col":66},"end":{"line":305,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":305,"col":26},"end":{"line":305,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[3918,{"Ref":[{"Body":1},{"Deduplicated":1865},"Mut"]}]}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":305,"col":37},"end":{"line":305,"col":42}},"generated_from_span":null},"ty":{"HashConsedValue":[3919,{"Ref":[{"Body":3},{"Deduplicated":1865},"Shared"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":6,"beg":{"line":305,"col":51},"end":{"line":305,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3920,{"Ref":[{"Body":5},{"Deduplicated":1391},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":58},"end":{"line":306,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[3921,{"Ref":[{"Body":9},{"Deduplicated":1391},"Mut"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":60},"end":{"line":307,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[3922,{"Ref":[{"Body":12},{"Deduplicated":1391},"Mut"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":44},"end":{"line":308,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[3923,{"Ref":[{"Body":15},{"Deduplicated":1391},"Mut"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":23,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":48},"end":{"line":309,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":5451,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5452,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":21}},"generated_from_span":null},"id":5453,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":21}},"generated_from_span":null},"id":5454,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3920}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3918}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"id":5455,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"id":5456,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"id":5457,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"id":5458,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":58},"end":{"line":306,"col":64}},"generated_from_span":null},"id":5459,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":58},"end":{"line":306,"col":64}},"generated_from_span":null},"id":5460,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5461,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":20},{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3920}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":64},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5462,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":64},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5463,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":64},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5464,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":65},"end":{"line":306,"col":66}},"generated_from_span":null},"id":5465,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":65},"end":{"line":306,"col":66}},"generated_from_span":null},"id":5466,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5467,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":22}},"generated_from_span":null},"id":5468,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":22}},"generated_from_span":null},"id":5469,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3921}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3918}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"id":5470,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"id":5471,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"id":5472,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"id":5473,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":60},"end":{"line":307,"col":66}},"generated_from_span":null},"id":5474,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":60},"end":{"line":307,"col":66}},"generated_from_span":null},"id":5475,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5476,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":24},{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3921}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":66},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5477,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":66},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5478,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":66},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5479,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":67},"end":{"line":307,"col":68}},"generated_from_span":null},"id":5480,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":67},"end":{"line":307,"col":68}},"generated_from_span":null},"id":5481,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5482,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":14}},"generated_from_span":null},"id":5483,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":14}},"generated_from_span":null},"id":5484,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3918}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"id":5485,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"id":5486,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"id":5487,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"id":5488,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":44},"end":{"line":308,"col":50}},"generated_from_span":null},"id":5489,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":44},"end":{"line":308,"col":50}},"generated_from_span":null},"id":5490,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5491,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":28},{"Body":29}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":3922}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":50},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5492,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":50},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5493,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":50},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5494,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":51},"end":{"line":308,"col":52}},"generated_from_span":null},"id":5495,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":51},"end":{"line":308,"col":52}},"generated_from_span":null},"id":5496,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5497,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":16}},"generated_from_span":null},"id":5498,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":16}},"generated_from_span":null},"id":5499,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":3923}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3918}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"id":5500,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"id":5501,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"id":5502,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"id":5503,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2898}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":48},"end":{"line":309,"col":54}},"generated_from_span":null},"id":5504,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":48},"end":{"line":309,"col":54}},"generated_from_span":null},"id":5505,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5506,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":3923}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":54},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5507,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":54},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5508,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":54},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5509,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":55},"end":{"line":309,"col":56}},"generated_from_span":null},"id":5510,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":55},"end":{"line":309,"col":56}},"generated_from_span":null},"id":5511,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":305,"col":67},"end":{"line":310,"col":5}},"generated_from_span":null},"id":5512,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":310,"col":5},"end":{"line":310,"col":5}},"generated_from_span":null},"id":5513,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":53,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":11,"beg":{"line":420,"col":4},"end":{"line":420,"col":70}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Select `a` or `b` according to `choice`."},{"DocComment":""},{"DocComment":" # Returns"},{"DocComment":""},{"DocComment":" * `a` if `choice == Choice(0)`;"},{"DocComment":" * `b` if `choice == Choice(1)`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let x: u8 = 13;"},{"DocComment":" let y: u8 = 42;"},{"DocComment":""},{"DocComment":" let z = u8::conditional_select(&x, &y, 0.into());"},{"DocComment":" assert_eq!(z, x);"},{"DocComment":" let z = u8::conditional_select(&x, &y, 1.into());"},{"DocComment":" assert_eq!(z, y);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"Deduplicated":10202},{"Deduplicated":1496}],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":54,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":11,"beg":{"line":442,"col":4},"end":{"line":442,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally assign `other` to `self`, according to `choice`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" x.conditional_assign(&y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" x.conditional_assign(&y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10226,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10076},"Mut"]}]},{"Deduplicated":10202},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":55,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":11,"beg":{"line":469,"col":4},"end":{"line":469,"col":67}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10226},{"HashConsedValue":[10227,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10076},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"has_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":56,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":6,"beg":{"line":314,"col":4},"end":{"line":320,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n AffineNielsPoint {\n y_plus_x: FieldElement::conditional_select(&a.y_plus_x, &b.y_plus_x, choice),\n y_minus_x: FieldElement::conditional_select(&a.y_minus_x, &b.y_minus_x, choice),\n xy2d: FieldElement::conditional_select(&a.xy2d, &b.xy2d, choice),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10092},{"Deduplicated":10223},{"Deduplicated":1496}],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":314,"col":4},"end":{"line":320,"col":5}},"generated_from_span":null},"bound_body_regions":28,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":314,"col":65},"end":{"line":314,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":1842}},{"index":1,"name":"a","span":{"data":{"file_id":6,"beg":{"line":314,"col":26},"end":{"line":314,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3894}},{"index":2,"name":"b","span":{"data":{"file_id":6,"beg":{"line":314,"col":36},"end":{"line":314,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":3896}},{"index":3,"name":"choice","span":{"data":{"file_id":6,"beg":{"line":314,"col":46},"end":{"line":314,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":22},"end":{"line":316,"col":88}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":81},"end":{"line":316,"col":87}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":23},"end":{"line":317,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":84},"end":{"line":317,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":18},"end":{"line":318,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":69},"end":{"line":318,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":315,"col":8},"end":{"line":320,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":316,"col":22},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5514,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"id":5515,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"id":5516,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"id":5517,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"id":5518,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"id":5519,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"id":5520,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"id":5521,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"id":5522,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":81},"end":{"line":316,"col":87}},"generated_from_span":null},"id":5523,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":81},"end":{"line":316,"col":87}},"generated_from_span":null},"id":5524,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":22},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5525,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":18},{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":87},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5526,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":87},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5527,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":87},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5528,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":23},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5529,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"id":5530,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"id":5531,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"id":5532,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"id":5533,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"id":5534,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"id":5535,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"id":5536,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"id":5537,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":84},"end":{"line":317,"col":90}},"generated_from_span":null},"id":5538,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":84},"end":{"line":317,"col":90}},"generated_from_span":null},"id":5539,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":23},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5540,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":22},{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":90},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5541,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":90},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5542,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":90},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5543,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":18},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5544,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"id":5545,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"id":5546,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"id":5547,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"id":5548,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"id":5549,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"id":5550,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"id":5551,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"id":5552,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":69},"end":{"line":318,"col":75}},"generated_from_span":null},"id":5553,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":69},"end":{"line":318,"col":75}},"generated_from_span":null},"id":5554,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":18},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5555,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":75},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5556,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":75},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5557,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":75},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5558,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":315,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5559,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5560,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5561,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5562,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5563,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5564,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5565,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5566,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5567,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5568,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":320,"col":5},"end":{"line":320,"col":5}},"generated_from_span":null},"id":5569,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":57,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":6,"beg":{"line":322,"col":4},"end":{"line":326,"col":5}},"generated_from_span":null},"source_text":"fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.y_plus_x.conditional_assign(&other.y_plus_x, choice);\n self.y_minus_x.conditional_assign(&other.y_minus_x, choice);\n self.xy2d.conditional_assign(&other.xy2d, choice);\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10228,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1842},"Mut"]}]},{"Deduplicated":10223},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":322,"col":4},"end":{"line":326,"col":5}},"generated_from_span":null},"bound_body_regions":27,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":322,"col":66},"end":{"line":322,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":322,"col":26},"end":{"line":322,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[3927,{"Ref":[{"Body":1},{"Deduplicated":1842},"Mut"]}]}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":322,"col":37},"end":{"line":322,"col":42}},"generated_from_span":null},"ty":{"HashConsedValue":[3928,{"Ref":[{"Body":3},{"Deduplicated":1842},"Shared"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":6,"beg":{"line":322,"col":51},"end":{"line":322,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3920}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":58},"end":{"line":323,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3921}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":60},"end":{"line":324,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":3922}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":50},"end":{"line":325,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":5570,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5571,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":21}},"generated_from_span":null},"id":5572,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":21}},"generated_from_span":null},"id":5573,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3920}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3927}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"id":5574,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"id":5575,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"id":5576,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"id":5577,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":58},"end":{"line":323,"col":64}},"generated_from_span":null},"id":5578,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":58},"end":{"line":323,"col":64}},"generated_from_span":null},"id":5579,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5580,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":17},{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3920}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":64},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5581,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":64},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5582,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":64},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5583,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":65},"end":{"line":323,"col":66}},"generated_from_span":null},"id":5584,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":65},"end":{"line":323,"col":66}},"generated_from_span":null},"id":5585,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5586,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":22}},"generated_from_span":null},"id":5587,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":22}},"generated_from_span":null},"id":5588,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3921}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3927}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"id":5589,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"id":5590,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"id":5591,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"id":5592,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":60},"end":{"line":324,"col":66}},"generated_from_span":null},"id":5593,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":60},"end":{"line":324,"col":66}},"generated_from_span":null},"id":5594,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5595,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":21},{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3921}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":66},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5596,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":66},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5597,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":66},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5598,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":67},"end":{"line":324,"col":68}},"generated_from_span":null},"id":5599,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":67},"end":{"line":324,"col":68}},"generated_from_span":null},"id":5600,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5601,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":17}},"generated_from_span":null},"id":5602,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":17}},"generated_from_span":null},"id":5603,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3927}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"id":5604,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"id":5605,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"id":5606,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"id":5607,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":50},"end":{"line":325,"col":56}},"generated_from_span":null},"id":5608,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":50},"end":{"line":325,"col":56}},"generated_from_span":null},"id":5609,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5610,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":25},{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":3922}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":56},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5611,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":56},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5612,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":56},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5613,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":57},"end":{"line":325,"col":58}},"generated_from_span":null},"id":5614,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":57},"end":{"line":325,"col":58}},"generated_from_span":null},"id":5615,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":322,"col":67},"end":{"line":326,"col":5}},"generated_from_span":null},"id":5616,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":326,"col":5},"end":{"line":326,"col":5}},"generated_from_span":null},"id":5617,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":58,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1819},"kind":"InherentImplBlock"}}},{"Ident":["as_extended",0]}],"span":{"data":{"file_id":6,"beg":{"line":338,"col":4},"end":{"line":345,"col":5}},"generated_from_span":null},"source_text":"pub fn as_extended(&self) -> EdwardsPoint {\n EdwardsPoint {\n X: &self.X * &self.Z,\n Y: &self.Y * &self.Z,\n Z: self.Z.square(),\n T: &self.X * &self.Y,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert this point from the \\\\( \\mathbb P\\^2 \\\\) model to the"},{"DocComment":" \\\\( \\mathbb P\\^3 \\\\) model."},{"DocComment":""},{"DocComment":" This costs \\\\(3 \\mathrm M + 1 \\mathrm S\\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10221}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":338,"col":4},"end":{"line":345,"col":5}},"generated_from_span":null},"bound_body_regions":21,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":338,"col":33},"end":{"line":338,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":338,"col":23},"end":{"line":338,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3887}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2893}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":339,"col":8},"end":{"line":345,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5618,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":22}},"generated_from_span":null},"id":5619,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":22}},"generated_from_span":null},"id":5620,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5621,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5622,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5623,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5624,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5625,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":13},{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":31},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5626,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":31},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5627,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5628,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":22}},"generated_from_span":null},"id":5629,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":22}},"generated_from_span":null},"id":5630,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5631,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5632,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5633,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5634,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5635,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":31},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5636,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":31},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5637,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":30}},"generated_from_span":null},"id":5638,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":21}},"generated_from_span":null},"id":5639,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":21}},"generated_from_span":null},"id":5640,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":30}},"generated_from_span":null},"id":5641,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":29},"end":{"line":342,"col":30}},"generated_from_span":null},"id":5642,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5643,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":22}},"generated_from_span":null},"id":5644,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":22}},"generated_from_span":null},"id":5645,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5646,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5647,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5648,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5649,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5650,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":19},{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":31},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5651,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":31},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5652,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":339,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5653,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5654,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5655,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5656,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5657,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5658,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5659,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5660,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":345,"col":5},"end":{"line":345,"col":5}},"generated_from_span":null},"id":5661,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":59,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1831},"kind":"InherentImplBlock"}}},{"Ident":["as_projective",0]}],"span":{"data":{"file_id":6,"beg":{"line":353,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"source_text":"pub fn as_projective(&self) -> ProjectivePoint {\n ProjectivePoint {\n X: &self.X * &self.T,\n Y: &self.Y * &self.Z,\n Z: &self.Z * &self.T,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert this point from the \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1"},{"DocComment":" \\\\) model to the \\\\( \\mathbb P\\^2 \\\\) model."},{"DocComment":""},{"DocComment":" This costs \\\\(3 \\mathrm M \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10222}],"output":{"Deduplicated":1819}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":353,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"bound_body_regions":18,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":353,"col":35},"end":{"line":353,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":353,"col":25},"end":{"line":353,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":3891}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2892}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":354,"col":8},"end":{"line":359,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5662,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":22}},"generated_from_span":null},"id":5663,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":22}},"generated_from_span":null},"id":5664,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5665,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5666,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5667,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5668,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5669,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":31},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5670,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":31},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5671,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5672,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":22}},"generated_from_span":null},"id":5673,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":22}},"generated_from_span":null},"id":5674,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5675,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5676,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5677,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5678,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5679,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":14},{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":31},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5680,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":31},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5681,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5682,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":22}},"generated_from_span":null},"id":5683,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":22}},"generated_from_span":null},"id":5684,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5685,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5686,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5687,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5688,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5689,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":16},{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":31},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5690,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":31},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5691,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":354,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5692,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Aggregate":[{"Adt":[{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5693,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5694,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5695,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5696,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5697,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5698,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":359,"col":5},"end":{"line":359,"col":5}},"generated_from_span":null},"id":5699,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":60,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1831},"kind":"InherentImplBlock"}}},{"Ident":["as_extended",0]}],"span":{"data":{"file_id":6,"beg":{"line":365,"col":4},"end":{"line":372,"col":5}},"generated_from_span":null},"source_text":"pub fn as_extended(&self) -> EdwardsPoint {\n EdwardsPoint {\n X: &self.X * &self.T,\n Y: &self.Y * &self.Z,\n Z: &self.Z * &self.T,\n T: &self.X * &self.Y,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert this point from the \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1"},{"DocComment":" \\\\) model to the \\\\( \\mathbb P\\^3 \\\\) model."},{"DocComment":""},{"DocComment":" This costs \\\\(4 \\mathrm M \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10222}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":365,"col":4},"end":{"line":372,"col":5}},"generated_from_span":null},"bound_body_regions":23,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":365,"col":33},"end":{"line":365,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":365,"col":23},"end":{"line":365,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3891}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2895}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":366,"col":8},"end":{"line":372,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5700,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":22}},"generated_from_span":null},"id":5701,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":22}},"generated_from_span":null},"id":5702,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5703,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5704,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5705,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5706,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":31},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5708,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":31},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5709,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5710,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":22}},"generated_from_span":null},"id":5711,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":22}},"generated_from_span":null},"id":5712,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5713,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5714,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5715,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5716,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5717,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":17},{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":31},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5718,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":31},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5719,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5720,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":22}},"generated_from_span":null},"id":5721,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":22}},"generated_from_span":null},"id":5722,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5723,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5724,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5725,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5726,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5727,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":19},{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":31},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5728,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":31},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5729,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5730,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":22}},"generated_from_span":null},"id":5731,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":22}},"generated_from_span":null},"id":5732,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5733,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5734,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5735,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5736,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5737,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":21},{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2894}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":31},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5738,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":31},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5739,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":366,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5740,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5741,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5742,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5743,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5744,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5745,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5746,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5747,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5748,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":372,"col":5},"end":{"line":372,"col":5}},"generated_from_span":null},"id":5749,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":61,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1819},"kind":"InherentImplBlock"}}},{"Ident":["double",0]}],"span":{"data":{"file_id":6,"beg":{"line":381,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"source_text":"pub fn double(&self) -> CompletedPoint {\n // Double()\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ2 = self.Z.square2();\n let X_plus_Y = &self.X + &self.Y;\n let X_plus_Y_sq = X_plus_Y.square();\n let YY_plus_XX = &YY + &XX;\n let YY_minus_XX = &YY - &XX;\n\n CompletedPoint {\n X: &X_plus_Y_sq - &YY_plus_XX,\n Y: YY_plus_XX,\n Z: YY_minus_XX,\n T: &ZZ2 - &YY_minus_XX,\n }\n }","attr_info":{"attributes":[{"DocComment":" Double this point: return self + self"}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10221}],"output":{"Deduplicated":1831}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":381,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"bound_body_regions":40,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":381,"col":28},"end":{"line":381,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":381,"col":18},"end":{"line":381,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3887}},{"index":2,"name":"XX","span":{"data":{"file_id":6,"beg":{"line":383,"col":12},"end":{"line":383,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":383,"col":17},"end":{"line":383,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":"YY","span":{"data":{"file_id":6,"beg":{"line":384,"col":12},"end":{"line":384,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":384,"col":17},"end":{"line":384,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":"ZZ2","span":{"data":{"file_id":6,"beg":{"line":385,"col":12},"end":{"line":385,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":385,"col":18},"end":{"line":385,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":8,"name":"X_plus_Y","span":{"data":{"file_id":6,"beg":{"line":386,"col":12},"end":{"line":386,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":386,"col":23},"end":{"line":386,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":"X_plus_Y_sq","span":{"data":{"file_id":6,"beg":{"line":387,"col":12},"end":{"line":387,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":387,"col":26},"end":{"line":387,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":14,"name":"YY_plus_XX","span":{"data":{"file_id":6,"beg":{"line":388,"col":12},"end":{"line":388,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":388,"col":25},"end":{"line":388,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":"YY_minus_XX","span":{"data":{"file_id":6,"beg":{"line":389,"col":12},"end":{"line":389,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":389,"col":26},"end":{"line":389,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":393,"col":15},"end":{"line":393,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":394,"col":15},"end":{"line":394,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2902}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":383,"col":12},"end":{"line":397,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":383,"col":12},"end":{"line":383,"col":14}},"generated_from_span":null},"id":5750,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":383,"col":17},"end":{"line":383,"col":23}},"generated_from_span":null},"id":5751,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":383,"col":17},"end":{"line":383,"col":23}},"generated_from_span":null},"id":5752,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Double()"]},{"span":{"data":{"file_id":6,"beg":{"line":383,"col":17},"end":{"line":383,"col":32}},"generated_from_span":null},"id":5753,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":383,"col":31},"end":{"line":383,"col":32}},"generated_from_span":null},"id":5754,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":12},"end":{"line":384,"col":14}},"generated_from_span":null},"id":5755,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":17},"end":{"line":384,"col":23}},"generated_from_span":null},"id":5756,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":17},"end":{"line":384,"col":23}},"generated_from_span":null},"id":5757,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":17},"end":{"line":384,"col":32}},"generated_from_span":null},"id":5758,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":31},"end":{"line":384,"col":32}},"generated_from_span":null},"id":5759,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":12},"end":{"line":385,"col":15}},"generated_from_span":null},"id":5760,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":18},"end":{"line":385,"col":24}},"generated_from_span":null},"id":5761,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":18},"end":{"line":385,"col":24}},"generated_from_span":null},"id":5762,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":18},"end":{"line":385,"col":34}},"generated_from_span":null},"id":5763,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":38}},"generics":{"regions":[{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":33},"end":{"line":385,"col":34}},"generated_from_span":null},"id":5764,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":12},"end":{"line":386,"col":20}},"generated_from_span":null},"id":5765,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":23},"end":{"line":386,"col":30}},"generated_from_span":null},"id":5766,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":23},"end":{"line":386,"col":30}},"generated_from_span":null},"id":5767,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5768,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5769,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5770,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5771,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":23},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5772,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":28},{"Body":29}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":39},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5773,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":39},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5774,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":40},"end":{"line":386,"col":41}},"generated_from_span":null},"id":5775,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":12},"end":{"line":387,"col":23}},"generated_from_span":null},"id":5776,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":26},"end":{"line":387,"col":34}},"generated_from_span":null},"id":5777,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":26},"end":{"line":387,"col":34}},"generated_from_span":null},"id":5778,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":26},"end":{"line":387,"col":43}},"generated_from_span":null},"id":5779,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":42},"end":{"line":387,"col":43}},"generated_from_span":null},"id":5780,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":12},"end":{"line":388,"col":22}},"generated_from_span":null},"id":5781,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":25},"end":{"line":388,"col":28}},"generated_from_span":null},"id":5782,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":25},"end":{"line":388,"col":28}},"generated_from_span":null},"id":5783,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5784,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5785,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5786,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5787,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":25},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5788,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":33},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5789,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":33},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5790,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":34},"end":{"line":388,"col":35}},"generated_from_span":null},"id":5791,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":12},"end":{"line":389,"col":23}},"generated_from_span":null},"id":5792,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":26},"end":{"line":389,"col":29}},"generated_from_span":null},"id":5793,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":26},"end":{"line":389,"col":29}},"generated_from_span":null},"id":5794,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5795,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5796,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5797,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5798,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":26},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5799,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2895}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":34},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5800,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":34},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5801,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":35},"end":{"line":389,"col":36}},"generated_from_span":null},"id":5802,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5803,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":27}},"generated_from_span":null},"id":5804,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":27}},"generated_from_span":null},"id":5805,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5806,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5807,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5808,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5809,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5810,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":36},{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":40},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5811,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":40},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5812,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":393,"col":15},"end":{"line":393,"col":25}},"generated_from_span":null},"id":5813,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":393,"col":15},"end":{"line":393,"col":25}},"generated_from_span":null},"id":5814,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":394,"col":15},"end":{"line":394,"col":26}},"generated_from_span":null},"id":5815,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":394,"col":15},"end":{"line":394,"col":26}},"generated_from_span":null},"id":5816,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5817,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":19}},"generated_from_span":null},"id":5818,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":19}},"generated_from_span":null},"id":5819,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5820,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5821,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5822,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5823,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":31},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5824,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":33},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5825,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":33},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5826,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":391,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5827,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5828,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5829,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5830,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5831,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5832,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5833,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5834,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5835,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5836,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5837,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5838,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5839,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5840,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":5},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5841,"kind":"Return","comments_before":[]}]},"comments":[[383,["Double()"]]]}}},{"def_id":62,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}},{"Ident":["add",0]}],"span":{"data":{"file_id":6,"beg":{"line":414,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"source_text":"fn add(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.Y_plus_X;\n let MM = &Y_minus_X * &other.Y_minus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &ZZ2 + &TT2d,\n T: &ZZ2 - &TT2d,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10090,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1955},"Shared"]}]},{"Deduplicated":10091}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":39,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10091},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":414,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"bound_body_regions":60,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":414,"col":53},"end":{"line":414,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":414,"col":11},"end":{"line":414,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[3931,{"Ref":[{"Body":1},{"Deduplicated":1955},"Shared"]}]}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":414,"col":17},"end":{"line":414,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3919}},{"index":3,"name":"Y_plus_X","span":{"data":{"file_id":6,"beg":{"line":415,"col":12},"end":{"line":415,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":415,"col":23},"end":{"line":415,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":"Y_minus_X","span":{"data":{"file_id":6,"beg":{"line":416,"col":12},"end":{"line":416,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":416,"col":24},"end":{"line":416,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":11,"name":"PP","span":{"data":{"file_id":6,"beg":{"line":417,"col":12},"end":{"line":417,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":417,"col":17},"end":{"line":417,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":15,"name":"MM","span":{"data":{"file_id":6,"beg":{"line":418,"col":12},"end":{"line":418,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":418,"col":17},"end":{"line":418,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":19,"name":"TT2d","span":{"data":{"file_id":6,"beg":{"line":419,"col":12},"end":{"line":419,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":419,"col":19},"end":{"line":419,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":23,"name":"ZZ","span":{"data":{"file_id":6,"beg":{"line":420,"col":12},"end":{"line":420,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":420,"col":17},"end":{"line":420,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":27,"name":"ZZ2","span":{"data":{"file_id":6,"beg":{"line":421,"col":12},"end":{"line":421,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":421,"col":18},"end":{"line":421,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":33,"name":null,"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":36,"name":null,"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":37,"name":null,"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":38,"name":null,"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":39,"name":null,"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":40,"name":null,"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":41,"name":null,"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":42,"name":null,"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":43,"name":null,"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":44,"name":null,"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":45,"name":null,"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2917}},{"index":46,"name":null,"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2918}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":415,"col":12},"end":{"line":429,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":415,"col":12},"end":{"line":415,"col":20}},"generated_from_span":null},"id":5842,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":23},"end":{"line":415,"col":30}},"generated_from_span":null},"id":5843,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":23},"end":{"line":415,"col":30}},"generated_from_span":null},"id":5844,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5845,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5846,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5847,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5848,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":23},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5849,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":39},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5850,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":39},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5851,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":40},"end":{"line":415,"col":41}},"generated_from_span":null},"id":5852,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":12},"end":{"line":416,"col":21}},"generated_from_span":null},"id":5853,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":24},"end":{"line":416,"col":31}},"generated_from_span":null},"id":5854,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":24},"end":{"line":416,"col":31}},"generated_from_span":null},"id":5855,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5856,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5857,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5858,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5859,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":24},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5860,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":40},{"Body":41}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":40},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5861,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":40},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5862,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":41},"end":{"line":416,"col":42}},"generated_from_span":null},"id":5863,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":12},"end":{"line":417,"col":14}},"generated_from_span":null},"id":5864,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":17},"end":{"line":417,"col":26}},"generated_from_span":null},"id":5865,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":17},"end":{"line":417,"col":26}},"generated_from_span":null},"id":5866,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5867,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5868,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5869,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5870,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":17},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5871,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":43},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5872,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":43},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5873,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":44},"end":{"line":417,"col":45}},"generated_from_span":null},"id":5874,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":12},"end":{"line":418,"col":14}},"generated_from_span":null},"id":5875,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":17},"end":{"line":418,"col":27}},"generated_from_span":null},"id":5876,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":17},"end":{"line":418,"col":27}},"generated_from_span":null},"id":5877,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5878,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5879,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5880,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5881,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":17},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5882,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":44},{"Body":45}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":45},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5883,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":45},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5884,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":46},"end":{"line":418,"col":47}},"generated_from_span":null},"id":5885,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":12},"end":{"line":419,"col":16}},"generated_from_span":null},"id":5886,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":19},"end":{"line":419,"col":26}},"generated_from_span":null},"id":5887,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":19},"end":{"line":419,"col":26}},"generated_from_span":null},"id":5888,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5889,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5890,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5891,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5892,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":19},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5893,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":46},{"Body":47}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2898}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2899}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":38},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5894,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":38},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5895,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":39},"end":{"line":419,"col":40}},"generated_from_span":null},"id":5896,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":12},"end":{"line":420,"col":14}},"generated_from_span":null},"id":5897,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":17},"end":{"line":420,"col":24}},"generated_from_span":null},"id":5898,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":17},"end":{"line":420,"col":24}},"generated_from_span":null},"id":5899,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5900,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5901,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5902,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5903,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":17},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5904,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":48},{"Body":49}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":34},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5905,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":34},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5906,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":35},"end":{"line":420,"col":36}},"generated_from_span":null},"id":5907,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":12},"end":{"line":421,"col":15}},"generated_from_span":null},"id":5908,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":18},"end":{"line":421,"col":21}},"generated_from_span":null},"id":5909,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":18},"end":{"line":421,"col":21}},"generated_from_span":null},"id":5910,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5911,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5912,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5913,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5914,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":18},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5915,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":50},{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2904}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2905}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":26},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5916,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":26},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5917,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":27},"end":{"line":421,"col":28}},"generated_from_span":null},"id":5918,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5919,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":18}},"generated_from_span":null},"id":5920,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":18}},"generated_from_span":null},"id":5921,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5922,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5923,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5924,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5925,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5926,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":52},{"Body":53}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":23},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5927,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":23},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5928,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5929,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":18}},"generated_from_span":null},"id":5930,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":18}},"generated_from_span":null},"id":5931,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5932,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5933,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5934,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5935,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5936,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":54},{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2910}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2911}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":23},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5937,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":23},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5938,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5939,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":19}},"generated_from_span":null},"id":5940,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":19}},"generated_from_span":null},"id":5941,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5942,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5943,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5944,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5945,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5946,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":56},{"Body":57}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":26},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5947,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":26},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5948,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5949,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":19}},"generated_from_span":null},"id":5950,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":19}},"generated_from_span":null},"id":5951,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5952,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5953,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5954,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":2918}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5955,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2917}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":2918}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5956,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":58},{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2916}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":2917}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":26},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5957,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":26},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5958,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":423,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5959,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5960,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5961,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5962,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5963,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5964,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5965,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5966,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5967,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5968,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5969,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5970,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5971,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5972,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5973,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5974,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":5},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5975,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":63,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}},{"Ident":["sub",0]}],"span":{"data":{"file_id":6,"beg":{"line":436,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"source_text":"fn sub(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.Y_minus_X;\n let MP = &Y_minus_X * &other.Y_plus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &ZZ2 - &TT2d,\n T: &ZZ2 + &TT2d,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10090},{"Deduplicated":10091}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":40,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10091},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":436,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"bound_body_regions":60,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":436,"col":53},"end":{"line":436,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":436,"col":11},"end":{"line":436,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":436,"col":17},"end":{"line":436,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3919}},{"index":3,"name":"Y_plus_X","span":{"data":{"file_id":6,"beg":{"line":437,"col":12},"end":{"line":437,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":437,"col":23},"end":{"line":437,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":"Y_minus_X","span":{"data":{"file_id":6,"beg":{"line":438,"col":12},"end":{"line":438,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":438,"col":24},"end":{"line":438,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":11,"name":"PM","span":{"data":{"file_id":6,"beg":{"line":439,"col":12},"end":{"line":439,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":439,"col":17},"end":{"line":439,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":15,"name":"MP","span":{"data":{"file_id":6,"beg":{"line":440,"col":12},"end":{"line":440,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":440,"col":17},"end":{"line":440,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":19,"name":"TT2d","span":{"data":{"file_id":6,"beg":{"line":441,"col":12},"end":{"line":441,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":441,"col":19},"end":{"line":441,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":23,"name":"ZZ","span":{"data":{"file_id":6,"beg":{"line":442,"col":12},"end":{"line":442,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":442,"col":17},"end":{"line":442,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":27,"name":"ZZ2","span":{"data":{"file_id":6,"beg":{"line":443,"col":12},"end":{"line":443,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":443,"col":18},"end":{"line":443,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":33,"name":null,"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":36,"name":null,"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":37,"name":null,"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":38,"name":null,"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":39,"name":null,"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":40,"name":null,"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":41,"name":null,"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":42,"name":null,"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":43,"name":null,"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":44,"name":null,"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":45,"name":null,"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2917}},{"index":46,"name":null,"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2918}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":437,"col":12},"end":{"line":451,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":437,"col":12},"end":{"line":437,"col":20}},"generated_from_span":null},"id":5976,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":23},"end":{"line":437,"col":30}},"generated_from_span":null},"id":5977,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":23},"end":{"line":437,"col":30}},"generated_from_span":null},"id":5978,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5979,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5980,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5981,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5982,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":23},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5983,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":39},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5984,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":39},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5985,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":40},"end":{"line":437,"col":41}},"generated_from_span":null},"id":5986,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":12},"end":{"line":438,"col":21}},"generated_from_span":null},"id":5987,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":24},"end":{"line":438,"col":31}},"generated_from_span":null},"id":5988,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":24},"end":{"line":438,"col":31}},"generated_from_span":null},"id":5989,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5990,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5991,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5992,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5993,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":24},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5994,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":40},{"Body":41}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":40},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5995,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":40},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5996,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":41},"end":{"line":438,"col":42}},"generated_from_span":null},"id":5997,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":12},"end":{"line":439,"col":14}},"generated_from_span":null},"id":5998,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":17},"end":{"line":439,"col":26}},"generated_from_span":null},"id":5999,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":17},"end":{"line":439,"col":26}},"generated_from_span":null},"id":6000,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6001,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6002,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6003,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6004,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":17},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6005,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":44},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6006,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":44},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6007,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":45},"end":{"line":439,"col":46}},"generated_from_span":null},"id":6008,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":12},"end":{"line":440,"col":14}},"generated_from_span":null},"id":6009,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":17},"end":{"line":440,"col":27}},"generated_from_span":null},"id":6010,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":17},"end":{"line":440,"col":27}},"generated_from_span":null},"id":6011,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6012,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6013,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6014,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6015,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":17},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6016,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":44},{"Body":45}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":44},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6017,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":44},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6018,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":45},"end":{"line":440,"col":46}},"generated_from_span":null},"id":6019,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":12},"end":{"line":441,"col":16}},"generated_from_span":null},"id":6020,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":19},"end":{"line":441,"col":26}},"generated_from_span":null},"id":6021,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":19},"end":{"line":441,"col":26}},"generated_from_span":null},"id":6022,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6023,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6024,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6025,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6026,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":19},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6027,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":46},{"Body":47}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2898}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2899}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":38},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6028,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":38},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6029,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":39},"end":{"line":441,"col":40}},"generated_from_span":null},"id":6030,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":12},"end":{"line":442,"col":14}},"generated_from_span":null},"id":6031,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":17},"end":{"line":442,"col":24}},"generated_from_span":null},"id":6032,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":17},"end":{"line":442,"col":24}},"generated_from_span":null},"id":6033,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6034,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6035,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6036,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6037,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":17},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6038,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":48},{"Body":49}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":34},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6039,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":34},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6040,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":35},"end":{"line":442,"col":36}},"generated_from_span":null},"id":6041,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":12},"end":{"line":443,"col":15}},"generated_from_span":null},"id":6042,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":18},"end":{"line":443,"col":21}},"generated_from_span":null},"id":6043,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":18},"end":{"line":443,"col":21}},"generated_from_span":null},"id":6044,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6045,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6046,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6047,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6048,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":18},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6049,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":50},{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2904}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2905}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":26},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6050,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":26},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6051,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":27},"end":{"line":443,"col":28}},"generated_from_span":null},"id":6052,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6053,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":18}},"generated_from_span":null},"id":6054,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":18}},"generated_from_span":null},"id":6055,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6056,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6057,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6058,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6059,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6060,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":52},{"Body":53}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":23},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6061,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":23},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6062,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6063,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":18}},"generated_from_span":null},"id":6064,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":18}},"generated_from_span":null},"id":6065,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6066,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6067,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6068,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6069,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6070,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":54},{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2910}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2911}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":23},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6071,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":23},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6072,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6073,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":19}},"generated_from_span":null},"id":6074,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":19}},"generated_from_span":null},"id":6075,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6076,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6077,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6078,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6079,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6080,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":56},{"Body":57}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":26},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6081,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":26},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6082,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6083,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":19}},"generated_from_span":null},"id":6084,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":19}},"generated_from_span":null},"id":6085,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6086,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6087,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6088,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":2918}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6089,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2917}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":2918}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6090,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":58},{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2916}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":2917}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":26},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6091,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":26},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6092,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":445,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6093,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6094,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6095,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6096,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6097,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6098,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6099,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6100,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6101,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6102,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6103,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6104,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6105,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6106,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6107,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6108,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":5},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6109,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":64,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}},{"Ident":["add",0]}],"span":{"data":{"file_id":6,"beg":{"line":458,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"source_text":"fn add(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.y_plus_x;\n let MM = &Y_minus_X * &other.y_minus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &Z2 + &Txy2d,\n T: &Z2 - &Txy2d,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10090},{"Deduplicated":10092}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":41,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10092},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":458,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"bound_body_regions":55,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":458,"col":49},"end":{"line":458,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":458,"col":11},"end":{"line":458,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":458,"col":17},"end":{"line":458,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3928}},{"index":3,"name":"Y_plus_X","span":{"data":{"file_id":6,"beg":{"line":459,"col":12},"end":{"line":459,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":459,"col":23},"end":{"line":459,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":"Y_minus_X","span":{"data":{"file_id":6,"beg":{"line":460,"col":12},"end":{"line":460,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":460,"col":24},"end":{"line":460,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":11,"name":"PP","span":{"data":{"file_id":6,"beg":{"line":461,"col":12},"end":{"line":461,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":461,"col":17},"end":{"line":461,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":15,"name":"MM","span":{"data":{"file_id":6,"beg":{"line":462,"col":12},"end":{"line":462,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":462,"col":17},"end":{"line":462,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":19,"name":"Txy2d","span":{"data":{"file_id":6,"beg":{"line":463,"col":12},"end":{"line":463,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":463,"col":20},"end":{"line":463,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":23,"name":"Z2","span":{"data":{"file_id":6,"beg":{"line":464,"col":12},"end":{"line":464,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":464,"col":17},"end":{"line":464,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":33,"name":null,"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":36,"name":null,"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":37,"name":null,"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":38,"name":null,"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":39,"name":null,"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":40,"name":null,"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":41,"name":null,"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":42,"name":null,"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2915}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":459,"col":12},"end":{"line":472,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":459,"col":12},"end":{"line":459,"col":20}},"generated_from_span":null},"id":6110,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":23},"end":{"line":459,"col":30}},"generated_from_span":null},"id":6111,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":23},"end":{"line":459,"col":30}},"generated_from_span":null},"id":6112,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6113,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6114,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6115,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6116,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":23},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6117,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":39},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6118,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":39},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6119,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":40},"end":{"line":459,"col":41}},"generated_from_span":null},"id":6120,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":12},"end":{"line":460,"col":21}},"generated_from_span":null},"id":6121,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":24},"end":{"line":460,"col":31}},"generated_from_span":null},"id":6122,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":24},"end":{"line":460,"col":31}},"generated_from_span":null},"id":6123,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6124,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6125,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6126,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6127,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":24},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6128,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":37},{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":40},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6129,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":40},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6130,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":41},"end":{"line":460,"col":42}},"generated_from_span":null},"id":6131,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":12},"end":{"line":461,"col":14}},"generated_from_span":null},"id":6132,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":17},"end":{"line":461,"col":26}},"generated_from_span":null},"id":6133,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":17},"end":{"line":461,"col":26}},"generated_from_span":null},"id":6134,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6135,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6136,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6137,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6138,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":17},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6139,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":39},{"Body":40}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":43},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6140,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":43},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6141,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":44},"end":{"line":461,"col":45}},"generated_from_span":null},"id":6142,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":12},"end":{"line":462,"col":14}},"generated_from_span":null},"id":6143,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":17},"end":{"line":462,"col":27}},"generated_from_span":null},"id":6144,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":17},"end":{"line":462,"col":27}},"generated_from_span":null},"id":6145,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6146,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6147,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6148,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6149,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":17},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6150,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":41},{"Body":42}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":45},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6151,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":45},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6152,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":46},"end":{"line":462,"col":47}},"generated_from_span":null},"id":6153,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":12},"end":{"line":463,"col":17}},"generated_from_span":null},"id":6154,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":20},"end":{"line":463,"col":27}},"generated_from_span":null},"id":6155,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":20},"end":{"line":463,"col":27}},"generated_from_span":null},"id":6156,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6157,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6158,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6159,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6160,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":20},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6161,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":43},{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2898}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2899}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":40},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6162,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":40},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6163,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":41},"end":{"line":463,"col":42}},"generated_from_span":null},"id":6164,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":12},"end":{"line":464,"col":14}},"generated_from_span":null},"id":6165,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":17},"end":{"line":464,"col":24}},"generated_from_span":null},"id":6166,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":17},"end":{"line":464,"col":24}},"generated_from_span":null},"id":6167,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6168,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6169,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6170,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6171,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":17},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6172,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":45},{"Body":46}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":33},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6173,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":33},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6174,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":34},"end":{"line":464,"col":35}},"generated_from_span":null},"id":6175,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6176,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":18}},"generated_from_span":null},"id":6177,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":18}},"generated_from_span":null},"id":6178,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6179,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6180,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6181,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6182,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6183,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":47},{"Body":48}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2904}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2905}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":23},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6184,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":23},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6185,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6186,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":18}},"generated_from_span":null},"id":6187,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":18}},"generated_from_span":null},"id":6188,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6189,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6190,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6191,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6192,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6193,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":49},{"Body":50}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":23},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6194,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":23},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6195,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6196,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":18}},"generated_from_span":null},"id":6197,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":18}},"generated_from_span":null},"id":6198,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6199,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6200,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6201,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6202,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6203,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":51},{"Body":52}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2910}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2911}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":26},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6204,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":26},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6205,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6206,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":18}},"generated_from_span":null},"id":6207,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":18}},"generated_from_span":null},"id":6208,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6209,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6210,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6211,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6212,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6213,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":53},{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":26},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6214,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":26},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6215,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":466,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6216,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6217,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6218,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6219,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6220,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6221,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6222,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6223,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6224,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6225,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6226,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6227,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6228,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6229,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6230,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":5},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6231,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":65,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}},{"Ident":["sub",0]}],"span":{"data":{"file_id":6,"beg":{"line":479,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"source_text":"fn sub(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.y_minus_x;\n let MP = &Y_minus_X * &other.y_plus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &Z2 - &Txy2d,\n T: &Z2 + &Txy2d,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10090},{"Deduplicated":10092}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":42,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10092},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":479,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"bound_body_regions":55,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":479,"col":49},"end":{"line":479,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":479,"col":11},"end":{"line":479,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":479,"col":17},"end":{"line":479,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3928}},{"index":3,"name":"Y_plus_X","span":{"data":{"file_id":6,"beg":{"line":480,"col":12},"end":{"line":480,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":480,"col":23},"end":{"line":480,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":"Y_minus_X","span":{"data":{"file_id":6,"beg":{"line":481,"col":12},"end":{"line":481,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":481,"col":24},"end":{"line":481,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":11,"name":"PM","span":{"data":{"file_id":6,"beg":{"line":482,"col":12},"end":{"line":482,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":482,"col":17},"end":{"line":482,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":15,"name":"MP","span":{"data":{"file_id":6,"beg":{"line":483,"col":12},"end":{"line":483,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":483,"col":17},"end":{"line":483,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":19,"name":"Txy2d","span":{"data":{"file_id":6,"beg":{"line":484,"col":12},"end":{"line":484,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":484,"col":20},"end":{"line":484,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":23,"name":"Z2","span":{"data":{"file_id":6,"beg":{"line":485,"col":12},"end":{"line":485,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":485,"col":17},"end":{"line":485,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":33,"name":null,"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":36,"name":null,"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":37,"name":null,"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":38,"name":null,"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":39,"name":null,"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":40,"name":null,"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":41,"name":null,"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":42,"name":null,"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2915}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":480,"col":12},"end":{"line":493,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":480,"col":12},"end":{"line":480,"col":20}},"generated_from_span":null},"id":6232,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":23},"end":{"line":480,"col":30}},"generated_from_span":null},"id":6233,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":23},"end":{"line":480,"col":30}},"generated_from_span":null},"id":6234,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6235,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6236,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6237,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6238,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":23},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6239,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":39},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6240,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":39},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6241,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":40},"end":{"line":480,"col":41}},"generated_from_span":null},"id":6242,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":12},"end":{"line":481,"col":21}},"generated_from_span":null},"id":6243,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":24},"end":{"line":481,"col":31}},"generated_from_span":null},"id":6244,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":24},"end":{"line":481,"col":31}},"generated_from_span":null},"id":6245,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6246,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6247,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6248,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6249,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":24},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6250,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":37},{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":40},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6251,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":40},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6252,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":41},"end":{"line":481,"col":42}},"generated_from_span":null},"id":6253,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":12},"end":{"line":482,"col":14}},"generated_from_span":null},"id":6254,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":17},"end":{"line":482,"col":26}},"generated_from_span":null},"id":6255,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":17},"end":{"line":482,"col":26}},"generated_from_span":null},"id":6256,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6257,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6258,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6259,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6260,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":17},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6261,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":39},{"Body":40}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":44},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6262,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":44},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6263,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":45},"end":{"line":482,"col":46}},"generated_from_span":null},"id":6264,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":12},"end":{"line":483,"col":14}},"generated_from_span":null},"id":6265,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":17},"end":{"line":483,"col":27}},"generated_from_span":null},"id":6266,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":17},"end":{"line":483,"col":27}},"generated_from_span":null},"id":6267,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6268,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6269,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6270,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6271,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":17},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6272,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":41},{"Body":42}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":44},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6273,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":44},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6274,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":45},"end":{"line":483,"col":46}},"generated_from_span":null},"id":6275,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":12},"end":{"line":484,"col":17}},"generated_from_span":null},"id":6276,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":20},"end":{"line":484,"col":27}},"generated_from_span":null},"id":6277,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":20},"end":{"line":484,"col":27}},"generated_from_span":null},"id":6278,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6279,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6280,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6281,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6282,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":20},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6283,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":43},{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2898}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2899}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":40},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6284,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":40},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6285,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":41},"end":{"line":484,"col":42}},"generated_from_span":null},"id":6286,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":12},"end":{"line":485,"col":14}},"generated_from_span":null},"id":6287,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":17},"end":{"line":485,"col":24}},"generated_from_span":null},"id":6288,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":17},"end":{"line":485,"col":24}},"generated_from_span":null},"id":6289,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6290,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6291,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6292,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6293,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":17},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6294,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":45},{"Body":46}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":33},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6295,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":33},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6296,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":34},"end":{"line":485,"col":35}},"generated_from_span":null},"id":6297,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6298,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":18}},"generated_from_span":null},"id":6299,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":18}},"generated_from_span":null},"id":6300,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6301,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6302,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6303,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6304,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6305,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":47},{"Body":48}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2904}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2905}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":23},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6306,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":23},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6307,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6308,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":18}},"generated_from_span":null},"id":6309,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":18}},"generated_from_span":null},"id":6310,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6311,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6312,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6313,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6314,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6315,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":49},{"Body":50}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":23},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6316,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":23},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6317,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6318,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":18}},"generated_from_span":null},"id":6319,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":18}},"generated_from_span":null},"id":6320,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6321,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6322,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6323,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6324,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6325,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":51},{"Body":52}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2910}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2911}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":26},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6326,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":26},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6327,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6328,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":18}},"generated_from_span":null},"id":6329,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":18}},"generated_from_span":null},"id":6330,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6331,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6332,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6333,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6334,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6335,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":53},{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":26},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6336,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":26},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6337,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":487,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6338,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6339,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6340,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6341,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6342,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6343,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6344,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6345,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6346,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6347,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6348,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6349,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6350,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6351,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6352,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":5},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6353,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":66,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}},{"Ident":["neg",0]}],"span":{"data":{"file_id":6,"beg":{"line":503,"col":4},"end":{"line":510,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: self.Y_minus_X,\n Y_minus_X: self.Y_plus_X,\n Z: self.Z,\n T2d: -(&self.T2d),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10091}],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":43,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10091},{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":503,"col":4},"end":{"line":510,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":503,"col":20},"end":{"line":503,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":503,"col":11},"end":{"line":503,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3899}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":505,"col":22},"end":{"line":505,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":506,"col":23},"end":{"line":506,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":507,"col":15},"end":{"line":507,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":508,"col":17},"end":{"line":508,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":508,"col":18},"end":{"line":508,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2795}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":504,"col":8},"end":{"line":510,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":505,"col":22},"end":{"line":505,"col":36}},"generated_from_span":null},"id":6354,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":505,"col":22},"end":{"line":505,"col":36}},"generated_from_span":null},"id":6355,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":506,"col":23},"end":{"line":506,"col":36}},"generated_from_span":null},"id":6356,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":506,"col":23},"end":{"line":506,"col":36}},"generated_from_span":null},"id":6357,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":507,"col":15},"end":{"line":507,"col":21}},"generated_from_span":null},"id":6358,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":507,"col":15},"end":{"line":507,"col":21}},"generated_from_span":null},"id":6359,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":17},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6360,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":18},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6361,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":18},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6362,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":17},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6363,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":28},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6364,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":504,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6365,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":509,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6366,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":509,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6367,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":509,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6368,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":509,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6369,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":510,"col":5},"end":{"line":510,"col":5}},"generated_from_span":null},"id":6370,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":67,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}},{"Ident":["neg",0]}],"span":{"data":{"file_id":6,"beg":{"line":516,"col":4},"end":{"line":522,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: self.y_minus_x,\n y_minus_x: self.y_plus_x,\n xy2d: -(&self.xy2d),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10092}],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":44,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10092},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":516,"col":4},"end":{"line":522,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":516,"col":20},"end":{"line":516,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1842}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":516,"col":11},"end":{"line":516,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3894}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":518,"col":22},"end":{"line":518,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":519,"col":23},"end":{"line":519,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":520,"col":18},"end":{"line":520,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":520,"col":19},"end":{"line":520,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2795}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":517,"col":8},"end":{"line":522,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":518,"col":22},"end":{"line":518,"col":36}},"generated_from_span":null},"id":6371,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":518,"col":22},"end":{"line":518,"col":36}},"generated_from_span":null},"id":6372,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":519,"col":23},"end":{"line":519,"col":36}},"generated_from_span":null},"id":6373,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":519,"col":23},"end":{"line":519,"col":36}},"generated_from_span":null},"id":6374,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":18},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6375,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":19},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6376,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":19},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6377,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":18},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6378,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":30},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6379,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":517,"col":8},"end":{"line":521,"col":9}},"generated_from_span":null},"id":6380,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":521,"col":8},"end":{"line":521,"col":9}},"generated_from_span":null},"id":6381,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":521,"col":8},"end":{"line":521,"col":9}},"generated_from_span":null},"id":6382,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":521,"col":8},"end":{"line":521,"col":9}},"generated_from_span":null},"id":6383,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":522,"col":5},"end":{"line":522,"col":5}},"generated_from_span":null},"id":6384,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":68,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":6,"beg":{"line":530,"col":4},"end":{"line":536,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectivePoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10221},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":45,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":530,"col":4},"end":{"line":536,"col":5}},"generated_from_span":null},"bound_body_regions":99,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":530,"col":55},"end":{"line":530,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":530,"col":11},"end":{"line":530,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3887}},{"index":2,"name":"f","span":{"data":{"file_id":6,"beg":{"line":530,"col":18},"end":{"line":530,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":532,"col":12},"end":{"line":532,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3944,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[3941,{"Ref":[{"Body":20},{"Deduplicated":2902},"Shared"]}]},{"HashConsedValue":[3942,{"Ref":[{"Body":22},{"Deduplicated":2904},"Shared"]}]},{"HashConsedValue":[3943,{"Ref":[{"Body":24},{"Deduplicated":2906},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[3945,{"Ref":[{"Body":26},{"Deduplicated":2908},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[3946,{"Ref":[{"Body":29},{"Deduplicated":2911},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[3947,{"Ref":[{"Body":32},{"Deduplicated":2914},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":12,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3953,{"Array":[{"HashConsedValue":[3952,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":533,"col":37},"end":{"line":533,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3108}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[3954,{"Ref":[{"Body":39},{"Deduplicated":2921},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":533,"col":49},"end":{"line":533,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3955,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":41}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[3956,{"Ref":[{"Body":42},{"Deduplicated":2933},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":533,"col":61},"end":{"line":533,"col":65}},"generated_from_span":null},"ty":{"HashConsedValue":[3957,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[3958,{"Ref":[{"Body":45},{"Deduplicated":2936},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3964,{"Ref":[{"Body":48},{"HashConsedValue":[3962,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","43"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3965,{"Ref":[{"Body":49},{"Deduplicated":3962},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3971,{"Ref":[{"Body":52},{"HashConsedValue":[3970,{"Array":[{"Deduplicated":3401},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3973,{"Ref":[{"Body":54},{"HashConsedValue":[3972,{"Array":[{"Deduplicated":3403},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":3962}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8906,{"Ref":[{"Body":91},{"Deduplicated":3962},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":532,"col":12},"end":{"line":534,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":532,"col":12},"end":{"line":532,"col":13}},"generated_from_span":null},"id":6385,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":532,"col":12},"end":{"line":532,"col":13}},"generated_from_span":null},"id":6386,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[3974,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":56}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6387,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6388,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6389,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6390,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6391,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6392,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3945}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2909}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6393,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6394,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6395,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6396,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3946}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2912}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6397,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6398,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6399,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6400,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3947}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2915}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6401,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":3945}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3946}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3947}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6402,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6403,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6404,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6405,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":37},"end":{"line":533,"col":41}},"generated_from_span":null},"id":6406,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6407,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6408,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},0]}]},"ty":{"HashConsedValue":[3976,{"Ref":[{"Body":57},{"HashConsedValue":[3975,{"Ref":[{"Body":58},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[3977,{"Ref":[{"Body":59},{"Deduplicated":1391},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":37},"end":{"line":533,"col":41}},"generated_from_span":null},"id":6409,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":60},{"Body":67}],"types":[{"HashConsedValue":[3987,{"Ref":[{"Body":62},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8383,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":62}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"HashConsedValue":[3988,{"kind":{"TraitImpl":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":3987}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3954}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":3108}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":40},"end":{"line":533,"col":41}},"generated_from_span":null},"id":6410,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":49},"end":{"line":533,"col":53}},"generated_from_span":null},"id":6411,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6412,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6413,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":3956}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},1]}]},"ty":{"HashConsedValue":[3992,{"Ref":[{"Body":68},{"HashConsedValue":[3991,{"Ref":[{"Body":69},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"Deduplicated":2942}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":49},"end":{"line":533,"col":53}},"generated_from_span":null},"id":6414,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":71},{"Body":78}],"types":[{"HashConsedValue":[3998,{"Ref":[{"Body":73},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8384,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":73}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":3998}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":3956}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":3955}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":52},"end":{"line":533,"col":53}},"generated_from_span":null},"id":6415,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":61},"end":{"line":533,"col":65}},"generated_from_span":null},"id":6416,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6417,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6418,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":3958}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},2]}]},"ty":{"HashConsedValue":[4002,{"Ref":[{"Body":79},{"HashConsedValue":[4001,{"Ref":[{"Body":80},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[4003,{"Ref":[{"Body":81},{"Deduplicated":1391},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":61},"end":{"line":533,"col":65}},"generated_from_span":null},"id":6419,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":82},{"Body":89}],"types":[{"HashConsedValue":[4009,{"Ref":[{"Body":84},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8385,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":84}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4009}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":3958}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":3957}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":64},"end":{"line":533,"col":65}},"generated_from_span":null},"id":6420,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6421,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3953}},{"Aggregate":[{"Array":[{"HashConsedValue":[4012,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":90}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":3108}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":3955}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":3957}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6422,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6423,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6424,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6425,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6426,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6427,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6428,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":3962}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","43"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","21"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","106"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","99"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","118"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","90"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6429,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6430,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":8906}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":3962}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6431,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":3965}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":8906}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6432,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":3964}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":3965}},"Deref"]},"ty":{"Deduplicated":3962}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6433,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6434,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6435,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3973}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":3953}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6436,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3971}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":3973}},"Deref"]},"ty":{"HashConsedValue":[4015,{"Array":[{"HashConsedValue":[4014,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":92}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6437,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":93}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","43"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3964}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":3971}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6438,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6439,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6440,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6441,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6442,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":94},{"Body":97},{"Body":98}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6443,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6444,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6445,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6446,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6447,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6448,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6449,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":536,"col":5},"end":{"line":536,"col":5}},"generated_from_span":null},"id":6450,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":69,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":6,"beg":{"line":540,"col":4},"end":{"line":546,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"CompletedPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10222},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":46,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":540,"col":4},"end":{"line":546,"col":5}},"generated_from_span":null},"bound_body_regions":120,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":540,"col":55},"end":{"line":540,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":540,"col":11},"end":{"line":540,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3891}},{"index":2,"name":"f","span":{"data":{"file_id":6,"beg":{"line":540,"col":18},"end":{"line":540,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":542,"col":12},"end":{"line":542,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4022,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":3942},{"Deduplicated":3943},{"Deduplicated":3945},{"HashConsedValue":[4021,{"Ref":[{"Body":28},{"Deduplicated":2910},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[4023,{"Ref":[{"Body":30},{"Deduplicated":2912},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[4024,{"Ref":[{"Body":33},{"Deduplicated":2915},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[4025,{"Ref":[{"Body":36},{"Deduplicated":2918},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":3954}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2922}},{"index":14,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4031,{"Array":[{"Deduplicated":3957},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":543,"col":36},"end":{"line":543,"col":40}},"generated_from_span":null},"ty":{"HashConsedValue":[4032,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":45}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[4033,{"Ref":[{"Body":46},{"Deduplicated":2937},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":543,"col":48},"end":{"line":543,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[4034,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":48}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[4036,{"Ref":[{"Body":49},{"HashConsedValue":[4035,{"Ref":[{"Body":50},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":543,"col":60},"end":{"line":543,"col":64}},"generated_from_span":null},"ty":{"HashConsedValue":[3967,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[4038,{"Ref":[{"Body":52},{"HashConsedValue":[4037,{"Ref":[{"Body":53},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":543,"col":72},"end":{"line":543,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[4039,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"ty":{"HashConsedValue":[4041,{"Ref":[{"Body":55},{"HashConsedValue":[4040,{"Ref":[{"Body":56},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4047,{"Ref":[{"Body":58},{"HashConsedValue":[4045,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","50"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4048,{"Ref":[{"Body":59},{"Deduplicated":4045},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4055,{"Ref":[{"Body":62},{"HashConsedValue":[4054,{"Array":[{"HashConsedValue":[4053,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":63}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":26,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4058,{"Ref":[{"Body":64},{"HashConsedValue":[4057,{"Array":[{"HashConsedValue":[4056,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":65}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":4045}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8907,{"Ref":[{"Body":112},{"Deduplicated":4045},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":542,"col":12},"end":{"line":544,"col":46}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":542,"col":12},"end":{"line":542,"col":13}},"generated_from_span":null},"id":6451,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":542,"col":12},"end":{"line":542,"col":13}},"generated_from_span":null},"id":6452,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[4059,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":66}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6453,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6454,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6455,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6456,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6457,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6458,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4023}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2913}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6459,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6460,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6461,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6462,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4024}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2916}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6463,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6464,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6465,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6466,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":4025}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2919}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6467,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6468,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6469,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6470,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":2922}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6471,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4023}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4024}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":4025}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3954}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6472,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6473,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6474,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6475,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6476,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":36},"end":{"line":543,"col":40}},"generated_from_span":null},"id":6477,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6478,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6479,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":4033}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},0]}]},"ty":{"HashConsedValue":[4061,{"Ref":[{"Body":67},{"HashConsedValue":[4060,{"Ref":[{"Body":68},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"Deduplicated":3991}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":36},"end":{"line":543,"col":40}},"generated_from_span":null},"id":6480,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":70},{"Body":77}],"types":[{"HashConsedValue":[4064,{"Ref":[{"Body":72},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8389,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":72}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4064}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":4033}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":39},"end":{"line":543,"col":40}},"generated_from_span":null},"id":6481,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":48},"end":{"line":543,"col":52}},"generated_from_span":null},"id":6482,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6483,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6484,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":4036}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},1]}]},"ty":{"HashConsedValue":[4068,{"Ref":[{"Body":78},{"HashConsedValue":[4067,{"Ref":[{"Body":79},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"Deduplicated":4001}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":48},"end":{"line":543,"col":52}},"generated_from_span":null},"id":6485,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":81},{"Body":88}],"types":[{"HashConsedValue":[4071,{"Ref":[{"Body":83},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8390,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":83}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4071}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":4036}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":51},"end":{"line":543,"col":52}},"generated_from_span":null},"id":6486,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":60},"end":{"line":543,"col":64}},"generated_from_span":null},"id":6487,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6488,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6489,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4038}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},2]}]},"ty":{"HashConsedValue":[4075,{"Ref":[{"Body":89},{"HashConsedValue":[4074,{"Ref":[{"Body":90},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[4076,{"Ref":[{"Body":91},{"Deduplicated":1391},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":60},"end":{"line":543,"col":64}},"generated_from_span":null},"id":6490,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":92},{"Body":99}],"types":[{"HashConsedValue":[4082,{"Ref":[{"Body":94},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8391,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":94}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4082}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":4038}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":63},"end":{"line":543,"col":64}},"generated_from_span":null},"id":6491,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":72},"end":{"line":543,"col":76}},"generated_from_span":null},"id":6492,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6493,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6494,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":4041}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},3]}]},"ty":{"HashConsedValue":[4086,{"Ref":[{"Body":100},{"Deduplicated":4085},"Shared"]}]}},"Deref"]},"ty":{"Deduplicated":4087}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":72},"end":{"line":543,"col":76}},"generated_from_span":null},"id":6495,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":103},{"Body":110}],"types":[{"HashConsedValue":[4093,{"Ref":[{"Body":105},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8392,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":105}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4093}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":4041}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":75},"end":{"line":543,"col":76}},"generated_from_span":null},"id":6496,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6497,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":4031}},{"Aggregate":[{"Array":[{"HashConsedValue":[4096,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":111}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6498,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6499,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6500,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6501,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6502,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6503,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6504,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6505,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":4045}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","50"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","20"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","67"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","112"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","90"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","84"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6506,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6507,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":8907}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":4045}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6508,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":4048}},{"Use":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":8907}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6509,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":4047}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":4048}},"Deref"]},"ty":{"Deduplicated":4045}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6510,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6511,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6512,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":4031}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6513,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":4055}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},"Deref"]},"ty":{"HashConsedValue":[4099,{"Array":[{"HashConsedValue":[4098,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":113}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6514,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":114}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","50"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":4047}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":4055}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6515,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6516,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6517,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6518,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6519,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":115},{"Body":118},{"Body":119}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6520,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6521,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6522,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6523,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6524,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6525,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6526,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6527,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":546,"col":5},"end":{"line":546,"col":5}},"generated_from_span":null},"id":6528,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":70,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":6,"beg":{"line":550,"col":4},"end":{"line":556,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"AffineNielsPoint{{\\n\\ty_plus_x: {:?},\\n\\ty_minus_x: {:?},\\n\\txy2d: {:?}\\n}}\",\n &self.y_plus_x, &self.y_minus_x, &self.xy2d\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10092},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":47,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":550,"col":4},"end":{"line":556,"col":5}},"generated_from_span":null},"bound_body_regions":99,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":550,"col":55},"end":{"line":550,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":550,"col":11},"end":{"line":550,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3894}},{"index":2,"name":"f","span":{"data":{"file_id":6,"beg":{"line":550,"col":18},"end":{"line":550,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":552,"col":12},"end":{"line":552,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3944}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":3945}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":3946}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":3947}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":12,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3953}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":553,"col":45},"end":{"line":553,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":3108}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":3954}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":553,"col":65},"end":{"line":553,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":3955}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":3956}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":553,"col":80},"end":{"line":553,"col":84}},"generated_from_span":null},"ty":{"Deduplicated":3957}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":3958}},{"index":19,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4106,{"Ref":[{"Body":48},{"HashConsedValue":[4104,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","62"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4107,{"Ref":[{"Body":49},{"Deduplicated":4104},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3971}},{"index":22,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3973}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":4104}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8908,{"Ref":[{"Body":91},{"Deduplicated":4104},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":552,"col":12},"end":{"line":554,"col":55}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":552,"col":12},"end":{"line":552,"col":13}},"generated_from_span":null},"id":6529,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":552,"col":12},"end":{"line":552,"col":13}},"generated_from_span":null},"id":6530,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"Deduplicated":3974}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6531,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6532,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6533,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6534,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6535,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6536,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3945}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2909}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6537,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6538,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6539,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6540,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3946}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2912}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6541,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6542,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6543,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6544,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3947}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2915}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6545,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":3945}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3946}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3947}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6546,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6547,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6548,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6549,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":45},"end":{"line":553,"col":49}},"generated_from_span":null},"id":6550,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6551,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6552,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},0]}]},"ty":{"Deduplicated":3976}},"Deref"]},"ty":{"Deduplicated":3977}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":45},"end":{"line":553,"col":49}},"generated_from_span":null},"id":6553,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":60},{"Body":67}],"types":[{"Deduplicated":3987}],"const_generics":[],"trait_refs":[{"Deduplicated":8383}]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3954}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":3108}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":48},"end":{"line":553,"col":49}},"generated_from_span":null},"id":6554,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":65},"end":{"line":553,"col":69}},"generated_from_span":null},"id":6555,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6556,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6557,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":3956}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},1]}]},"ty":{"Deduplicated":3992}},"Deref"]},"ty":{"Deduplicated":2942}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":65},"end":{"line":553,"col":69}},"generated_from_span":null},"id":6558,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":71},{"Body":78}],"types":[{"Deduplicated":3998}],"const_generics":[],"trait_refs":[{"Deduplicated":8384}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":3956}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":3955}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":68},"end":{"line":553,"col":69}},"generated_from_span":null},"id":6559,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":80},"end":{"line":553,"col":84}},"generated_from_span":null},"id":6560,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6561,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6562,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":3958}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},2]}]},"ty":{"Deduplicated":4002}},"Deref"]},"ty":{"Deduplicated":4003}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":80},"end":{"line":553,"col":84}},"generated_from_span":null},"id":6563,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":82},{"Body":89}],"types":[{"Deduplicated":4009}],"const_generics":[],"trait_refs":[{"Deduplicated":8385}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":3958}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":3957}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":83},"end":{"line":553,"col":84}},"generated_from_span":null},"id":6564,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6565,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3953}},{"Aggregate":[{"Array":[{"Deduplicated":4012},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":3108}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":3955}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":3957}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6566,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6567,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6568,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6569,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6570,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6571,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6572,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":4104}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","62"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","29"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","65"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","102"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","102"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","78"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","121"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","112"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","117"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","120"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","14"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","121"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","117"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","120"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","120"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","121"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","50"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6573,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6574,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":8908}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":4104}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6575,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4107}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":8908}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6576,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":4106}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":4107}},"Deref"]},"ty":{"Deduplicated":4104}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6577,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6578,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6579,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3973}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":3953}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6580,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3971}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":3973}},"Deref"]},"ty":{"Deduplicated":4015}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6581,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":93}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","62"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":4106}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":3971}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6582,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6583,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6584,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6585,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6586,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":94},{"Body":97},{"Body":98}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6587,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6588,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6589,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6590,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6591,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6592,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6593,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":556,"col":5},"end":{"line":556,"col":5}},"generated_from_span":null},"id":6594,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":71,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":6,"beg":{"line":560,"col":4},"end":{"line":566,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectiveNielsPoint{{\\n\\tY_plus_X: {:?},\\n\\tY_minus_X: {:?},\\n\\tZ: {:?},\\n\\tT2d: {:?}\\n}}\",\n &self.Y_plus_X, &self.Y_minus_X, &self.Z, &self.T2d\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10091},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":48,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":560,"col":4},"end":{"line":566,"col":5}},"generated_from_span":null},"bound_body_regions":120,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":560,"col":55},"end":{"line":560,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":560,"col":11},"end":{"line":560,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3899}},{"index":2,"name":"f","span":{"data":{"file_id":6,"beg":{"line":560,"col":18},"end":{"line":560,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":562,"col":12},"end":{"line":562,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4022}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4023}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":4024}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4025}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":3954}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":2922}},{"index":14,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4031}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":563,"col":49},"end":{"line":563,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4032}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4033}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":563,"col":69},"end":{"line":563,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":4034}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":4036}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":563,"col":81},"end":{"line":563,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3967}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4038}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":563,"col":95},"end":{"line":563,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":4039}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":4041}},{"index":23,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4115,{"Ref":[{"Body":58},{"HashConsedValue":[4113,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","73"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4116,{"Ref":[{"Body":59},{"Deduplicated":4113},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4055}},{"index":26,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4058}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":4113}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8909,{"Ref":[{"Body":112},{"Deduplicated":4113},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":562,"col":12},"end":{"line":564,"col":63}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":562,"col":12},"end":{"line":562,"col":13}},"generated_from_span":null},"id":6595,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":562,"col":12},"end":{"line":562,"col":13}},"generated_from_span":null},"id":6596,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"Deduplicated":4059}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6597,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6598,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6599,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6600,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6601,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6602,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4023}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2913}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6603,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6604,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6605,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6606,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4024}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2916}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6607,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6608,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6609,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6610,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":4025}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2919}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6611,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6612,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6613,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6614,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":2922}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6615,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4023}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4024}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":4025}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3954}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6616,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6617,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6618,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6619,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6620,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":49},"end":{"line":563,"col":53}},"generated_from_span":null},"id":6621,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6622,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6623,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":4033}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},0]}]},"ty":{"Deduplicated":4061}},"Deref"]},"ty":{"Deduplicated":3991}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":49},"end":{"line":563,"col":53}},"generated_from_span":null},"id":6624,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":70},{"Body":77}],"types":[{"Deduplicated":4064}],"const_generics":[],"trait_refs":[{"Deduplicated":8389}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":4033}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":52},"end":{"line":563,"col":53}},"generated_from_span":null},"id":6625,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":69},"end":{"line":563,"col":73}},"generated_from_span":null},"id":6626,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6627,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6628,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":4036}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},1]}]},"ty":{"Deduplicated":4068}},"Deref"]},"ty":{"Deduplicated":4001}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":69},"end":{"line":563,"col":73}},"generated_from_span":null},"id":6629,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":81},{"Body":88}],"types":[{"Deduplicated":4071}],"const_generics":[],"trait_refs":[{"Deduplicated":8390}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":4036}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":72},"end":{"line":563,"col":73}},"generated_from_span":null},"id":6630,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":81},"end":{"line":563,"col":85}},"generated_from_span":null},"id":6631,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6632,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6633,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4038}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},2]}]},"ty":{"Deduplicated":4075}},"Deref"]},"ty":{"Deduplicated":4076}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":81},"end":{"line":563,"col":85}},"generated_from_span":null},"id":6634,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":92},{"Body":99}],"types":[{"Deduplicated":4082}],"const_generics":[],"trait_refs":[{"Deduplicated":8391}]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":4038}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":84},"end":{"line":563,"col":85}},"generated_from_span":null},"id":6635,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":95},"end":{"line":563,"col":99}},"generated_from_span":null},"id":6636,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6637,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6638,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":4041}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},3]}]},"ty":{"Deduplicated":4086}},"Deref"]},"ty":{"Deduplicated":4087}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":95},"end":{"line":563,"col":99}},"generated_from_span":null},"id":6639,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":103},{"Body":110}],"types":[{"Deduplicated":4093}],"const_generics":[],"trait_refs":[{"Deduplicated":8392}]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":4041}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":98},"end":{"line":563,"col":99}},"generated_from_span":null},"id":6640,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6641,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":4031}},{"Aggregate":[{"Array":[{"Deduplicated":4096},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6642,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6643,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6644,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6645,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6646,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6647,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6648,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6649,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":4113}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","73"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","33"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","106"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","99"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","118"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","78"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","112"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","117"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","14"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","117"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","90"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","8"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","84"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","50"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6650,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6651,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":8909}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":4113}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6652,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":4116}},{"Use":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":8909}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6653,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":4115}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":4116}},"Deref"]},"ty":{"Deduplicated":4113}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6654,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6655,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6656,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":4031}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6657,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":4055}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},"Deref"]},"ty":{"Deduplicated":4099}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6658,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":114}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","73"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":4115}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":4055}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6659,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6660,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6661,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6662,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6663,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":115},{"Body":118},{"Body":119}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6664,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6665,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6666,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6667,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6668,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6669,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6670,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6671,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":566,"col":5},"end":{"line":566,"col":5}},"generated_from_span":null},"id":6672,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":72,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":51}},{"Ident":["clone",0]}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10229,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2116},"Shared"]}]}],"output":{"Deduplicated":2116}},"src":{"TraitImpl":{"impl_ref":{"id":51,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2116}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[4167,{"Ref":[{"Body":1},{"Deduplicated":2116},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"id":6673,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2116}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":174,"col":20},"end":{"line":174,"col":20}},"generated_from_span":null},"id":6674,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":73,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":52}},{"Ident":["hash",0]}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"__H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229},{"Deduplicated":10227}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":52,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"bound_body_regions":12,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"state","span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[10230,{"Ref":[{"Body":3},{"Deduplicated":10076},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2830}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2831}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[10231,{"Ref":[{"Body":7},{"Deduplicated":10076},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":6675,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6676,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6677,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6678,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2831}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},{"Field":[{"Adt":[6,null]},0]}]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6679,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2830}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2831}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"id":6680,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"id":6681,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":10231}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":10230}},"Deref"]},"ty":{"Deduplicated":10076}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6682,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":192}},"generics":{"regions":[{"Body":10},{"Body":11}],"types":[{"Deduplicated":2113},{"Deduplicated":10076}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10232,{"kind":{"TraitImpl":{"id":125,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10233,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2830}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":10231}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":41},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6683,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":41},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6684,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":41},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6685,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":174,"col":26},"end":{"line":174,"col":26}},"generated_from_span":null},"id":6686,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":74,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]},{"Ident":["hash",0]}],"span":{"data":{"file_id":20,"beg":{"line":198,"col":4},"end":{"line":198,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Feeds this value into the given [`Hasher`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hash, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" 7920.hash(&mut hasher);"},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"HashConsedValue":[10234,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10077},"Mut"]}]}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":76,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":53}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":178,"col":4},"end":{"line":180,"col":5}},"generated_from_span":null},"source_text":"fn ct_eq(&self, other: &CompressedEdwardsY) -> Choice {\n self.as_bytes().ct_eq(other.as_bytes())\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229},{"HashConsedValue":[10235,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2116},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":53,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":178,"col":4},"end":{"line":180,"col":5}},"generated_from_span":null},"bound_body_regions":23,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":178,"col":51},"end":{"line":178,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":178,"col":13},"end":{"line":178,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":178,"col":20},"end":{"line":178,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[4322,{"Ref":[{"Body":2},{"Deduplicated":2116},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2828}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2831}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2883}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[4323,{"Ref":[{"Body":8},{"Deduplicated":2116},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2884}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":3869}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"ty":{"HashConsedValue":[4324,{"Ref":[{"Body":11},{"Deduplicated":2114},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[4325,{"Ref":[{"Body":12},{"Deduplicated":2116},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":180,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6687,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6688,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6689,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":12}},"generated_from_span":null},"id":6690,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":12}},"generated_from_span":null},"id":6691,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4323}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6692,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":79}},"generics":{"regions":[{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4323}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":2883}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6693,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2831}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2883}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6694,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2831}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2828}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":22},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6695,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":22},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6696,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6697,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6698,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6699,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":35}},"generated_from_span":null},"id":6700,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":35}},"generated_from_span":null},"id":6701,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":4325}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4322}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6702,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":79}},"generics":{"regions":[{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":4325}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":4324}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6703,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3869}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":4324}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6704,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3869}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":2884}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":45},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6705,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":45},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6706,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":136}},"generics":{"regions":[{"Body":21},{"Body":22}],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[{"Deduplicated":2863}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2828}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2884}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":46},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6708,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":46},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6709,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":46},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6710,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":46},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6711,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":180,"col":5},"end":{"line":180,"col":5}},"generated_from_span":null},"id":6712,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":77,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}},{"Ident":["eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":185,"col":4},"end":{"line":187,"col":5}},"generated_from_span":null},"source_text":"fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229},{"Deduplicated":10235}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":55,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":185,"col":4},"end":{"line":187,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":185,"col":34},"end":{"line":185,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":185,"col":10},"end":{"line":185,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":185,"col":17},"end":{"line":185,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4322}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[4328,{"Ref":[{"Body":3},{"Deduplicated":2116},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":186,"col":19},"end":{"line":186,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[4329,{"Ref":[{"Body":4},{"Deduplicated":2116},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":187,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":25}},"generated_from_span":null},"id":6713,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":12}},"generated_from_span":null},"id":6714,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":12}},"generated_from_span":null},"id":6715,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4328}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":19},"end":{"line":186,"col":24}},"generated_from_span":null},"id":6716,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":19},"end":{"line":186,"col":24}},"generated_from_span":null},"id":6717,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4329}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4322}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":25}},"generated_from_span":null},"id":6718,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":76}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4328}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4329}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":24},"end":{"line":186,"col":25}},"generated_from_span":null},"id":6719,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":24},"end":{"line":186,"col":25}},"generated_from_span":null},"id":6720,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":32}},"generated_from_span":null},"id":6721,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":31},"end":{"line":186,"col":32}},"generated_from_span":null},"id":6722,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":187,"col":5},"end":{"line":187,"col":5}},"generated_from_span":null},"id":6723,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":78,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":7,"beg":{"line":191,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"CompressedEdwardsY: {:?}\", self.as_bytes())\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":56,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":191,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"bound_body_regions":60,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":191,"col":55},"end":{"line":191,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":191,"col":11},"end":{"line":191,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"f","span":{"data":{"file_id":7,"beg":{"line":191,"col":18},"end":{"line":191,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":15},"end":{"line":192,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4340,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[4339,{"Ref":[{"Body":16},{"HashConsedValue":[4338,{"Ref":[{"Body":17},{"Deduplicated":2114},"Shared"]}]},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"ty":{"HashConsedValue":[4342,{"Ref":[{"Body":18},{"HashConsedValue":[4341,{"Ref":[{"Body":19},{"Deduplicated":2114},"Shared"]}]},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"ty":{"HashConsedValue":[4343,{"Ref":[{"Body":20},{"Deduplicated":2114},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[4344,{"Ref":[{"Body":21},{"Deduplicated":2116},"Shared"]}]}},{"index":9,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4348,{"Array":[{"HashConsedValue":[3086,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":39},"end":{"line":192,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3087,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"ty":{"HashConsedValue":[4350,{"Ref":[{"Body":26},{"HashConsedValue":[4349,{"Ref":[{"Body":27},{"Deduplicated":2114},"Shared"]}]},"Shared"]}]}},{"index":12,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4356,{"Ref":[{"Body":29},{"HashConsedValue":[4354,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","23"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4357,{"Ref":[{"Body":30},{"Deduplicated":4354},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3104,{"Ref":[{"Body":33},{"HashConsedValue":[3103,{"Array":[{"HashConsedValue":[3102,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":34}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3107}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":4354}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8921,{"Ref":[{"Body":52},{"Deduplicated":4354},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":192,"col":15},"end":{"line":192,"col":61}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":192,"col":15},"end":{"line":192,"col":16}},"generated_from_span":null},"id":6724,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":15},"end":{"line":192,"col":16}},"generated_from_span":null},"id":6725,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[10236,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6726,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6727,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6728,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6729,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":50}},"generated_from_span":null},"id":6730,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":50}},"generated_from_span":null},"id":6731,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4344}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6732,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":79}},"generics":{"regions":[{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4344}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":4343}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":60},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6733,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6734,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4342}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":4343}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6735,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4340}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4342}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6736,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6737,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":39},"end":{"line":192,"col":43}},"generated_from_span":null},"id":6738,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6739,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6740,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":4350}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4340}},{"Field":[{"Tuple":1},0]}]},"ty":{"HashConsedValue":[10238,{"Ref":[{"Body":40},{"HashConsedValue":[10237,{"Ref":[{"Body":41},{"Deduplicated":2114},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[10239,{"Ref":[{"Body":42},{"Deduplicated":2114},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":39},"end":{"line":192,"col":43}},"generated_from_span":null},"id":6741,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":43},{"Body":50}],"types":[{"HashConsedValue":[8418,{"Ref":[{"Body":45},{"Deduplicated":2114},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10242,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":45}],"types":[{"Deduplicated":2114}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10241,{"kind":{"TraitImpl":{"id":126,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10240,{"kind":{"TraitImpl":{"id":127,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2114}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8418}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":4350}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":3087}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":42},"end":{"line":192,"col":43}},"generated_from_span":null},"id":6742,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6743,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":4348}},{"Aggregate":[{"Array":[{"Deduplicated":3967},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3087}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6744,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6745,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6746,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6747,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6748,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":4354}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","23"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","20"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","67"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","112"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","69"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","119"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","97"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6749,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6750,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":8921}},{"Ref":{"place":{"kind":{"Local":16},"ty":{"Deduplicated":4354}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6751,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":4357}},{"Use":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":8921}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6752,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":4356}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":4357}},"Deref"]},"ty":{"Deduplicated":4354}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6753,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6754,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6755,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3107}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":4348}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6756,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3104}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":3107}},"Deref"]},"ty":{"HashConsedValue":[10243,{"Array":[{"Deduplicated":3401},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6757,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":54}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","23"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":4356}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3104}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6758,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6759,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6760,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6761,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6762,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":55},{"Body":58},{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6763,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6764,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6765,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6766,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6767,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":193,"col":5},"end":{"line":193,"col":5}},"generated_from_span":null},"id":6768,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":79,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["as_bytes",0]}],"span":{"data":{"file_id":7,"beg":{"line":198,"col":4},"end":{"line":200,"col":5}},"generated_from_span":null},"source_text":"pub const fn as_bytes(&self) -> &[u8; 32] {\n &self.0\n }","attr_info":{"attributes":[{"DocComment":" View this `CompressedEdwardsY` as an array of bytes."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229}],"output":{"Deduplicated":10220}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":198,"col":4},"end":{"line":200,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":198,"col":36},"end":{"line":198,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3867}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":198,"col":26},"end":{"line":198,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":4328}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":199,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2881}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":200,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":199,"col":15}},"generated_from_span":null},"id":6769,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":199,"col":15}},"generated_from_span":null},"id":6770,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2881}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4328}},"Deref"]},"ty":{"Deduplicated":2116}},{"Field":[{"Adt":[6,null]},0]}]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":199,"col":15}},"generated_from_span":null},"id":6771,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":3867}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2881}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":199,"col":14},"end":{"line":199,"col":15}},"generated_from_span":null},"id":6772,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":200,"col":5},"end":{"line":200,"col":5}},"generated_from_span":null},"id":6773,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":80,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["to_bytes",0]}],"span":{"data":{"file_id":7,"beg":{"line":203,"col":4},"end":{"line":205,"col":5}},"generated_from_span":null},"source_text":"pub const fn to_bytes(&self) -> [u8; 32] {\n self.0\n }","attr_info":{"attributes":[{"DocComment":" Copy this `CompressedEdwardsY` to an array of bytes."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229}],"output":{"Deduplicated":2114}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":203,"col":4},"end":{"line":205,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":203,"col":36},"end":{"line":203,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":203,"col":26},"end":{"line":203,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":4167}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":204,"col":8},"end":{"line":205,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":204,"col":8},"end":{"line":204,"col":14}},"generated_from_span":null},"id":6774,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},{"Field":[{"Adt":[6,null]},0]}]},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":205,"col":5},"end":{"line":205,"col":5}},"generated_from_span":null},"id":6775,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":81,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["decompress",0]}],"span":{"data":{"file_id":7,"beg":{"line":211,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"source_text":"pub fn decompress(&self) -> Option {\n let (is_valid_y_coord, X, Y, Z) = decompress::step_1(self);\n\n if is_valid_y_coord.into() {\n Some(decompress::step_2(self, X, Y, Z))\n } else {\n None\n }\n }","attr_info":{"attributes":[{"DocComment":" Attempt to decompress to an `EdwardsPoint`."},{"DocComment":""},{"DocComment":" Returns `None` if the input is not the \\\\(y\\\\)-coordinate of a"},{"DocComment":" curve point."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229}],"output":{"HashConsedValue":[4405,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":211,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":211,"col":32},"end":{"line":211,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4405}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":211,"col":22},"end":{"line":211,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"is_valid_y_coord","span":{"data":{"file_id":7,"beg":{"line":212,"col":13},"end":{"line":212,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":3,"name":"X","span":{"data":{"file_id":7,"beg":{"line":212,"col":31},"end":{"line":212,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":"Y","span":{"data":{"file_id":7,"beg":{"line":212,"col":34},"end":{"line":212,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":"Z","span":{"data":{"file_id":7,"beg":{"line":212,"col":37},"end":{"line":212,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":212,"col":42},"end":{"line":212,"col":66}},"generated_from_span":null},"ty":{"HashConsedValue":[4408,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1391},{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":212,"col":61},"end":{"line":212,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":4322}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":17},"end":{"line":215,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":36},"end":{"line":215,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":4328}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":42},"end":{"line":215,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":45},"end":{"line":215,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":48},"end":{"line":215,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":212,"col":13},"end":{"line":219,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":212,"col":42},"end":{"line":212,"col":66}},"generated_from_span":null},"id":6776,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":61},"end":{"line":212,"col":65}},"generated_from_span":null},"id":6777,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":61},"end":{"line":212,"col":65}},"generated_from_span":null},"id":6778,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":4322}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":42},"end":{"line":212,"col":66}},"generated_from_span":null},"id":6779,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":193}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":4322}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":4408}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":65},"end":{"line":212,"col":66}},"generated_from_span":null},"id":6780,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":13},"end":{"line":212,"col":29}},"generated_from_span":null},"id":6781,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":13},"end":{"line":212,"col":29}},"generated_from_span":null},"id":6782,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":4408}},{"Field":[{"Tuple":4},0]}]},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":31},"end":{"line":212,"col":32}},"generated_from_span":null},"id":6783,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":31},"end":{"line":212,"col":32}},"generated_from_span":null},"id":6784,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":4408}},{"Field":[{"Tuple":4},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":34},"end":{"line":212,"col":35}},"generated_from_span":null},"id":6785,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":34},"end":{"line":212,"col":35}},"generated_from_span":null},"id":6786,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":4408}},{"Field":[{"Tuple":4},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":37},"end":{"line":212,"col":38}},"generated_from_span":null},"id":6787,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":37},"end":{"line":212,"col":38}},"generated_from_span":null},"id":6788,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":4408}},{"Field":[{"Tuple":4},3]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":66},"end":{"line":212,"col":67}},"generated_from_span":null},"id":6789,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":34}},"generated_from_span":null},"id":6790,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":27}},"generated_from_span":null},"id":6791,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":27}},"generated_from_span":null},"id":6792,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":34}},"generated_from_span":null},"id":6793,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":8},"end":{"line":218,"col":9}},"generated_from_span":null},"id":6815,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":8},"end":{"line":218,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":214,"col":33},"end":{"line":214,"col":34}},"generated_from_span":null},"id":6794,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":17},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6795,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":36},"end":{"line":215,"col":40}},"generated_from_span":null},"id":6796,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":36},"end":{"line":215,"col":40}},"generated_from_span":null},"id":6797,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":4328}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":42},"end":{"line":215,"col":43}},"generated_from_span":null},"id":6798,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":42},"end":{"line":215,"col":43}},"generated_from_span":null},"id":6799,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":45},"end":{"line":215,"col":46}},"generated_from_span":null},"id":6800,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":45},"end":{"line":215,"col":46}},"generated_from_span":null},"id":6801,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":48},"end":{"line":215,"col":49}},"generated_from_span":null},"id":6802,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":48},"end":{"line":215,"col":49}},"generated_from_span":null},"id":6803,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":17},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6804,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":4328}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":49},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6805,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":49},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6806,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":49},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6807,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":49},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6808,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":12},"end":{"line":215,"col":51}},"generated_from_span":null},"id":6809,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4405}},{"Aggregate":[{"Adt":[{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},1,null]},[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1955}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":50},"end":{"line":215,"col":51}},"generated_from_span":null},"id":6810,"kind":{"StorageDead":10},"comments_before":[]}]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":8},"end":{"line":218,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":214,"col":33},"end":{"line":214,"col":34}},"generated_from_span":null},"id":6812,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":217,"col":12},"end":{"line":217,"col":16}},"generated_from_span":null},"id":6813,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4405}},{"Aggregate":[{"Adt":[{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":218,"col":8},"end":{"line":218,"col":9}},"generated_from_span":null},"id":6816,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6817,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6818,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6819,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6820,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":5},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6821,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":82,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":57}},{"Ident":["try_from",0]}],"span":{"data":{"file_id":7,"beg":{"line":263,"col":4},"end":{"line":265,"col":5}},"generated_from_span":null},"source_text":"fn try_from(slice: &[u8]) -> Result {\n Self::from_slice(slice)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10095,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2239},"Shared"]}]}],"output":{"HashConsedValue":[4430,{"Adt":{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":2116},{"HashConsedValue":[2275,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":57,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":10095},{"Deduplicated":2275}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":263,"col":4},"end":{"line":265,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":263,"col":33},"end":{"line":263,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":4430}},{"index":1,"name":"slice","span":{"data":{"file_id":7,"beg":{"line":263,"col":16},"end":{"line":263,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[4432,{"Ref":[{"Body":1},{"Deduplicated":2239},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":264,"col":25},"end":{"line":264,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[2880,{"Ref":[{"Body":2},{"Deduplicated":2239},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":264,"col":25},"end":{"line":265,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":264,"col":25},"end":{"line":264,"col":30}},"generated_from_span":null},"id":6822,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":264,"col":25},"end":{"line":264,"col":30}},"generated_from_span":null},"id":6823,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2880}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":264,"col":8},"end":{"line":264,"col":31}},"generated_from_span":null},"id":6824,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":86}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":2880}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":4430}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":264,"col":30},"end":{"line":264,"col":31}},"generated_from_span":null},"id":6825,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":265,"col":5},"end":{"line":265,"col":5}},"generated_from_span":null},"id":6826,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":83,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":60}},{"Ident":["clone",0]}],"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10099,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1955},"Shared"]}]}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":60,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3931}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"id":6827,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":388,"col":20},"end":{"line":388,"col":20}},"generated_from_span":null},"id":6828,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":84,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":61}},{"Ident":["identity",0]}],"span":{"data":{"file_id":7,"beg":{"line":402,"col":4},"end":{"line":407,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> CompressedEdwardsY {\n CompressedEdwardsY([\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ])\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":2116}},"src":{"TraitImpl":{"impl_ref":{"id":61,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":402,"col":4},"end":{"line":407,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":402,"col":21},"end":{"line":402,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2116}},{"index":1,"name":null,"span":{"data":{"file_id":7,"beg":{"line":403,"col":27},"end":{"line":406,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":2114}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":403,"col":8},"end":{"line":407,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":403,"col":27},"end":{"line":406,"col":9}},"generated_from_span":null},"id":6829,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":403,"col":27},"end":{"line":406,"col":9}},"generated_from_span":null},"id":6830,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":2114}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","1"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":403,"col":8},"end":{"line":406,"col":10}},"generated_from_span":null},"id":6831,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2116}},{"Aggregate":[{"Adt":[{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":406,"col":9},"end":{"line":406,"col":10}},"generated_from_span":null},"id":6832,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":407,"col":5},"end":{"line":407,"col":5}},"generated_from_span":null},"id":6833,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":85,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":62}},{"Ident":["default",0]}],"span":{"data":{"file_id":7,"beg":{"line":411,"col":4},"end":{"line":413,"col":5}},"generated_from_span":null},"source_text":"fn default() -> CompressedEdwardsY {\n CompressedEdwardsY::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":2116}},"src":{"TraitImpl":{"impl_ref":{"id":62,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":411,"col":4},"end":{"line":413,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":411,"col":20},"end":{"line":411,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":2116}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":413,"col":5},"end":{"line":413,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":412,"col":8},"end":{"line":412,"col":38}},"generated_from_span":null},"id":6834,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":84}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":2116}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":413,"col":5},"end":{"line":413,"col":5}},"generated_from_span":null},"id":6835,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":86,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["from_slice",0]}],"span":{"data":{"file_id":7,"beg":{"line":423,"col":4},"end":{"line":425,"col":5}},"generated_from_span":null},"source_text":"pub fn from_slice(bytes: &[u8]) -> Result {\n bytes.try_into().map(CompressedEdwardsY)\n }","attr_info":{"attributes":[{"DocComment":" Construct a `CompressedEdwardsY` from a slice of bytes."},{"DocComment":""},{"DocComment":" # Errors"},{"DocComment":""},{"DocComment":" Returns [`TryFromSliceError`] if the input `bytes` slice does not have"},{"DocComment":" a length of 32."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10095}],"output":{"Deduplicated":4430}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":87,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":63}},{"Ident":["identity",0]}],"span":{"data":{"file_id":7,"beg":{"line":429,"col":4},"end":{"line":436,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n T: FieldElement::ZERO,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":63,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":429,"col":4},"end":{"line":436,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":429,"col":21},"end":{"line":429,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":430,"col":8},"end":{"line":436,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":430,"col":8},"end":{"line":435,"col":9}},"generated_from_span":null},"id":6836,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":436,"col":5},"end":{"line":436,"col":5}},"generated_from_span":null},"id":6837,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":88,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":64}},{"Ident":["default",0]}],"span":{"data":{"file_id":7,"beg":{"line":440,"col":4},"end":{"line":442,"col":5}},"generated_from_span":null},"source_text":"fn default() -> EdwardsPoint {\n EdwardsPoint::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":64,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":440,"col":4},"end":{"line":442,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":440,"col":20},"end":{"line":440,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":442,"col":5},"end":{"line":442,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":441,"col":8},"end":{"line":441,"col":32}},"generated_from_span":null},"id":6838,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":87}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":442,"col":5},"end":{"line":442,"col":5}},"generated_from_span":null},"id":6839,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":89,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}},{"Ident":["is_valid",0]}],"span":{"data":{"file_id":7,"beg":{"line":474,"col":4},"end":{"line":479,"col":5}},"generated_from_span":null},"source_text":"fn is_valid(&self) -> bool {\n let point_on_curve = self.as_projective().is_valid();\n let on_segre_image = (&self.X * &self.Y) == (&self.Z * &self.T);\n\n point_on_curve && on_segre_image\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":65,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":474,"col":4},"end":{"line":479,"col":5}},"generated_from_span":null},"bound_body_regions":26,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":474,"col":26},"end":{"line":474,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":474,"col":16},"end":{"line":474,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"point_on_curve","span":{"data":{"file_id":7,"beg":{"line":475,"col":12},"end":{"line":475,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"ty":{"HashConsedValue":[4434,{"Ref":[{"Body":3},{"Deduplicated":1819},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[4435,{"Ref":[{"Body":4},{"Deduplicated":1955},"Shared"]}]}},{"index":6,"name":"on_segre_image","span":{"data":{"file_id":7,"beg":{"line":476,"col":12},"end":{"line":476,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":30},"end":{"line":476,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":53},"end":{"line":476,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1470}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":475,"col":12},"end":{"line":479,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":475,"col":12},"end":{"line":475,"col":26}},"generated_from_span":null},"id":6840,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6841,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6842,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":33}},"generated_from_span":null},"id":6843,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":33}},"generated_from_span":null},"id":6844,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6845,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":94}},"generics":{"regions":[{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6846,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4434}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":48},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6847,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":60}},"generated_from_span":null},"id":6848,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":50}},"generics":{"regions":[{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4434}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":59},"end":{"line":475,"col":60}},"generated_from_span":null},"id":6849,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":60},"end":{"line":475,"col":61}},"generated_from_span":null},"id":6850,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":12},"end":{"line":476,"col":26}},"generated_from_span":null},"id":6851,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6852,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6853,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":30},"end":{"line":476,"col":37}},"generated_from_span":null},"id":6854,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":30},"end":{"line":476,"col":37}},"generated_from_span":null},"id":6855,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"id":6856,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"id":6857,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"id":6858,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"id":6859,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6860,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":18},{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6861,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":47},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6862,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":47},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6863,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6864,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6865,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":53},"end":{"line":476,"col":60}},"generated_from_span":null},"id":6866,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":53},"end":{"line":476,"col":60}},"generated_from_span":null},"id":6867,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"id":6868,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"id":6869,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"id":6870,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"id":6871,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6872,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":20},{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6873,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":70},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6874,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":70},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6875,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6876,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":24},{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":70},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6877,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":70},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6878,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":71},"end":{"line":476,"col":72}},"generated_from_span":null},"id":6879,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":71},"end":{"line":476,"col":72}},"generated_from_span":null},"id":6880,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":71},"end":{"line":476,"col":72}},"generated_from_span":null},"id":6881,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":71},"end":{"line":476,"col":72}},"generated_from_span":null},"id":6882,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":22}},"generated_from_span":null},"id":6883,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":22}},"generated_from_span":null},"id":6884,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1470}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":40}},"generated_from_span":null},"id":6889,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":40}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":478,"col":26},"end":{"line":478,"col":40}},"generated_from_span":null},"id":6885,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1470}},{"Use":[{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]}]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":40}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":40}},"generated_from_span":null},"id":6887,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":false}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":39},"end":{"line":478,"col":40}},"generated_from_span":null},"id":6890,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":479,"col":4},"end":{"line":479,"col":5}},"generated_from_span":null},"id":6891,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":479,"col":4},"end":{"line":479,"col":5}},"generated_from_span":null},"id":6892,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":479,"col":5},"end":{"line":479,"col":5}},"generated_from_span":null},"id":6893,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":90,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":7,"beg":{"line":487,"col":4},"end":{"line":494,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(a: &EdwardsPoint, b: &EdwardsPoint, choice: Choice) -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::conditional_select(&a.X, &b.X, choice),\n Y: FieldElement::conditional_select(&a.Y, &b.Y, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T: FieldElement::conditional_select(&a.T, &b.T, choice),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":10090},{"Deduplicated":1496}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":66,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":487,"col":4},"end":{"line":494,"col":5}},"generated_from_span":null},"bound_body_regions":36,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":487,"col":81},"end":{"line":487,"col":93}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a","span":{"data":{"file_id":7,"beg":{"line":487,"col":26},"end":{"line":487,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"b","span":{"data":{"file_id":7,"beg":{"line":487,"col":44},"end":{"line":487,"col":45}},"generated_from_span":null},"ty":{"HashConsedValue":[4436,{"Ref":[{"Body":2},{"Deduplicated":1955},"Shared"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":7,"beg":{"line":487,"col":62},"end":{"line":487,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":15},"end":{"line":489,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":60},"end":{"line":489,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":15},"end":{"line":490,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":60},"end":{"line":490,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":15},"end":{"line":491,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":60},"end":{"line":491,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":15},"end":{"line":492,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":24,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":25,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":26,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":27,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":60},"end":{"line":492,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":488,"col":8},"end":{"line":494,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":489,"col":15},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6894,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"id":6895,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"id":6896,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"id":6897,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"id":6898,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"id":6899,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"id":6900,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"id":6901,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"id":6902,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":60},"end":{"line":489,"col":66}},"generated_from_span":null},"id":6903,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":60},"end":{"line":489,"col":66}},"generated_from_span":null},"id":6904,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":15},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6905,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":22},{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":66},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6906,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":66},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6907,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":66},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6908,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":15},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6909,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"id":6910,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"id":6911,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"id":6912,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"id":6913,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"id":6914,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"id":6915,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"id":6916,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"id":6917,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":60},"end":{"line":490,"col":66}},"generated_from_span":null},"id":6918,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":60},"end":{"line":490,"col":66}},"generated_from_span":null},"id":6919,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":15},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6920,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":66},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6921,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":66},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6922,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":66},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6923,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":15},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6924,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"id":6925,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"id":6926,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"id":6927,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"id":6928,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"id":6929,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"id":6930,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"id":6931,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"id":6932,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":60},"end":{"line":491,"col":66}},"generated_from_span":null},"id":6933,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":60},"end":{"line":491,"col":66}},"generated_from_span":null},"id":6934,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":15},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6935,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":66},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6936,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":66},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6937,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":66},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6938,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":15},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6939,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"id":6940,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"id":6941,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"id":6942,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"id":6943,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"id":6944,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"id":6945,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"id":6946,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"id":6947,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":60},"end":{"line":492,"col":66}},"generated_from_span":null},"id":6948,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":60},"end":{"line":492,"col":66}},"generated_from_span":null},"id":6949,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":15},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6950,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2899}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":66},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6951,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":66},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6952,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":66},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6953,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":488,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6954,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6955,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6956,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6957,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6958,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6959,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6960,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6961,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6962,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6963,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6964,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6965,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6966,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":494,"col":5},"end":{"line":494,"col":5}},"generated_from_span":null},"id":6967,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":91,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":67}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":502,"col":4},"end":{"line":511,"col":5}},"generated_from_span":null},"source_text":"fn ct_eq(&self, other: &EdwardsPoint) -> Choice {\n // We would like to check that the point (X/Z, Y/Z) is equal to\n // the point (X'/Z', Y'/Z') without converting into affine\n // coordinates (x, y) and (x', y'), which requires two inversions.\n // We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to\n // (xZ)Z' = (x'Z')Z, and similarly for the y-coordinate.\n\n (&self.X * &other.Z).ct_eq(&(&other.X * &self.Z))\n & (&self.Y * &other.Z).ct_eq(&(&other.Y * &self.Z))\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":10090}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":67,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":502,"col":4},"end":{"line":511,"col":5}},"generated_from_span":null},"bound_body_regions":38,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":502,"col":45},"end":{"line":502,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":502,"col":13},"end":{"line":502,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":502,"col":20},"end":{"line":502,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":9},"end":{"line":509,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":36},"end":{"line":509,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":37},"end":{"line":509,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":15},"end":{"line":510,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":23,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":42},"end":{"line":510,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":43},"end":{"line":510,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":25,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":26,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":2902}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":511,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":57}},"generated_from_span":null},"id":6968,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6969,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6970,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":9},"end":{"line":509,"col":16}},"generated_from_span":null},"id":6971,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":9},"end":{"line":509,"col":16}},"generated_from_span":null},"id":6972,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["We would like to check that the point (X/Z, Y/Z) is equal to","the point (X'/Z', Y'/Z') without converting into affine","coordinates (x, y) and (x', y'), which requires two inversions.","We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to","(xZ)Z' = (x'Z')Z, and similarly for the y-coordinate."]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"id":6973,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"id":6974,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"id":6975,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"id":6976,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6977,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":22},{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6978,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":27},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6979,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":27},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6980,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6981,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6982,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":36},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6983,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":37},"end":{"line":509,"col":45}},"generated_from_span":null},"id":6984,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":37},"end":{"line":509,"col":45}},"generated_from_span":null},"id":6985,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"id":6986,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"id":6987,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"id":6988,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"id":6989,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":36},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6990,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":24},{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":55},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6991,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":55},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6992,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6993,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6994,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":57}},"generated_from_span":null},"id":6995,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":28},{"Body":29}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":56},"end":{"line":509,"col":57}},"generated_from_span":null},"id":6996,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":56},"end":{"line":509,"col":57}},"generated_from_span":null},"id":6997,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":63}},"generated_from_span":null},"id":6998,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"id":6999,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7000,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":15},"end":{"line":510,"col":22}},"generated_from_span":null},"id":7001,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":15},"end":{"line":510,"col":22}},"generated_from_span":null},"id":7002,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"id":7003,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"id":7004,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"id":7005,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"id":7006,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7007,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7008,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Local":17},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":33},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7009,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":33},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7010,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7011,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7012,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":42},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7013,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":43},"end":{"line":510,"col":51}},"generated_from_span":null},"id":7014,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":43},"end":{"line":510,"col":51}},"generated_from_span":null},"id":7015,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"id":7016,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"id":7017,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"id":7018,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"id":7019,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":42},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7020,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":61},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7021,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":61},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7022,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7023,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7024,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7025,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":36},{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7026,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7027,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7028,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":196}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7029,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7030,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7031,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7032,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7033,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7034,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7035,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7036,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7037,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7038,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7039,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7040,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":511,"col":5},"end":{"line":511,"col":5}},"generated_from_span":null},"id":7041,"kind":"Return","comments_before":[]}]},"comments":[[508,["We would like to check that the point (X/Z, Y/Z) is equal to","the point (X'/Z', Y'/Z') without converting into affine","coordinates (x, y) and (x', y'), which requires two inversions.","We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to","(xZ)Z' = (x'Z')Z, and similarly for the y-coordinate."]]]}}},{"def_id":92,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}},{"Ident":["eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":515,"col":4},"end":{"line":517,"col":5}},"generated_from_span":null},"source_text":"fn eq(&self, other: &EdwardsPoint) -> bool {\n self.ct_eq(other).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":10090}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":68,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":515,"col":4},"end":{"line":517,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":515,"col":42},"end":{"line":515,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":515,"col":10},"end":{"line":515,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":515,"col":17},"end":{"line":515,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[4454,{"Ref":[{"Body":3},{"Deduplicated":1955},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":516,"col":19},"end":{"line":516,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":517,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":25}},"generated_from_span":null},"id":7042,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":12}},"generated_from_span":null},"id":7043,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":12}},"generated_from_span":null},"id":7044,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":19},"end":{"line":516,"col":24}},"generated_from_span":null},"id":7045,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":19},"end":{"line":516,"col":24}},"generated_from_span":null},"id":7046,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":25}},"generated_from_span":null},"id":7047,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":91}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":24},"end":{"line":516,"col":25}},"generated_from_span":null},"id":7048,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":24},"end":{"line":516,"col":25}},"generated_from_span":null},"id":7049,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":32}},"generated_from_span":null},"id":7050,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":31},"end":{"line":516,"col":32}},"generated_from_span":null},"id":7051,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":517,"col":5},"end":{"line":517,"col":5}},"generated_from_span":null},"id":7052,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":93,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective_niels",0]}],"span":{"data":{"file_id":7,"beg":{"line":528,"col":4},"end":{"line":535,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn as_projective_niels(&self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: &self.Y + &self.X,\n Y_minus_X: &self.Y - &self.X,\n Z: self.Z,\n T2d: &self.T * &constants::EDWARDS_D2,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert to a ProjectiveNielsPoint"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1865}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":528,"col":4},"end":{"line":535,"col":5}},"generated_from_span":null},"bound_body_regions":21,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":528,"col":48},"end":{"line":528,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":528,"col":38},"end":{"line":528,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":532,"col":15},"end":{"line":532,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":28},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":531,"col":40}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7053,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7054,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":29}},"generated_from_span":null},"id":7055,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":29}},"generated_from_span":null},"id":7056,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7057,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7058,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7059,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7060,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7061,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":13},{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":38},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7062,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":38},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7063,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7064,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":30}},"generated_from_span":null},"id":7065,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":30}},"generated_from_span":null},"id":7066,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7067,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7068,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7069,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7070,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7071,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7072,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7073,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":28},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7074,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":28},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7075,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":86,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7076,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7077,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2898}},{"Use":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2901}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":39},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7078,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":39},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7079,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":532,"col":15},"end":{"line":532,"col":21}},"generated_from_span":null},"id":7080,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":532,"col":15},"end":{"line":532,"col":21}},"generated_from_span":null},"id":7081,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7082,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":24}},"generated_from_span":null},"id":7083,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":24}},"generated_from_span":null},"id":7084,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7085,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7086,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7087,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Use":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2898}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7088,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7089,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7090,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":18},{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":48},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7091,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":48},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7092,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":529,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7093,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7094,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7095,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7096,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7097,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7098,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7099,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7100,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":535,"col":5},"end":{"line":535,"col":5}},"generated_from_span":null},"id":7101,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":94,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective",0]}],"span":{"data":{"file_id":7,"beg":{"line":541,"col":4},"end":{"line":547,"col":5}},"generated_from_span":null},"source_text":"pub(crate) const fn as_projective(&self) -> ProjectivePoint {\n ProjectivePoint {\n X: self.X,\n Y: self.Y,\n Z: self.Z,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert the representation of this point from extended"},{"DocComment":" coordinates to projective coordinates."},{"DocComment":""},{"DocComment":" Free."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1819}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":541,"col":4},"end":{"line":547,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":541,"col":48},"end":{"line":541,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":541,"col":38},"end":{"line":541,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":543,"col":15},"end":{"line":543,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":544,"col":15},"end":{"line":544,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":545,"col":15},"end":{"line":545,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":542,"col":8},"end":{"line":547,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":543,"col":15},"end":{"line":543,"col":21}},"generated_from_span":null},"id":7102,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":543,"col":15},"end":{"line":543,"col":21}},"generated_from_span":null},"id":7103,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":544,"col":15},"end":{"line":544,"col":21}},"generated_from_span":null},"id":7104,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":544,"col":15},"end":{"line":544,"col":21}},"generated_from_span":null},"id":7105,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":545,"col":15},"end":{"line":545,"col":21}},"generated_from_span":null},"id":7106,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":545,"col":15},"end":{"line":545,"col":21}},"generated_from_span":null},"id":7107,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":542,"col":8},"end":{"line":546,"col":9}},"generated_from_span":null},"id":7108,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Aggregate":[{"Adt":[{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":546,"col":8},"end":{"line":546,"col":9}},"generated_from_span":null},"id":7109,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":546,"col":8},"end":{"line":546,"col":9}},"generated_from_span":null},"id":7110,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":546,"col":8},"end":{"line":546,"col":9}},"generated_from_span":null},"id":7111,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":547,"col":5},"end":{"line":547,"col":5}},"generated_from_span":null},"id":7112,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":95,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_affine_niels",0]}],"span":{"data":{"file_id":7,"beg":{"line":551,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn as_affine_niels(&self) -> AffineNielsPoint {\n let recip = self.Z.invert();\n let x = &self.X * &recip;\n let y = &self.Y * &recip;\n let xy2d = &(&x * &y) * &constants::EDWARDS_D2;\n AffineNielsPoint {\n y_plus_x: &y + &x,\n y_minus_x: &y - &x,\n xy2d,\n }\n }","attr_info":{"attributes":[{"DocComment":" Dehomogenize to a `AffineNielsPoint`."},{"DocComment":" Mainly for testing."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1842}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":551,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"bound_body_regions":39,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":551,"col":44},"end":{"line":551,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1842}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":551,"col":34},"end":{"line":551,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"recip","span":{"data":{"file_id":7,"beg":{"line":552,"col":12},"end":{"line":552,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":552,"col":20},"end":{"line":552,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":"x","span":{"data":{"file_id":7,"beg":{"line":553,"col":12},"end":{"line":553,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":553,"col":16},"end":{"line":553,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":"y","span":{"data":{"file_id":7,"beg":{"line":554,"col":12},"end":{"line":554,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":554,"col":16},"end":{"line":554,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":"xy2d","span":{"data":{"file_id":7,"beg":{"line":555,"col":12},"end":{"line":555,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":19},"end":{"line":555,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":20},"end":{"line":555,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":21},"end":{"line":555,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":23,"name":null,"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":24,"name":null,"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":25,"name":null,"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":26,"name":null,"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":27,"name":null,"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":28,"name":null,"span":{"data":{"file_id":7,"beg":{"line":559,"col":12},"end":{"line":559,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":29,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":31,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":32,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":33},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":552,"col":12},"end":{"line":555,"col":29}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":552,"col":12},"end":{"line":552,"col":17}},"generated_from_span":null},"id":7113,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":12},"end":{"line":552,"col":17}},"generated_from_span":null},"id":7114,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":20},"end":{"line":552,"col":26}},"generated_from_span":null},"id":7115,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":20},"end":{"line":552,"col":26}},"generated_from_span":null},"id":7116,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":20},"end":{"line":552,"col":35}},"generated_from_span":null},"id":7117,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":34},"end":{"line":552,"col":35}},"generated_from_span":null},"id":7118,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":12},"end":{"line":553,"col":13}},"generated_from_span":null},"id":7119,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":16},"end":{"line":553,"col":23}},"generated_from_span":null},"id":7120,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":16},"end":{"line":553,"col":23}},"generated_from_span":null},"id":7121,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7122,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7123,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7124,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7125,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":16},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7126,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":25},{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":31},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7127,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":31},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7128,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":32},"end":{"line":553,"col":33}},"generated_from_span":null},"id":7129,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":12},"end":{"line":554,"col":13}},"generated_from_span":null},"id":7130,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":16},"end":{"line":554,"col":23}},"generated_from_span":null},"id":7131,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":16},"end":{"line":554,"col":23}},"generated_from_span":null},"id":7132,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7133,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7134,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7135,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7136,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":16},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7137,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":27},{"Body":28}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":31},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7138,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":31},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7139,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":32},"end":{"line":554,"col":33}},"generated_from_span":null},"id":7140,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":12},"end":{"line":555,"col":16}},"generated_from_span":null},"id":7141,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":19},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7142,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":20},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7143,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":21},"end":{"line":555,"col":23}},"generated_from_span":null},"id":7144,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":21},"end":{"line":555,"col":23}},"generated_from_span":null},"id":7145,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"id":7146,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"id":7147,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"id":7148,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"id":7149,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":20},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7150,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":29},{"Body":30}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7151,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7152,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":33},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7153,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":33},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7154,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":86,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7155,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Local":32},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7156,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2912}},{"Use":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":2919}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":28},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7157,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":28},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7158,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":19},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7159,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7160,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7161,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7162,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2903}},{"Use":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":2912}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7163,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7164,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":19},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7165,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":2895}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":53},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7166,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":53},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7167,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":54},"end":{"line":555,"col":55}},"generated_from_span":null},"id":7168,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":54},"end":{"line":555,"col":55}},"generated_from_span":null},"id":7169,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":54},"end":{"line":555,"col":55}},"generated_from_span":null},"id":7170,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7171,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":24}},"generated_from_span":null},"id":7172,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":24}},"generated_from_span":null},"id":7173,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7174,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7175,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7176,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7177,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":23},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7178,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":28},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7179,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":28},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7180,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7181,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":25}},"generated_from_span":null},"id":7182,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":25}},"generated_from_span":null},"id":7183,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7184,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7185,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7186,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7187,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":27},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7188,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":36},{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":24},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":29},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7189,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":29},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7190,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":559,"col":12},"end":{"line":559,"col":16}},"generated_from_span":null},"id":7191,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":559,"col":12},"end":{"line":559,"col":16}},"generated_from_span":null},"id":7192,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":556,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7193,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7194,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7195,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7196,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7197,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7198,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7199,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7200,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7201,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7202,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":5},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7203,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":96,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["to_affine",0]}],"span":{"data":{"file_id":7,"beg":{"line":564,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn to_affine(self) -> AffinePoint {\n let recip = self.Z.invert();\n let x = &self.X * &recip;\n let y = &self.Y * &recip;\n AffinePoint { x, y }\n }","attr_info":{"attributes":[{"DocComment":" Dehomogenize to `AffinePoint`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955}],"output":{"Deduplicated":4121}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":564,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"bound_body_regions":14,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":564,"col":37},"end":{"line":564,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":564,"col":28},"end":{"line":564,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"recip","span":{"data":{"file_id":7,"beg":{"line":565,"col":12},"end":{"line":565,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":565,"col":20},"end":{"line":565,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":4,"name":"x","span":{"data":{"file_id":7,"beg":{"line":566,"col":12},"end":{"line":566,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":566,"col":16},"end":{"line":566,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":8,"name":"y","span":{"data":{"file_id":7,"beg":{"line":567,"col":12},"end":{"line":567,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":567,"col":16},"end":{"line":567,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":568,"col":22},"end":{"line":568,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":568,"col":25},"end":{"line":568,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":565,"col":12},"end":{"line":569,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":565,"col":12},"end":{"line":565,"col":17}},"generated_from_span":null},"id":7204,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":565,"col":20},"end":{"line":565,"col":26}},"generated_from_span":null},"id":7205,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":565,"col":20},"end":{"line":565,"col":26}},"generated_from_span":null},"id":7206,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2793}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":565,"col":20},"end":{"line":565,"col":35}},"generated_from_span":null},"id":7207,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":9}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2793}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":565,"col":34},"end":{"line":565,"col":35}},"generated_from_span":null},"id":7208,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":12},"end":{"line":566,"col":13}},"generated_from_span":null},"id":7209,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":16},"end":{"line":566,"col":23}},"generated_from_span":null},"id":7210,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":16},"end":{"line":566,"col":23}},"generated_from_span":null},"id":7211,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7212,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7213,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7214,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7215,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2796}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":16},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7216,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":10},{"Body":11}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2794}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":31},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7217,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":31},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7218,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":32},"end":{"line":566,"col":33}},"generated_from_span":null},"id":7219,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":12},"end":{"line":567,"col":13}},"generated_from_span":null},"id":7220,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":16},"end":{"line":567,"col":23}},"generated_from_span":null},"id":7221,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":16},"end":{"line":567,"col":23}},"generated_from_span":null},"id":7222,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7223,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7224,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7225,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7226,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":16},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7227,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":31},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7228,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":31},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7229,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":32},"end":{"line":567,"col":33}},"generated_from_span":null},"id":7230,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":22},"end":{"line":568,"col":23}},"generated_from_span":null},"id":7231,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":22},"end":{"line":568,"col":23}},"generated_from_span":null},"id":7232,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":25},"end":{"line":568,"col":26}},"generated_from_span":null},"id":7233,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":25},"end":{"line":568,"col":26}},"generated_from_span":null},"id":7234,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":8},"end":{"line":568,"col":28}},"generated_from_span":null},"id":7235,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4121}},{"Aggregate":[{"Adt":[{"id":{"Adt":10},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":27},"end":{"line":568,"col":28}},"generated_from_span":null},"id":7236,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":27},"end":{"line":568,"col":28}},"generated_from_span":null},"id":7237,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":569,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"id":7238,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":569,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"id":7239,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":569,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"id":7240,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":569,"col":5},"end":{"line":569,"col":5}},"generated_from_span":null},"id":7241,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":97,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["to_montgomery",0]}],"span":{"data":{"file_id":7,"beg":{"line":580,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"source_text":"pub fn to_montgomery(&self) -> MontgomeryPoint {\n // We have u = (1+y)/(1-y) = (Z+Y)/(Z-Y).\n //\n // The denominator is zero only when y=1, the identity point of\n // the Edwards curve. Since 0.invert() = 0, in this case we\n // compute the 2-torsion point (0,0).\n let U = &self.Z + &self.Y;\n let W = &self.Z - &self.Y;\n let u = &U * &W.invert();\n MontgomeryPoint(u.to_bytes())\n }","attr_info":{"attributes":[{"DocComment":" Convert this `EdwardsPoint` on the Edwards model to the"},{"DocComment":" corresponding `MontgomeryPoint` on the Montgomery model."},{"DocComment":""},{"DocComment":" This function has one exceptional case; the identity point of"},{"DocComment":" the Edwards curve is sent to the 2-torsion point \\\\((0,0)\\\\)"},{"DocComment":" on the Montgomery curve."},{"DocComment":""},{"DocComment":" Note that this is a one-way conversion, since the Montgomery"},{"DocComment":" model does not retain sign information."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"HashConsedValue":[4514,{"Adt":{"id":{"Adt":32},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":580,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"bound_body_regions":21,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":580,"col":35},"end":{"line":580,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":4514}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":580,"col":25},"end":{"line":580,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"U","span":{"data":{"file_id":7,"beg":{"line":586,"col":12},"end":{"line":586,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":586,"col":16},"end":{"line":586,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":"W","span":{"data":{"file_id":7,"beg":{"line":587,"col":12},"end":{"line":587,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":587,"col":16},"end":{"line":587,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":"u","span":{"data":{"file_id":7,"beg":{"line":588,"col":12},"end":{"line":588,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":16},"end":{"line":588,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":586,"col":12},"end":{"line":590,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":586,"col":12},"end":{"line":586,"col":13}},"generated_from_span":null},"id":7242,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":16},"end":{"line":586,"col":23}},"generated_from_span":null},"id":7243,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":16},"end":{"line":586,"col":23}},"generated_from_span":null},"id":7244,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["We have u = (1+y)/(1-y) = (Z+Y)/(Z-Y).","","The denominator is zero only when y=1, the identity point of","the Edwards curve. Since 0.invert() = 0, in this case we","compute the 2-torsion point (0,0)."]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7245,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7246,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7247,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7248,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":16},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7249,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":13},{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":32},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7250,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":32},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7251,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":33},"end":{"line":586,"col":34}},"generated_from_span":null},"id":7252,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":12},"end":{"line":587,"col":13}},"generated_from_span":null},"id":7253,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":16},"end":{"line":587,"col":23}},"generated_from_span":null},"id":7254,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":16},"end":{"line":587,"col":23}},"generated_from_span":null},"id":7255,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7256,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7257,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7258,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7259,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":16},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7260,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":32},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7261,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":32},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7262,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":33},"end":{"line":587,"col":34}},"generated_from_span":null},"id":7263,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":12},"end":{"line":588,"col":13}},"generated_from_span":null},"id":7264,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":16},"end":{"line":588,"col":18}},"generated_from_span":null},"id":7265,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":16},"end":{"line":588,"col":18}},"generated_from_span":null},"id":7266,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7267,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7268,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7269,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":23}},"generated_from_span":null},"id":7270,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":23}},"generated_from_span":null},"id":7271,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7272,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":31},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7273,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7274,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7275,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":16},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7276,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":19},{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":31},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7277,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":31},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7278,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":32},"end":{"line":588,"col":33}},"generated_from_span":null},"id":7279,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":32},"end":{"line":588,"col":33}},"generated_from_span":null},"id":7280,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":36}},"generated_from_span":null},"id":7281,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":25}},"generated_from_span":null},"id":7282,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":25}},"generated_from_span":null},"id":7283,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":36}},"generated_from_span":null},"id":7284,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":35},"end":{"line":589,"col":36}},"generated_from_span":null},"id":7285,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":8},"end":{"line":589,"col":37}},"generated_from_span":null},"id":7286,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4514}},{"Aggregate":[{"Adt":[{"id":{"Adt":32},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":36},"end":{"line":589,"col":37}},"generated_from_span":null},"id":7287,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":590,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"id":7288,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":590,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"id":7289,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":590,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"id":7290,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":590,"col":5},"end":{"line":590,"col":5}},"generated_from_span":null},"id":7291,"kind":"Return","comments_before":[]}]},"comments":[[586,["We have u = (1+y)/(1-y) = (Z+Y)/(Z-Y).","","The denominator is zero only when y=1, the identity point of","the Edwards curve. Since 0.invert() = 0, in this case we","compute the 2-torsion point (0,0)."]]]}}},{"def_id":98,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["compress",0]}],"span":{"data":{"file_id":7,"beg":{"line":615,"col":4},"end":{"line":617,"col":5}},"generated_from_span":null},"source_text":"pub fn compress(&self) -> CompressedEdwardsY {\n self.to_affine().compress()\n }","attr_info":{"attributes":[{"DocComment":" Compress this point to `CompressedEdwardsY` format."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":2116}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":615,"col":4},"end":{"line":617,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":615,"col":30},"end":{"line":615,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2116}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":615,"col":20},"end":{"line":615,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":617,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":24}},"generated_from_span":null},"id":7292,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":12}},"generated_from_span":null},"id":7293,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":12}},"generated_from_span":null},"id":7294,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":24}},"generated_from_span":null},"id":7295,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":96}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":4121}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":23},"end":{"line":616,"col":24}},"generated_from_span":null},"id":7296,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":35}},"generated_from_span":null},"id":7297,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":173}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4121}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":2116}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":34},"end":{"line":616,"col":35}},"generated_from_span":null},"id":7298,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":617,"col":5},"end":{"line":617,"col":5}},"generated_from_span":null},"id":7299,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":99,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["double",0]}],"span":{"data":{"file_id":7,"beg":{"line":774,"col":4},"end":{"line":776,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn double(&self) -> EdwardsPoint {\n self.as_projective().double().as_extended()\n }","attr_info":{"attributes":[{"DocComment":" Add this point to itself."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":774,"col":4},"end":{"line":776,"col":5}},"generated_from_span":null},"bound_body_regions":13,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":774,"col":35},"end":{"line":774,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":774,"col":25},"end":{"line":774,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[4516,{"Ref":[{"Body":3},{"Deduplicated":1831},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[4518,{"Ref":[{"Body":5},{"Deduplicated":1819},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[4519,{"Ref":[{"Body":6},{"Deduplicated":1955},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":776,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7300,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7301,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7302,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7303,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":12}},"generated_from_span":null},"id":7304,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":12}},"generated_from_span":null},"id":7305,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7306,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":94}},"generics":{"regions":[{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7307,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4518}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":27},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7308,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7309,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":61}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4518}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7310,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":4516}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":36},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7311,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":51}},"generated_from_span":null},"id":7312,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4516}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":50},"end":{"line":775,"col":51}},"generated_from_span":null},"id":7313,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":50},"end":{"line":775,"col":51}},"generated_from_span":null},"id":7314,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":50},"end":{"line":775,"col":51}},"generated_from_span":null},"id":7315,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":776,"col":5},"end":{"line":776,"col":5}},"generated_from_span":null},"id":7316,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":100,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}},{"Ident":["add",0]}],"span":{"data":{"file_id":7,"beg":{"line":785,"col":4},"end":{"line":787,"col":5}},"generated_from_span":null},"source_text":"fn add(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self + &other.as_projective_niels()).as_extended()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10090},{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":70,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":785,"col":4},"end":{"line":787,"col":5}},"generated_from_span":null},"bound_body_regions":15,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":785,"col":45},"end":{"line":785,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":785,"col":11},"end":{"line":785,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":785,"col":17},"end":{"line":785,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"ty":{"HashConsedValue":[4520,{"Ref":[{"Body":4},{"Deduplicated":1831},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":9},"end":{"line":786,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[4521,{"Ref":[{"Body":5},{"Deduplicated":1955},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":16},"end":{"line":786,"col":44}},"generated_from_span":null},"ty":{"HashConsedValue":[4523,{"Ref":[{"Body":7},{"Deduplicated":1865},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[4524,{"Ref":[{"Body":8},{"Deduplicated":1955},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":787,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7317,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7318,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":9},"end":{"line":786,"col":13}},"generated_from_span":null},"id":7319,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":9},"end":{"line":786,"col":13}},"generated_from_span":null},"id":7320,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4521}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":16},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7321,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7322,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":22}},"generated_from_span":null},"id":7323,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":22}},"generated_from_span":null},"id":7324,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4524}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7325,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":93}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4524}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":43},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7326,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":16},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7327,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4523}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1865}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7328,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":62}},"generics":{"regions":[{"Body":11},{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4521}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4523}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7329,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4520}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":44},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7330,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":44},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7331,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":59}},"generated_from_span":null},"id":7332,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4520}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":58},"end":{"line":786,"col":59}},"generated_from_span":null},"id":7333,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":58},"end":{"line":786,"col":59}},"generated_from_span":null},"id":7334,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":58},"end":{"line":786,"col":59}},"generated_from_span":null},"id":7335,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":787,"col":5},"end":{"line":787,"col":5}},"generated_from_span":null},"id":7336,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":101,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}},{"Ident":["add",0]}],"span":{"data":{"file_id":8,"beg":{"line":19,"col":12},"end":{"line":21,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":71,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":19,"col":12},"end":{"line":21,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":793,"col":13},"end":{"line":793,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":19,"col":19},"end":{"line":19,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":19,"col":25},"end":{"line":19,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":20,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":20,"col":24},"end":{"line":20,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":21,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":20,"col":21}},"generated_from_span":null},"id":7337,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":20,"col":21}},"generated_from_span":null},"id":7338,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":24},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7339,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":24},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7340,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7341,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":100}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":26},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7342,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":26},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7343,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":21,"col":13},"end":{"line":21,"col":13}},"generated_from_span":null},"id":7344,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":102,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}},{"Ident":["add",0]}],"span":{"data":{"file_id":8,"beg":{"line":26,"col":12},"end":{"line":28,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":72,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10099},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":26,"col":12},"end":{"line":28,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":793,"col":13},"end":{"line":793,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":26,"col":19},"end":{"line":26,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":26,"col":25},"end":{"line":26,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":27,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":27,"col":23},"end":{"line":27,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":28,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":27,"col":20}},"generated_from_span":null},"id":7345,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":27,"col":20}},"generated_from_span":null},"id":7346,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":23},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7347,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":23},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7348,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7349,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":100}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":26},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7350,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":26},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7351,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":28,"col":13},"end":{"line":28,"col":13}},"generated_from_span":null},"id":7352,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":103,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}},{"Ident":["add",0]}],"span":{"data":{"file_id":8,"beg":{"line":33,"col":12},"end":{"line":35,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":73,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":33,"col":12},"end":{"line":35,"col":13}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":793,"col":13},"end":{"line":793,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":33,"col":19},"end":{"line":33,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":33,"col":25},"end":{"line":33,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":34,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":34,"col":24},"end":{"line":34,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4436}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":35,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":34,"col":21}},"generated_from_span":null},"id":7353,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":34,"col":21}},"generated_from_span":null},"id":7354,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3931}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":24},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7355,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":24},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7356,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7357,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":100}},"generics":{"regions":[{"Body":3},{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3931}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":27},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7358,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":27},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7359,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":35,"col":13},"end":{"line":35,"col":13}},"generated_from_span":null},"id":7360,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":104,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}},{"Ident":["add_assign",0]}],"span":{"data":{"file_id":7,"beg":{"line":797,"col":4},"end":{"line":799,"col":5}},"generated_from_span":null},"source_text":"fn add_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) + _rhs;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10244,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1955},"Mut"]}]},{"Deduplicated":10099}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":74,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10099}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":797,"col":4},"end":{"line":799,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":797,"col":52},"end":{"line":797,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":797,"col":18},"end":{"line":797,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[4529,{"Ref":[{"Body":1},{"Deduplicated":1955},"Mut"]}]}},{"index":2,"name":"_rhs","span":{"data":{"file_id":7,"beg":{"line":797,"col":29},"end":{"line":797,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":798,"col":42},"end":{"line":798,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":4519}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7361,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7362,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"id":7363,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"id":7364,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":17},"end":{"line":798,"col":21}},"generated_from_span":null},"id":7365,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4521}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"id":7366,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":4521}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":42},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7367,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":42},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7368,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7369,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":100}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":45},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7370,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":45},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7371,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":8},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7372,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":45},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7373,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":46},"end":{"line":798,"col":47}},"generated_from_span":null},"id":7374,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":797,"col":53},"end":{"line":799,"col":5}},"generated_from_span":null},"id":7375,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":799,"col":5},"end":{"line":799,"col":5}},"generated_from_span":null},"id":7376,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":105,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}},{"Ident":["add_assign",0]}],"span":{"data":{"file_id":8,"beg":{"line":44,"col":12},"end":{"line":46,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10245,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1955},"Mut"]}]},{"Deduplicated":1955}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":75,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":44,"col":12},"end":{"line":46,"col":13}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":8,"beg":{"line":44,"col":47},"end":{"line":44,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":44,"col":26},"end":{"line":44,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":44,"col":37},"end":{"line":44,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[4530,{"Ref":[{"Body":2},{"Deduplicated":1955},"Mut"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":8,"beg":{"line":45,"col":25},"end":{"line":45,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7377,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7378,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":21}},"generated_from_span":null},"id":7379,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":21}},"generated_from_span":null},"id":7380,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4530}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":25},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7381,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":25},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7382,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7383,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":104}},"generics":{"regions":[{"Body":5},{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4530}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":28},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7384,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":28},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7385,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":29},"end":{"line":45,"col":30}},"generated_from_span":null},"id":7386,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":44,"col":48},"end":{"line":46,"col":13}},"generated_from_span":null},"id":7387,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":46,"col":13},"end":{"line":46,"col":13}},"generated_from_span":null},"id":7388,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":106,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}},{"Ident":["sub",0]}],"span":{"data":{"file_id":7,"beg":{"line":806,"col":4},"end":{"line":808,"col":5}},"generated_from_span":null},"source_text":"fn sub(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self - &other.as_projective_niels()).as_extended()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10090},{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":76,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":806,"col":4},"end":{"line":808,"col":5}},"generated_from_span":null},"bound_body_regions":15,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":806,"col":45},"end":{"line":806,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":806,"col":11},"end":{"line":806,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":806,"col":17},"end":{"line":806,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":4520}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":9},"end":{"line":807,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":16},"end":{"line":807,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4523}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4524}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":808,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7389,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7390,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":9},"end":{"line":807,"col":13}},"generated_from_span":null},"id":7391,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":9},"end":{"line":807,"col":13}},"generated_from_span":null},"id":7392,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4521}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":16},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7393,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7394,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":22}},"generated_from_span":null},"id":7395,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":22}},"generated_from_span":null},"id":7396,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4524}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7397,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":93}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4524}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":43},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7398,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":16},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7399,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4523}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1865}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7400,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":63}},"generics":{"regions":[{"Body":11},{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4521}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4523}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7401,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4520}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":44},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7402,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":44},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7403,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":59}},"generated_from_span":null},"id":7404,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4520}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":58},"end":{"line":807,"col":59}},"generated_from_span":null},"id":7405,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":58},"end":{"line":807,"col":59}},"generated_from_span":null},"id":7406,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":58},"end":{"line":807,"col":59}},"generated_from_span":null},"id":7407,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":808,"col":5},"end":{"line":808,"col":5}},"generated_from_span":null},"id":7408,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":107,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}},{"Ident":["sub",0]}],"span":{"data":{"file_id":8,"beg":{"line":56,"col":12},"end":{"line":58,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":77,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":56,"col":12},"end":{"line":58,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":814,"col":13},"end":{"line":814,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":56,"col":19},"end":{"line":56,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":56,"col":25},"end":{"line":56,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":57,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":57,"col":24},"end":{"line":57,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":58,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":57,"col":21}},"generated_from_span":null},"id":7409,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":57,"col":21}},"generated_from_span":null},"id":7410,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":24},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7411,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":24},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7412,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7413,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":106}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":26},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7414,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":26},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7415,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":58,"col":13},"end":{"line":58,"col":13}},"generated_from_span":null},"id":7416,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":108,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}},{"Ident":["sub",0]}],"span":{"data":{"file_id":8,"beg":{"line":63,"col":12},"end":{"line":65,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":78,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10099},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":63,"col":12},"end":{"line":65,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":814,"col":13},"end":{"line":814,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":63,"col":19},"end":{"line":63,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":63,"col":25},"end":{"line":63,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":64,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":64,"col":23},"end":{"line":64,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":65,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":64,"col":20}},"generated_from_span":null},"id":7417,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":64,"col":20}},"generated_from_span":null},"id":7418,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":23},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7419,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":23},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7420,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7421,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":106}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":26},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7422,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":26},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7423,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":65,"col":13},"end":{"line":65,"col":13}},"generated_from_span":null},"id":7424,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":109,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}},{"Ident":["sub",0]}],"span":{"data":{"file_id":8,"beg":{"line":70,"col":12},"end":{"line":72,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":79,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":70,"col":12},"end":{"line":72,"col":13}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":814,"col":13},"end":{"line":814,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":70,"col":19},"end":{"line":70,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":70,"col":25},"end":{"line":70,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":71,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":71,"col":24},"end":{"line":71,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4436}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":72,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":71,"col":21}},"generated_from_span":null},"id":7425,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":71,"col":21}},"generated_from_span":null},"id":7426,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3931}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":24},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7427,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":24},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7428,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7429,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":106}},"generics":{"regions":[{"Body":3},{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3931}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":27},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7430,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":27},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7431,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":72,"col":13},"end":{"line":72,"col":13}},"generated_from_span":null},"id":7432,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":110,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}},{"Ident":["sub_assign",0]}],"span":{"data":{"file_id":7,"beg":{"line":818,"col":4},"end":{"line":820,"col":5}},"generated_from_span":null},"source_text":"fn sub_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) - _rhs;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10244},{"Deduplicated":10099}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":80,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10099}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":818,"col":4},"end":{"line":820,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":818,"col":52},"end":{"line":818,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":818,"col":18},"end":{"line":818,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"_rhs","span":{"data":{"file_id":7,"beg":{"line":818,"col":29},"end":{"line":818,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":819,"col":42},"end":{"line":819,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":4519}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7433,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7434,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"id":7435,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"id":7436,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":17},"end":{"line":819,"col":21}},"generated_from_span":null},"id":7437,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4521}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"id":7438,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":4521}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":42},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7439,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":42},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7440,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7441,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":106}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":45},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7442,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":45},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7443,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":8},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7444,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":45},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7445,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":46},"end":{"line":819,"col":47}},"generated_from_span":null},"id":7446,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":818,"col":53},"end":{"line":820,"col":5}},"generated_from_span":null},"id":7447,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":820,"col":5},"end":{"line":820,"col":5}},"generated_from_span":null},"id":7448,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":111,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}},{"Ident":["sub_assign",0]}],"span":{"data":{"file_id":8,"beg":{"line":81,"col":12},"end":{"line":83,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10245},{"Deduplicated":1955}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":81,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":81,"col":12},"end":{"line":83,"col":13}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":8,"beg":{"line":81,"col":47},"end":{"line":81,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":81,"col":26},"end":{"line":81,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":81,"col":37},"end":{"line":81,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4530}},{"index":5,"name":null,"span":{"data":{"file_id":8,"beg":{"line":82,"col":25},"end":{"line":82,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7449,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7450,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":21}},"generated_from_span":null},"id":7451,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":21}},"generated_from_span":null},"id":7452,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4530}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":25},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7453,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":25},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7454,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7455,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":110}},"generics":{"regions":[{"Body":5},{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4530}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":28},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7456,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":28},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7457,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":29},"end":{"line":82,"col":30}},"generated_from_span":null},"id":7458,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":81,"col":48},"end":{"line":83,"col":13}},"generated_from_span":null},"id":7459,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":83,"col":13},"end":{"line":83,"col":13}},"generated_from_span":null},"id":7460,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":112,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":82}},{"Ident":["sum",0]}],"span":{"data":{"file_id":7,"beg":{"line":829,"col":4},"end":{"line":834,"col":5}},"generated_from_span":null},"source_text":"fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(EdwardsPoint::identity(), |acc, item| acc + item.borrow())\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":827,"col":7},"end":{"line":827,"col":27}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":7,"beg":{"line":831,"col":11},"end":{"line":831,"col":29}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10077}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":82,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10100,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":113,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}},{"Ident":["neg",0]}],"span":{"data":{"file_id":7,"beg":{"line":844,"col":4},"end":{"line":851,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> EdwardsPoint {\n EdwardsPoint {\n X: -(&self.X),\n Y: self.Y,\n Z: self.Z,\n T: -(&self.T),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":83,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":844,"col":4},"end":{"line":851,"col":5}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":844,"col":20},"end":{"line":844,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":844,"col":11},"end":{"line":844,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":846,"col":15},"end":{"line":846,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":846,"col":16},"end":{"line":846,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":847,"col":15},"end":{"line":847,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":848,"col":15},"end":{"line":848,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":849,"col":15},"end":{"line":849,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":849,"col":16},"end":{"line":849,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2796}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":845,"col":8},"end":{"line":851,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":846,"col":15},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7461,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":846,"col":16},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7462,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":846,"col":16},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7463,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":846,"col":15},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7464,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":846,"col":24},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7465,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":847,"col":15},"end":{"line":847,"col":21}},"generated_from_span":null},"id":7466,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":847,"col":15},"end":{"line":847,"col":21}},"generated_from_span":null},"id":7467,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":848,"col":15},"end":{"line":848,"col":21}},"generated_from_span":null},"id":7468,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":848,"col":15},"end":{"line":848,"col":21}},"generated_from_span":null},"id":7469,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":15},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7470,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":16},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7471,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":16},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7472,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":15},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7473,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":24},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7474,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":845,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7475,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":850,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7476,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":850,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7477,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":850,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7478,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":850,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7479,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":851,"col":5},"end":{"line":851,"col":5}},"generated_from_span":null},"id":7480,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":114,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}},{"Ident":["neg",0]}],"span":{"data":{"file_id":7,"beg":{"line":857,"col":4},"end":{"line":859,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> EdwardsPoint {\n -&self\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":84,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":857,"col":4},"end":{"line":859,"col":5}},"generated_from_span":null},"bound_body_regions":3,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":857,"col":20},"end":{"line":857,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":857,"col":11},"end":{"line":857,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":858,"col":9},"end":{"line":858,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":3931}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":858,"col":9},"end":{"line":859,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":858,"col":9},"end":{"line":858,"col":14}},"generated_from_span":null},"id":7481,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":858,"col":9},"end":{"line":858,"col":14}},"generated_from_span":null},"id":7482,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":3931}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":858,"col":8},"end":{"line":858,"col":14}},"generated_from_span":null},"id":7483,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":113}},"generics":{"regions":[{"Body":2}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":3931}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":858,"col":13},"end":{"line":858,"col":14}},"generated_from_span":null},"id":7484,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":859,"col":5},"end":{"line":859,"col":5}},"generated_from_span":null},"id":7485,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":115,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}},{"Ident":["mul_assign",0]}],"span":{"data":{"file_id":7,"beg":{"line":867,"col":4},"end":{"line":870,"col":5}},"generated_from_span":null},"source_text":"fn mul_assign(&mut self, scalar: &'a Scalar) {\n let result = (self as &EdwardsPoint) * scalar;\n *self = result;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10244},{"HashConsedValue":[10102,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[2689,{"Adt":{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":85,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10102}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":867,"col":4},"end":{"line":870,"col":5}},"generated_from_span":null},"bound_body_regions":10,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":867,"col":48},"end":{"line":867,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":867,"col":18},"end":{"line":867,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"scalar","span":{"data":{"file_id":7,"beg":{"line":867,"col":29},"end":{"line":867,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[6592,{"Ref":[{"Body":3},{"Deduplicated":2689},"Shared"]}]}},{"index":3,"name":"result","span":{"data":{"file_id":7,"beg":{"line":868,"col":12},"end":{"line":868,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4519}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":868,"col":47},"end":{"line":868,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[6593,{"Ref":[{"Body":7},{"Deduplicated":2689},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":869,"col":16},"end":{"line":869,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7486,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":12},"end":{"line":868,"col":18}},"generated_from_span":null},"id":7487,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"id":7488,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"id":7489,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":22},"end":{"line":868,"col":26}},"generated_from_span":null},"id":7490,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"id":7491,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":4519}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":47},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7492,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":47},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7493,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6593}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":6592}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7494,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":8},{"Body":9}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4521}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":52},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7495,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":52},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7496,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":53},"end":{"line":868,"col":54}},"generated_from_span":null},"id":7497,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":869,"col":16},"end":{"line":869,"col":22}},"generated_from_span":null},"id":7498,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":869,"col":16},"end":{"line":869,"col":22}},"generated_from_span":null},"id":7499,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":869,"col":8},"end":{"line":869,"col":22}},"generated_from_span":null},"id":7500,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":869,"col":21},"end":{"line":869,"col":22}},"generated_from_span":null},"id":7501,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":867,"col":49},"end":{"line":870,"col":5}},"generated_from_span":null},"id":7502,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":870,"col":4},"end":{"line":870,"col":5}},"generated_from_span":null},"id":7503,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":870,"col":5},"end":{"line":870,"col":5}},"generated_from_span":null},"id":7504,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":116,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}},{"Ident":["mul_assign",0]}],"span":{"data":{"file_id":8,"beg":{"line":118,"col":12},"end":{"line":120,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10245},{"Deduplicated":2689}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":86,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":2689}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":118,"col":12},"end":{"line":120,"col":13}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":8,"beg":{"line":118,"col":47},"end":{"line":118,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":118,"col":26},"end":{"line":118,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":118,"col":37},"end":{"line":118,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4530}},{"index":5,"name":null,"span":{"data":{"file_id":8,"beg":{"line":119,"col":25},"end":{"line":119,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[6595,{"Ref":[{"Body":4},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7505,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7506,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":21}},"generated_from_span":null},"id":7507,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":21}},"generated_from_span":null},"id":7508,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4530}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":25},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7509,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":25},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7510,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6595}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7511,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":115}},"generics":{"regions":[{"Body":5},{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4530}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6595}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":28},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7512,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":28},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7513,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":29},"end":{"line":119,"col":30}},"generated_from_span":null},"id":7514,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":118,"col":48},"end":{"line":120,"col":13}},"generated_from_span":null},"id":7515,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":120,"col":13},"end":{"line":120,"col":13}},"generated_from_span":null},"id":7516,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":117,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":93,"col":12},"end":{"line":95,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":10102}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":87,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10102},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":93,"col":12},"end":{"line":95,"col":13}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":875,"col":64},"end":{"line":875,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":93,"col":19},"end":{"line":93,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":93,"col":25},"end":{"line":93,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[6598,{"Ref":[{"Body":1},{"Deduplicated":2689},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":6595}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":95,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"id":7517,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"id":7518,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7519,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7520,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6595}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7521,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":5},{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4454}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6595}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":26},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7522,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":26},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7523,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":95,"col":13},"end":{"line":95,"col":13}},"generated_from_span":null},"id":7524,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":118,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":100,"col":12},"end":{"line":102,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":2689}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":88,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10099},{"Deduplicated":2689},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":100,"col":12},"end":{"line":102,"col":13}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":875,"col":64},"end":{"line":875,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":100,"col":19},"end":{"line":100,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":100,"col":25},"end":{"line":100,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":6595}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":102,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"id":7525,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"id":7526,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7527,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7528,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6595}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7529,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":5},{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6595}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":26},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7530,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":26},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7531,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":102,"col":13},"end":{"line":102,"col":13}},"generated_from_span":null},"id":7532,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":119,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":107,"col":12},"end":{"line":109,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":2689}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":89,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":2689},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":107,"col":12},"end":{"line":109,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":875,"col":64},"end":{"line":875,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":107,"col":19},"end":{"line":107,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":107,"col":25},"end":{"line":107,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":6592}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":109,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"id":7533,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"id":7534,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3931}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7535,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7536,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6592}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7537,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3931}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6592}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7538,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7539,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":109,"col":13},"end":{"line":109,"col":13}},"generated_from_span":null},"id":7540,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":120,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":93,"col":12},"end":{"line":95,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2689},{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":90,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":93,"col":12},"end":{"line":95,"col":13}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":876,"col":64},"end":{"line":876,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":93,"col":19},"end":{"line":93,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":93,"col":25},"end":{"line":93,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":6592}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":95,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"id":7541,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"id":7542,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":6592}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7543,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7544,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7545,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":5},{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":6592}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":26},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7546,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":26},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7547,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":95,"col":13},"end":{"line":95,"col":13}},"generated_from_span":null},"id":7548,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":121,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":100,"col":12},"end":{"line":102,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":91,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10102},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":100,"col":12},"end":{"line":102,"col":13}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":876,"col":64},"end":{"line":876,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":100,"col":19},"end":{"line":100,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":100,"col":25},"end":{"line":100,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[6591,{"Ref":[{"Body":2},{"Deduplicated":2689},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":102,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"id":7549,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"id":7550,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":6591}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7551,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7552,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7553,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":5},{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":6591}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":26},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7554,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":26},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7555,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":102,"col":13},"end":{"line":102,"col":13}},"generated_from_span":null},"id":7556,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":122,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":107,"col":12},"end":{"line":109,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2689},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":92,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":107,"col":12},"end":{"line":109,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":876,"col":64},"end":{"line":876,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":107,"col":19},"end":{"line":107,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":107,"col":25},"end":{"line":107,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":109,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"id":7557,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"id":7558,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":6598}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7559,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7560,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7561,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":6598}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7562,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7563,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":109,"col":13},"end":{"line":109,"col":13}},"generated_from_span":null},"id":7564,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":123,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}},{"Ident":["mul",0]}],"span":{"data":{"file_id":7,"beg":{"line":884,"col":4},"end":{"line":886,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, scalar: &'a Scalar) -> EdwardsPoint {\n crate::backend::variable_base_mul(self, scalar)\n }","attr_info":{"attributes":[{"DocComment":" Scalar multiplication: compute `scalar * self`."},{"DocComment":""},{"DocComment":" For scalar multiplication of a basepoint,"},{"DocComment":" `EdwardsBasepointTable` is approximately 4x faster."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10090},{"Deduplicated":10102}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":93,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10102},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":884,"col":4},"end":{"line":886,"col":5}},"generated_from_span":null},"bound_body_regions":10,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":884,"col":40},"end":{"line":884,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":884,"col":11},"end":{"line":884,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"scalar","span":{"data":{"file_id":7,"beg":{"line":884,"col":17},"end":{"line":884,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":6592}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":885,"col":42},"end":{"line":885,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":885,"col":48},"end":{"line":885,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[6600,{"Ref":[{"Body":5},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":885,"col":42},"end":{"line":886,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":885,"col":42},"end":{"line":885,"col":46}},"generated_from_span":null},"id":7565,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":42},"end":{"line":885,"col":46}},"generated_from_span":null},"id":7566,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":48},"end":{"line":885,"col":54}},"generated_from_span":null},"id":7567,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":48},"end":{"line":885,"col":54}},"generated_from_span":null},"id":7568,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":6592}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":8},"end":{"line":885,"col":55}},"generated_from_span":null},"id":7569,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":276}},"generics":{"regions":[{"Body":8},{"Body":9}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6600}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":54},"end":{"line":885,"col":55}},"generated_from_span":null},"id":7570,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":54},"end":{"line":885,"col":55}},"generated_from_span":null},"id":7571,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":886,"col":5},"end":{"line":886,"col":5}},"generated_from_span":null},"id":7572,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":124,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}},{"Ident":["mul",0]}],"span":{"data":{"file_id":7,"beg":{"line":896,"col":4},"end":{"line":898,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, point: &'a EdwardsPoint) -> EdwardsPoint {\n point * self\n }","attr_info":{"attributes":[{"DocComment":" Scalar multiplication: compute `scalar * self`."},{"DocComment":""},{"DocComment":" For scalar multiplication of a basepoint,"},{"DocComment":" `EdwardsBasepointTable` is approximately 4x faster."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10103,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2689},"Shared"]}]},{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":94,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10103},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":896,"col":4},"end":{"line":898,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":896,"col":45},"end":{"line":896,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":896,"col":11},"end":{"line":896,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"point","span":{"data":{"file_id":7,"beg":{"line":896,"col":17},"end":{"line":896,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":897,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":897,"col":16},"end":{"line":897,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":6600}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":898,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":897,"col":13}},"generated_from_span":null},"id":7573,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":897,"col":13}},"generated_from_span":null},"id":7574,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4435}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":16},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7575,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":16},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7576,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6600}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7577,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":6},{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6600}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":19},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7578,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":19},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7579,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":898,"col":5},"end":{"line":898,"col":5}},"generated_from_span":null},"id":7580,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":125,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_base",0]}],"span":{"data":{"file_id":7,"beg":{"line":906,"col":4},"end":{"line":916,"col":5}},"generated_from_span":null},"source_text":"pub fn mul_base(scalar: &Scalar) -> Self {\n #[cfg(not(feature = \"precomputed-tables\"))]\n {\n scalar * constants::ED25519_BASEPOINT_POINT\n }\n\n #[cfg(feature = \"precomputed-tables\")]\n {\n scalar * constants::ED25519_BASEPOINT_TABLE\n }\n }","attr_info":{"attributes":[{"DocComment":" Fixed-base scalar multiplication by the Ed25519 base point."},{"DocComment":""},{"DocComment":" Uses precomputed basepoint tables when the `precomputed-tables` feature"},{"DocComment":" is enabled, trading off increased code size for ~4x better performance."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":906,"col":4},"end":{"line":916,"col":5}},"generated_from_span":null},"bound_body_regions":4,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":906,"col":40},"end":{"line":906,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"scalar","span":{"data":{"file_id":7,"beg":{"line":906,"col":20},"end":{"line":906,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":909,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":6591}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":916,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":909,"col":18}},"generated_from_span":null},"id":7581,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":909,"col":18}},"generated_from_span":null},"id":7582,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":6591}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":909,"col":55}},"generated_from_span":null},"id":7583,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":121}},"generics":{"regions":[{"Body":3}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":6591}}},{"Copy":{"kind":{"Global":{"id":67,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":909,"col":54},"end":{"line":909,"col":55}},"generated_from_span":null},"id":7584,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":916,"col":5},"end":{"line":916,"col":5}},"generated_from_span":null},"id":7585,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":126,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_clamped",0]}],"span":{"data":{"file_id":7,"beg":{"line":920,"col":4},"end":{"line":932,"col":5}},"generated_from_span":null},"source_text":"pub fn mul_clamped(self, bytes: [u8; 32]) -> Self {\n // We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant\n // #2. But #2 is not necessary for correctness of variable-base multiplication. All that\n // needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed\n // by clamping.\n // Further, we don't do any reduction or arithmetic with this clamped value, so there's no\n // issues arising from the fact that the curve point is not necessarily in the prime-order\n // subgroup.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n s * self\n }","attr_info":{"attributes":[{"DocComment":" Multiply this point by `clamp_integer(bytes)`. For a description of clamping, see"},{"DocComment":" [`clamp_integer`]."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":2114}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":920,"col":4},"end":{"line":932,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":920,"col":49},"end":{"line":920,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":920,"col":23},"end":{"line":920,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"bytes","span":{"data":{"file_id":7,"beg":{"line":920,"col":29},"end":{"line":920,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":3,"name":"s","span":{"data":{"file_id":7,"beg":{"line":928,"col":12},"end":{"line":928,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":929,"col":19},"end":{"line":929,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":929,"col":33},"end":{"line":929,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":931,"col":8},"end":{"line":931,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":931,"col":12},"end":{"line":931,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":928,"col":12},"end":{"line":932,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":928,"col":12},"end":{"line":928,"col":13}},"generated_from_span":null},"id":7586,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":19},"end":{"line":929,"col":39}},"generated_from_span":null},"id":7587,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":33},"end":{"line":929,"col":38}},"generated_from_span":null},"id":7588,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":33},"end":{"line":929,"col":38}},"generated_from_span":null},"id":7589,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":["We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant","#2. But #2 is not necessary for correctness of variable-base multiplication. All that","needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed","by clamping.","Further, we don't do any reduction or arithmetic with this clamped value, so there's no","issues arising from the fact that the curve point is not necessarily in the prime-order","subgroup."]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":19},"end":{"line":929,"col":39}},"generated_from_span":null},"id":7590,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":277}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2114}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":38},"end":{"line":929,"col":39}},"generated_from_span":null},"id":7591,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":928,"col":16},"end":{"line":930,"col":9}},"generated_from_span":null},"id":7592,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2689}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":930,"col":8},"end":{"line":930,"col":9}},"generated_from_span":null},"id":7593,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":8},"end":{"line":931,"col":9}},"generated_from_span":null},"id":7594,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":8},"end":{"line":931,"col":9}},"generated_from_span":null},"id":7595,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2689}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":2689}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":12},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7596,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":12},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7597,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":8},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7598,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":122}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2689}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":15},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7599,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":15},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7600,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":932,"col":4},"end":{"line":932,"col":5}},"generated_from_span":null},"id":7601,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":932,"col":5},"end":{"line":932,"col":5}},"generated_from_span":null},"id":7602,"kind":"Return","comments_before":[]}]},"comments":[[928,["We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant","#2. But #2 is not necessary for correctness of variable-base multiplication. All that","needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed","by clamping.","Further, we don't do any reduction or arithmetic with this clamped value, so there's no","issues arising from the fact that the curve point is not necessarily in the prime-order","subgroup."]]]}}},{"def_id":127,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_base_clamped",0]}],"span":{"data":{"file_id":7,"beg":{"line":936,"col":4},"end":{"line":944,"col":5}},"generated_from_span":null},"source_text":"pub fn mul_base_clamped(bytes: [u8; 32]) -> Self {\n // See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We\n // note that fixed-base multiplication is also defined for all values of `bytes` less than\n // 2^255.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n Self::mul_base(&s)\n }","attr_info":{"attributes":[{"DocComment":" Multiply the basepoint by `clamp_integer(bytes)`. For a description of clamping, see"},{"DocComment":" [`clamp_integer`]."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2114}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":936,"col":4},"end":{"line":944,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":936,"col":48},"end":{"line":936,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"bytes","span":{"data":{"file_id":7,"beg":{"line":936,"col":28},"end":{"line":936,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":2,"name":"s","span":{"data":{"file_id":7,"beg":{"line":940,"col":12},"end":{"line":940,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":941,"col":19},"end":{"line":941,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":941,"col":33},"end":{"line":941,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":6591}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":940,"col":12},"end":{"line":944,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":940,"col":12},"end":{"line":940,"col":13}},"generated_from_span":null},"id":7603,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":19},"end":{"line":941,"col":39}},"generated_from_span":null},"id":7604,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":33},"end":{"line":941,"col":38}},"generated_from_span":null},"id":7605,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":33},"end":{"line":941,"col":38}},"generated_from_span":null},"id":7606,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":["See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We","note that fixed-base multiplication is also defined for all values of `bytes` less than","2^255."]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":19},"end":{"line":941,"col":39}},"generated_from_span":null},"id":7607,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":277}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2114}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":38},"end":{"line":941,"col":39}},"generated_from_span":null},"id":7608,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":940,"col":16},"end":{"line":942,"col":9}},"generated_from_span":null},"id":7609,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2689}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":942,"col":8},"end":{"line":942,"col":9}},"generated_from_span":null},"id":7610,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"id":7611,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"id":7612,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"id":7613,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6591}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"id":7614,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6598}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":6591}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":8},"end":{"line":943,"col":26}},"generated_from_span":null},"id":7615,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":125}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6598}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":25},"end":{"line":943,"col":26}},"generated_from_span":null},"id":7616,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":25},"end":{"line":943,"col":26}},"generated_from_span":null},"id":7617,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":944,"col":4},"end":{"line":944,"col":5}},"generated_from_span":null},"id":7618,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":944,"col":5},"end":{"line":944,"col":5}},"generated_from_span":null},"id":7619,"kind":"Return","comments_before":[]}]},"comments":[[940,["See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We","note that fixed-base multiplication is also defined for all values of `bytes` less than","2^255."]]]}}},{"def_id":128,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["vartime_double_scalar_mul_basepoint",0]}],"span":{"data":{"file_id":7,"beg":{"line":1068,"col":4},"end":{"line":1074,"col":5}},"generated_from_span":null},"source_text":"pub fn vartime_double_scalar_mul_basepoint(\n a: &Scalar,\n A: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n crate::backend::vartime_double_base_mul(a, A, b)\n }","attr_info":{"attributes":[{"DocComment":" Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"HashConsedValue":[10246,{"Ref":[{"Var":{"Free":2}},{"Deduplicated":2689},"Shared"]}]}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1068,"col":4},"end":{"line":1074,"col":5}},"generated_from_span":null},"bound_body_regions":14,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1072,"col":9},"end":{"line":1072,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a","span":{"data":{"file_id":7,"beg":{"line":1069,"col":8},"end":{"line":1069,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A","span":{"data":{"file_id":7,"beg":{"line":1070,"col":8},"end":{"line":1070,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"b","span":{"data":{"file_id":7,"beg":{"line":1071,"col":8},"end":{"line":1071,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1073,"col":48},"end":{"line":1073,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":6600}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1073,"col":51},"end":{"line":1073,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4519}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1073,"col":54},"end":{"line":1073,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":6593}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":48},"end":{"line":1074,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":48},"end":{"line":1073,"col":49}},"generated_from_span":null},"id":7620,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":48},"end":{"line":1073,"col":49}},"generated_from_span":null},"id":7621,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":51},"end":{"line":1073,"col":52}},"generated_from_span":null},"id":7622,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":51},"end":{"line":1073,"col":52}},"generated_from_span":null},"id":7623,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":54},"end":{"line":1073,"col":55}},"generated_from_span":null},"id":7624,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":54},"end":{"line":1073,"col":55}},"generated_from_span":null},"id":7625,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":8},"end":{"line":1073,"col":56}},"generated_from_span":null},"id":7626,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":278}},"generics":{"regions":[{"Body":11},{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6600}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4519}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":55},"end":{"line":1073,"col":56}},"generated_from_span":null},"id":7627,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":55},"end":{"line":1073,"col":56}},"generated_from_span":null},"id":7628,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":55},"end":{"line":1073,"col":56}},"generated_from_span":null},"id":7629,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1074,"col":5},"end":{"line":1074,"col":5}},"generated_from_span":null},"id":7630,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":129,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["vartime_triple_scalar_mul_basepoint",0]}],"span":{"data":{"file_id":7,"beg":{"line":1099,"col":4},"end":{"line":1107,"col":5}},"generated_from_span":null},"source_text":"pub fn vartime_triple_scalar_mul_basepoint(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n crate::backend::vartime_triple_base_mul_128_128_256(a1, A1, a2, A2, b)\n }","attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":""},{"DocComment":" This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\),"},{"DocComment":" and falls back to general scalar multiplication for full-width scalars."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use curve25519::scalar::Scalar;"},{"DocComment":" use curve25519::constants::ED25519_BASEPOINT_POINT;"},{"DocComment":" use curve25519::edwards::EdwardsPoint;"},{"DocComment":""},{"DocComment":" let a1 = Scalar::from(123u64);"},{"DocComment":" let a2 = Scalar::from(456u64);"},{"DocComment":" let b = Scalar::from(789u64);"},{"DocComment":""},{"DocComment":" let A1 = &ED25519_BASEPOINT_POINT * &Scalar::from(2u64);"},{"DocComment":" let A2 = &ED25519_BASEPOINT_POINT * &Scalar::from(3u64);"},{"DocComment":""},{"DocComment":" // Compute a1*A1 + a2*A2 + b*B efficiently"},{"DocComment":" let result = EdwardsPoint::vartime_triple_scalar_mul_basepoint(&a1, &A1, &a2, &A2, &b);"},{"DocComment":" ```"},{"Unknown":{"path":"allow","args":"non_snake_case"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"Deduplicated":10246},{"HashConsedValue":[10247,{"Ref":[{"Var":{"Free":3}},{"Deduplicated":1955},"Shared"]}]},{"HashConsedValue":[10248,{"Ref":[{"Var":{"Free":4}},{"Deduplicated":2689},"Shared"]}]}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1099,"col":4},"end":{"line":1107,"col":5}},"generated_from_span":null},"bound_body_regions":22,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1105,"col":9},"end":{"line":1105,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a1","span":{"data":{"file_id":7,"beg":{"line":1100,"col":8},"end":{"line":1100,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A1","span":{"data":{"file_id":7,"beg":{"line":1101,"col":8},"end":{"line":1101,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"a2","span":{"data":{"file_id":7,"beg":{"line":1102,"col":8},"end":{"line":1102,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":"A2","span":{"data":{"file_id":7,"beg":{"line":1103,"col":8},"end":{"line":1103,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":5,"name":"b","span":{"data":{"file_id":7,"beg":{"line":1104,"col":8},"end":{"line":1104,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[6640,{"Ref":[{"Body":6},{"Deduplicated":2689},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":60},"end":{"line":1106,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":6593}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":64},"end":{"line":1106,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":4524}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":68},"end":{"line":1106,"col":70}},"generated_from_span":null},"ty":{"HashConsedValue":[6641,{"Ref":[{"Body":9},{"Deduplicated":2689},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":72},"end":{"line":1106,"col":74}},"generated_from_span":null},"ty":{"HashConsedValue":[6642,{"Ref":[{"Body":10},{"Deduplicated":1955},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":76},"end":{"line":1106,"col":77}},"generated_from_span":null},"ty":{"HashConsedValue":[6643,{"Ref":[{"Body":11},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":60},"end":{"line":1107,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":60},"end":{"line":1106,"col":62}},"generated_from_span":null},"id":7631,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":60},"end":{"line":1106,"col":62}},"generated_from_span":null},"id":7632,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":64},"end":{"line":1106,"col":66}},"generated_from_span":null},"id":7633,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":64},"end":{"line":1106,"col":66}},"generated_from_span":null},"id":7634,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":4524}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":68},"end":{"line":1106,"col":70}},"generated_from_span":null},"id":7635,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":68},"end":{"line":1106,"col":70}},"generated_from_span":null},"id":7636,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":6641}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":72},"end":{"line":1106,"col":74}},"generated_from_span":null},"id":7637,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":72},"end":{"line":1106,"col":74}},"generated_from_span":null},"id":7638,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":6642}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":76},"end":{"line":1106,"col":77}},"generated_from_span":null},"id":7639,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":76},"end":{"line":1106,"col":77}},"generated_from_span":null},"id":7640,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":6643}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":8},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7641,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":279}},"generics":{"regions":[{"Body":17},{"Body":18},{"Body":19},{"Body":20},{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":6593}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":4524}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":6641}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":6642}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":6643}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7642,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7643,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7644,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7645,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7646,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1107,"col":5},"end":{"line":1107,"col":5}},"generated_from_span":null},"id":7647,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":130,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_by_cofactor",0]}],"span":{"data":{"file_id":7,"beg":{"line":1386,"col":4},"end":{"line":1388,"col":5}},"generated_from_span":null},"source_text":"pub fn mul_by_cofactor(&self) -> EdwardsPoint {\n self.mul_by_pow_2(3)\n }","attr_info":{"attributes":[{"DocComment":" Multiply by the cofactor: return \\\\(\\[8\\]P\\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1386,"col":4},"end":{"line":1388,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1386,"col":37},"end":{"line":1386,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1386,"col":27},"end":{"line":1386,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1387,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":4436}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1388,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1387,"col":12}},"generated_from_span":null},"id":7648,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1387,"col":12}},"generated_from_span":null},"id":7649,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1387,"col":28}},"generated_from_span":null},"id":7650,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":131}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4436}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","3"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":27},"end":{"line":1387,"col":28}},"generated_from_span":null},"id":7651,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1388,"col":5},"end":{"line":1388,"col":5}},"generated_from_span":null},"id":7652,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":131,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_by_pow_2",0]}],"span":{"data":{"file_id":7,"beg":{"line":1391,"col":4},"end":{"line":1401,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn mul_by_pow_2(&self, k: u32) -> EdwardsPoint {\n debug_assert!(k > 0);\n let mut r: CompletedPoint;\n let mut s = self.as_projective();\n for _ in 0..(k - 1) {\n r = s.double();\n s = r.as_projective();\n }\n // Unroll last iteration so we can go directly as_extended()\n s.double().as_extended()\n }","attr_info":{"attributes":[{"DocComment":" Compute \\\\([2\\^k] P \\\\) by successive doublings. Requires \\\\( k > 0 \\\\)."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":2925}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1391,"col":4},"end":{"line":1401,"col":5}},"generated_from_span":null},"bound_body_regions":24,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1391,"col":49},"end":{"line":1391,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1391,"col":31},"end":{"line":1391,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"k","span":{"data":{"file_id":7,"beg":{"line":1391,"col":38},"end":{"line":1391,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":3,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":6,"name":"r","span":{"data":{"file_id":7,"beg":{"line":1393,"col":12},"end":{"line":1393,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":7,"name":"s","span":{"data":{"file_id":7,"beg":{"line":1394,"col":12},"end":{"line":1394,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1394,"col":20},"end":{"line":1394,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6657,{"Adt":{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}]}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":6657}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":21},"end":{"line":1395,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":14,"name":"iter","span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":6657}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6660,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}]}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6663,{"Ref":[{"Body":4},{"Deduplicated":6657},"Mut"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6664,{"Ref":[{"Body":5},{"Deduplicated":6657},"Mut"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[6666,{"Ref":[{"Body":7},{"Deduplicated":1819},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[6668,{"Ref":[{"Body":9},{"Deduplicated":1831},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"ty":{"HashConsedValue":[6669,{"Ref":[{"Body":10},{"Deduplicated":1831},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":24,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[6670,{"Ref":[{"Body":11},{"Deduplicated":1819},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":7653,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":7657,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":7658,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":7676,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7660,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":23}},"generated_from_span":null},"id":7661,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":23}},"generated_from_span":null},"id":7662,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2925}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7663,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1470}},{"BinaryOp":["Gt",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7668,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":26},"end":{"line":1392,"col":27}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":26},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7665,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":7667,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":26},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7669,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":7671,"kind":{"StorageDead":4},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":7677,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1393,"col":12},"end":{"line":1393,"col":17}},"generated_from_span":null},"id":7679,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":12},"end":{"line":1394,"col":17}},"generated_from_span":null},"id":7680,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":20},"end":{"line":1394,"col":24}},"generated_from_span":null},"id":7681,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":20},"end":{"line":1394,"col":24}},"generated_from_span":null},"id":7682,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":20},"end":{"line":1394,"col":40}},"generated_from_span":null},"id":7683,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":94}},"generics":{"regions":[{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":39},"end":{"line":1394,"col":40}},"generated_from_span":null},"id":7684,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7686,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7687,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7688,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":21},"end":{"line":1395,"col":22}},"generated_from_span":null},"id":7689,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":21},"end":{"line":1395,"col":22}},"generated_from_span":null},"id":7690,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2925}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7691,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2925}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7693,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2925}},{"Use":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":26},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7694,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7695,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":6657}},{"Aggregate":[{"Adt":[{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":2925}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2925}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":26},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7696,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7697,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":146}},"generics":{"regions":[],"types":[{"Deduplicated":6657},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10249,{"kind":{"TraitImpl":{"id":121,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[{"HashConsedValue":[6712,{"kind":{"TraitImpl":{"id":130,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":6657},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":6657}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":6657}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":26},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7698,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7699,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7700,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":6657}},{"Use":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":6657}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7734,"kind":{"Loop":{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7702,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7703,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7704,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7705,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":6664}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":6657}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7706,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":6663}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":6664}},"Deref"]},"ty":{"Deduplicated":6657}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":147}},"generics":{"regions":[{"Body":15}],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[{"Deduplicated":6712}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":6663}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":6660}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":26},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7708,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7713,"kind":{"Switch":{"Match":[{"kind":{"Local":15},"ty":{"Deduplicated":6660}},[[[0],{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7710,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7714,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":17}},"generated_from_span":null},"id":7715,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":17}},"generated_from_span":null},"id":7716,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":6666}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7717,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":61}},"generics":{"regions":[{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":6666}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":25},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7718,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":12},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7719,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1831}},{"Use":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1831}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":25},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7720,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7721,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":17}},"generated_from_span":null},"id":7722,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":17}},"generated_from_span":null},"id":7723,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":6668}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7724,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":59}},"generics":{"regions":[{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":6668}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":32},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7725,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":12},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7726,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1819}},{"Use":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1819}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":32},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7727,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7729,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7730,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7733,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7736,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7737,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7739,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7740,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7742,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7743,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":9}},"generated_from_span":null},"id":7744,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":9}},"generated_from_span":null},"id":7745,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":6670}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Unroll last iteration so we can go directly as_extended()"]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7746,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":61}},"generics":{"regions":[{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":6670}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7747,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":6669}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":17},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7748,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":32}},"generated_from_span":null},"id":7749,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":6669}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":31},"end":{"line":1400,"col":32}},"generated_from_span":null},"id":7750,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":31},"end":{"line":1400,"col":32}},"generated_from_span":null},"id":7751,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1401,"col":4},"end":{"line":1401,"col":5}},"generated_from_span":null},"id":7752,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1401,"col":4},"end":{"line":1401,"col":5}},"generated_from_span":null},"id":7753,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1401,"col":5},"end":{"line":1401,"col":5}},"generated_from_span":null},"id":7754,"kind":"Return","comments_before":[]}]},"comments":[[1400,["Unroll last iteration so we can go directly as_extended()"]]]}}},{"def_id":132,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["is_small_order",0]}],"span":{"data":{"file_id":7,"beg":{"line":1426,"col":4},"end":{"line":1428,"col":5}},"generated_from_span":null},"source_text":"pub fn is_small_order(&self) -> bool {\n self.mul_by_cofactor().is_identity()\n }","attr_info":{"attributes":[{"DocComment":" Determine if this point is of small order."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" * `true` if `self` is in the torsion subgroup \\\\( \\mathcal E\\[8\\] \\\\);"},{"DocComment":" * `false` if `self` is not in the torsion subgroup \\\\( \\mathcal E\\[8\\] \\\\)."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use curve25519::constants;"},{"DocComment":""},{"DocComment":" // Generator of the prime-order subgroup"},{"DocComment":" let P = constants::ED25519_BASEPOINT_POINT;"},{"DocComment":" // Generator of the torsion subgroup"},{"DocComment":" let Q = constants::EIGHT_TORSION[1];"},{"DocComment":""},{"DocComment":" // P has large order"},{"DocComment":" assert_eq!(P.is_small_order(), false);"},{"DocComment":""},{"DocComment":" // Q has small order"},{"DocComment":" assert_eq!(Q.is_small_order(), true);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1470}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1426,"col":4},"end":{"line":1428,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1426,"col":36},"end":{"line":1426,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1426,"col":26},"end":{"line":1426,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1428,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7755,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7756,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":12}},"generated_from_span":null},"id":7757,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":12}},"generated_from_span":null},"id":7758,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7759,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":130}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7760,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":29},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7761,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":44}},"generated_from_span":null},"id":7762,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":280}},"generics":{"regions":[{"Body":7}],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2313,{"kind":{"TraitImpl":{"id":67,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[6733,{"kind":{"TraitImpl":{"id":63,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":43},"end":{"line":1427,"col":44}},"generated_from_span":null},"id":7763,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":43},"end":{"line":1427,"col":44}},"generated_from_span":null},"id":7764,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1428,"col":5},"end":{"line":1428,"col":5}},"generated_from_span":null},"id":7765,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":133,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["is_torsion_free",0]}],"span":{"data":{"file_id":7,"beg":{"line":1456,"col":4},"end":{"line":1458,"col":5}},"generated_from_span":null},"source_text":"pub fn is_torsion_free(&self) -> bool {\n (self * constants::BASEPOINT_ORDER).is_identity()\n }","attr_info":{"attributes":[{"DocComment":" Determine if this point is “torsion-free”, i.e., is contained in"},{"DocComment":" the prime-order subgroup."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" * `true` if `self` has zero torsion component and is in the"},{"DocComment":" prime-order subgroup;"},{"DocComment":" * `false` if `self` has a nonzero torsion component and is not"},{"DocComment":" in the prime-order subgroup."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use curve25519::constants;"},{"DocComment":""},{"DocComment":" // Generator of the prime-order subgroup"},{"DocComment":" let P = constants::ED25519_BASEPOINT_POINT;"},{"DocComment":" // Generator of the torsion subgroup"},{"DocComment":" let Q = constants::EIGHT_TORSION[1];"},{"DocComment":""},{"DocComment":" // P is torsion-free"},{"DocComment":" assert_eq!(P.is_torsion_free(), true);"},{"DocComment":""},{"DocComment":" // P + Q is not torsion-free"},{"DocComment":" assert_eq!((P+Q).is_torsion_free(), false);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1470}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1456,"col":4},"end":{"line":1458,"col":5}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1456,"col":37},"end":{"line":1456,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1456,"col":27},"end":{"line":1456,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1457,"col":9},"end":{"line":1457,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1458,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7766,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7767,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":9},"end":{"line":1457,"col":13}},"generated_from_span":null},"id":7768,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":9},"end":{"line":1457,"col":13}},"generated_from_span":null},"id":7769,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7770,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":118}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}},{"Copy":{"kind":{"Global":{"id":68,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":2689}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7771,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":42},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7772,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":57}},"generated_from_span":null},"id":7773,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":280}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[{"Deduplicated":2313},{"Deduplicated":6733}]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":56},"end":{"line":1457,"col":57}},"generated_from_span":null},"id":7774,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":56},"end":{"line":1457,"col":57}},"generated_from_span":null},"id":7775,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1458,"col":5},"end":{"line":1458,"col":5}},"generated_from_span":null},"id":7776,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":134,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":7,"beg":{"line":1466,"col":4},"end":{"line":1472,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"EdwardsPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":95,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1466,"col":4},"end":{"line":1472,"col":5}},"generated_from_span":null},"bound_body_regions":120,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1466,"col":55},"end":{"line":1466,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1466,"col":11},"end":{"line":1466,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"f","span":{"data":{"file_id":7,"beg":{"line":1466,"col":18},"end":{"line":1466,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1468,"col":12},"end":{"line":1468,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4022}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":4023}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4024}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":4025}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":3954}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2922}},{"index":14,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4031}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1469,"col":34},"end":{"line":1469,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":4032}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":4033}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1469,"col":46},"end":{"line":1469,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":4034}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4036}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1469,"col":58},"end":{"line":1469,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":3967}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":4038}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1469,"col":70},"end":{"line":1469,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":4039}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":4041}},{"index":23,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[6754,{"Ref":[{"Body":58},{"HashConsedValue":[6752,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","48"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[6755,{"Ref":[{"Body":59},{"Deduplicated":6752},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4055}},{"index":26,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4058}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":6752}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8925,{"Ref":[{"Body":112},{"Deduplicated":6752},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1468,"col":12},"end":{"line":1470,"col":46}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1468,"col":12},"end":{"line":1468,"col":13}},"generated_from_span":null},"id":7777,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1468,"col":12},"end":{"line":1468,"col":13}},"generated_from_span":null},"id":7778,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"Deduplicated":4059}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7779,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7780,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7781,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7782,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7783,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7784,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4023}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2913}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7785,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7786,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7787,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7788,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4024}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2916}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7789,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7790,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7791,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7792,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":4025}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2919}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7793,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7794,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7795,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7796,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":2922}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7797,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4023}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4024}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":4025}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3954}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7798,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7799,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7800,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7801,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7802,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":34},"end":{"line":1469,"col":38}},"generated_from_span":null},"id":7803,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7804,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7805,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":4033}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},0]}]},"ty":{"Deduplicated":4061}},"Deref"]},"ty":{"Deduplicated":3991}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":34},"end":{"line":1469,"col":38}},"generated_from_span":null},"id":7806,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":70},{"Body":77}],"types":[{"Deduplicated":4064}],"const_generics":[],"trait_refs":[{"Deduplicated":8389}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":4033}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":37},"end":{"line":1469,"col":38}},"generated_from_span":null},"id":7807,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":46},"end":{"line":1469,"col":50}},"generated_from_span":null},"id":7808,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7809,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7810,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":4036}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},1]}]},"ty":{"Deduplicated":4068}},"Deref"]},"ty":{"Deduplicated":4001}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":46},"end":{"line":1469,"col":50}},"generated_from_span":null},"id":7811,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":81},{"Body":88}],"types":[{"Deduplicated":4071}],"const_generics":[],"trait_refs":[{"Deduplicated":8390}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":4036}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":49},"end":{"line":1469,"col":50}},"generated_from_span":null},"id":7812,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":58},"end":{"line":1469,"col":62}},"generated_from_span":null},"id":7813,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7814,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7815,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4038}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},2]}]},"ty":{"Deduplicated":4075}},"Deref"]},"ty":{"Deduplicated":4076}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":58},"end":{"line":1469,"col":62}},"generated_from_span":null},"id":7816,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":92},{"Body":99}],"types":[{"Deduplicated":4082}],"const_generics":[],"trait_refs":[{"Deduplicated":8391}]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":4038}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":61},"end":{"line":1469,"col":62}},"generated_from_span":null},"id":7817,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":70},"end":{"line":1469,"col":74}},"generated_from_span":null},"id":7818,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7819,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7820,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":4041}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},3]}]},"ty":{"Deduplicated":4086}},"Deref"]},"ty":{"Deduplicated":4087}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":70},"end":{"line":1469,"col":74}},"generated_from_span":null},"id":7821,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":103},{"Body":110}],"types":[{"Deduplicated":4093}],"const_generics":[],"trait_refs":[{"Deduplicated":8392}]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":4041}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":73},"end":{"line":1469,"col":74}},"generated_from_span":null},"id":7822,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7823,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":4031}},{"Aggregate":[{"Array":[{"Deduplicated":4096},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7824,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7825,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7826,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7827,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7828,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7829,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7830,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7831,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":6752}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","48"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","18"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","69"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","119"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","97"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","90"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","84"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7832,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7833,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":8925}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":6752}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7834,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":6755}},{"Use":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":8925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7835,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":6754}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":6755}},"Deref"]},"ty":{"Deduplicated":6752}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7836,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7837,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7838,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":4031}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7839,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":4055}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},"Deref"]},"ty":{"Deduplicated":4099}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7840,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":114}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","48"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":6754}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":4055}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7841,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7842,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7843,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7844,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7845,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":115},{"Body":118},{"Body":119}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7846,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7847,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7848,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7849,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7850,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7851,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7852,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7853,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1472,"col":5},"end":{"line":1472,"col":5}},"generated_from_span":null},"id":7854,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":135,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Impl":{"Trait":108}},{"Ident":["into",0]}],"span":{"data":{"file_id":21,"beg":{"line":777,"col":4},"end":{"line":777,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Calls `U::from(self)`."},{"DocComment":""},{"DocComment":" That is, this conversion is whatever the implementation of"},{"DocComment":" [From]<T> for U chooses to do."}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"U"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":21,"beg":{"line":769,"col":7},"end":{"line":769,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"Deduplicated":10077}},"src":{"TraitImpl":{"impl_ref":{"id":108,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10108,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":136,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":110}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":11,"beg":{"line":313,"col":4},"end":{"line":313,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Check whether two slices of `ConstantTimeEq` types are equal."},{"DocComment":""},{"DocComment":" # Note"},{"DocComment":""},{"DocComment":" This function short-circuits if the lengths of the input slices"},{"DocComment":" are different. Otherwise, it should execute in time independent"},{"DocComment":" of the slice contents."},{"DocComment":""},{"DocComment":" Since arrays coerce to slices, this function works with fixed-size arrays:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # use subtle::ConstantTimeEq;"},{"DocComment":" #"},{"DocComment":" let a: [u8; 8] = [0,1,2,3,4,5,6,7];"},{"DocComment":" let b: [u8; 8] = [0,1,2,3,0,1,2,3];"},{"DocComment":""},{"DocComment":" let a_eq_a = a.ct_eq(&a);"},{"DocComment":" let a_eq_b = a.ct_eq(&b);"},{"DocComment":""},{"DocComment":" assert_eq!(a_eq_a.unwrap_u8(), 1);"},{"DocComment":" assert_eq!(a_eq_b.unwrap_u8(), 0);"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":11,"beg":{"line":289,"col":8},"end":{"line":289,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10250,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10109,{"Slice":{"Deduplicated":10076}}]},"Shared"]}]},{"HashConsedValue":[10251,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10109},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":110,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10110,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":137,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]},{"Ident":["default",0]}],"span":{"data":{"file_id":12,"beg":{"line":139,"col":4},"end":{"line":139,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the \"default value\" for a type."},{"DocComment":""},{"DocComment":" Default values are often some kind of initial value, identity value, or anything else that"},{"DocComment":" may make sense as a default."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Using built-in default values:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let i: i8 = Default::default();"},{"DocComment":" let (x, y): (Option, f64) = Default::default();"},{"DocComment":" let (a, b, (c, d)): (i32, u32, (bool, bool)) = Default::default();"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Making your own:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"default_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":138,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}},{"Ident":["bitor",0]}],"span":{"data":{"file_id":11,"beg":{"line":177,"col":4},"end":{"line":177,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1496},{"Deduplicated":1496}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":113,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1496},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":139,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":13,"beg":{"line":1062,"col":0},"end":{"line":1062,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10226}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":140,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]},{"Ident":["fmt",0]}],"span":{"data":{"file_id":15,"beg":{"line":1084,"col":4},"end":{"line":1084,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":"Formats the value using the given formatter.\n\n# Errors\n\nThis function should return [`Err`] if, and only if, the provided [`Formatter`] returns [`Err`].\nString formatting is considered an infallible operation; this function only\nreturns a [`Result`] because writing to the underlying stream might fail and it must\nprovide a way to propagate the fact that an error has occurred back up the stack.\n"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fmt;"},{"DocComment":""},{"DocComment":" struct Position {"},{"DocComment":" longitude: f32,"},{"DocComment":" latitude: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl fmt::Debug for Position {"},{"DocComment":" fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" f.debug_tuple(\"\")"},{"DocComment":" .field(&self.longitude)"},{"DocComment":" .field(&self.latitude)"},{"DocComment":" .finish()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let position = Position { longitude: 1.987, latitude: 2.983 };"},{"DocComment":" assert_eq!(format!(\"{position:?}\"), \"(1.987, 2.983)\");"},{"DocComment":""},{"DocComment":" assert_eq!(format!(\"{position:#?}\"), \"("},{"DocComment":" 1.987,"},{"DocComment":" 2.983,"},{"DocComment":" )\");"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitDecl":{"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":141,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}},{"Ident":["index",0]}],"span":{"data":{"file_id":22,"beg":{"line":390,"col":4},"end":{"line":390,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":385,"col":9},"end":{"line":385,"col":25}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10109},{"Deduplicated":10077},{"HashConsedValue":[10112,{"TypeVar":{"Free":2}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10252,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10111,{"Array":[{"Deduplicated":10076},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]},{"Deduplicated":10077}],"output":{"HashConsedValue":[10253,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10112},"Shared"]}]}},"src":{"TraitImpl":{"impl_ref":{"id":114,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10113,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10109},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10111},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":142,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["rt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3353},"kind":"InherentImplBlock"}}},{"Ident":["new_debug",0]}],"span":{"data":{"file_id":32,"beg":{"line":93,"col":4},"end":{"line":93,"col":59}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":32,"beg":{"line":93,"col":30},"end":{"line":93,"col":35}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10202}],"output":{"HashConsedValue":[10254,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":143,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3420},"kind":"InherentImplBlock"}}},{"Ident":["new",0]}],"span":{"data":{"file_id":15,"beg":{"line":729,"col":4},"end":{"line":732,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}},{"index":1,"name":"M","ty":{"Deduplicated":1551}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[10256,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10255,{"Array":[{"Deduplicated":2113},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]},{"HashConsedValue":[10259,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10258,{"Array":[{"HashConsedValue":[10257,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}],"output":{"HashConsedValue":[10260,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":144,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3469},"kind":"InherentImplBlock"}}},{"Ident":["write_fmt",0]}],"span":{"data":{"file_id":15,"beg":{"line":2128,"col":4},"end":{"line":2128,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Glue for usage of the [`write!`] macro with implementors of this trait."},{"DocComment":""},{"DocComment":" This method should generally not be invoked manually, but rather through"},{"DocComment":" the [`write!`] macro itself."},{"DocComment":""},{"DocComment":" Writes some formatted information into this instance."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fmt;"},{"DocComment":""},{"DocComment":" struct Foo(i32);"},{"DocComment":""},{"DocComment":" impl fmt::Display for Foo {"},{"DocComment":" fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" formatter.write_fmt(format_args!(\"Foo {}\", self.0))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(format!(\"{}\", Foo(-1)), \"Foo -1\");"},{"DocComment":" assert_eq!(format!(\"{:0>8}\", Foo(2)), \"Foo 2\");"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10262,{"Ref":[{"Var":{"Free":1}},{"HashConsedValue":[10261,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]},{"HashConsedValue":[10263,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Var":{"Free":2}}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"output":{"Deduplicated":3010}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":145,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]},{"Ident":["add_assign",0]}],"span":{"data":{"file_id":16,"beg":{"line":779,"col":4},"end":{"line":779,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `+=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x += 1;"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10226},{"Deduplicated":10077}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":146,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}},{"Ident":["into_iter",0]}],"span":{"data":{"file_id":38,"beg":{"line":322,"col":4},"end":{"line":322,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":317,"col":14},"end":{"line":317,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"Deduplicated":10076}},"src":{"TraitImpl":{"impl_ref":{"id":120,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10118,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":147,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["next",0]}],"span":{"data":{"file_id":39,"beg":{"line":984,"col":4},"end":{"line":984,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"A"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":39,"beg":{"line":980,"col":8},"end":{"line":980,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10264,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10119,{"Adt":{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"HashConsedValue":[10178,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":121,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10120,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10119},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":148,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]},{"Ident":["add",0]}],"span":{"data":{"file_id":16,"beg":{"line":91,"col":4},"end":{"line":91,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `+` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 + 1, 13);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"add"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"src":{"TraitDecl":{"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":149,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]},{"Ident":["sub_assign",0]}],"span":{"data":{"file_id":16,"beg":{"line":850,"col":4},"end":{"line":850,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `-=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x -= 1;"},{"DocComment":" assert_eq!(x, 11);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10226},{"Deduplicated":10077}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":150,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]},{"Ident":["sub",0]}],"span":{"data":{"file_id":16,"beg":{"line":203,"col":4},"end":{"line":203,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `-` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 - 1, 11);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"sub"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"src":{"TraitDecl":{"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":151,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]},{"Ident":["mul_assign",0]}],"span":{"data":{"file_id":16,"beg":{"line":912,"col":4},"end":{"line":912,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `*=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x *= 2;"},{"DocComment":" assert_eq!(x, 24);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10226},{"Deduplicated":10077}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":152,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":16,"beg":{"line":337,"col":4},"end":{"line":337,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `*` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 * 2, 24);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"mul"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"src":{"TraitDecl":{"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":153,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["m",0]}],"span":{"data":{"file_id":5,"beg":{"line":115,"col":8},"end":{"line":115,"col":66}},"generated_from_span":null},"source_text":"fn m(x: u64, y: u64) -> u128 { (x as u128) * (y as u128) }","attr_info":{"attributes":[{"DocComment":" Helper function to multiply two 64-bit integers with 128"},{"DocComment":" bits of output."}],"inline":"Always","rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1550},{"Deduplicated":1550}],"output":{"Deduplicated":3746}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":115,"col":8},"end":{"line":115,"col":66}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":32},"end":{"line":115,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":1,"name":"x","span":{"data":{"file_id":5,"beg":{"line":115,"col":13},"end":{"line":115,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":"y","span":{"data":{"file_id":5,"beg":{"line":115,"col":21},"end":{"line":115,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":40},"end":{"line":115,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":53},"end":{"line":115,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":54},"end":{"line":115,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":3746}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":66}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":50}},"generated_from_span":null},"id":7855,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":50}},"generated_from_span":null},"id":7856,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":40},"end":{"line":115,"col":41}},"generated_from_span":null},"id":7857,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":40},"end":{"line":115,"col":41}},"generated_from_span":null},"id":7858,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":50}},"generated_from_span":null},"id":7859,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":49},"end":{"line":115,"col":50}},"generated_from_span":null},"id":7860,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":53},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7861,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":54},"end":{"line":115,"col":55}},"generated_from_span":null},"id":7862,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":54},"end":{"line":115,"col":55}},"generated_from_span":null},"id":7863,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":53},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7864,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":63},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7865,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7866,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7868,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":63},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7869,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":63},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7870,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":66},"end":{"line":115,"col":66}},"generated_from_span":null},"id":7871,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":154,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]},{"Ident":["neg",0]}],"span":{"data":{"file_id":16,"beg":{"line":706,"col":4},"end":{"line":706,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the unary `-` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: i32 = 12;"},{"DocComment":" assert_eq!(-x, -12);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"neg"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"Deduplicated":10077}},"src":{"TraitDecl":{"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":155,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":11,"beg":{"line":513,"col":12},"end":{"line":513,"col":77}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10265,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1550},"Shared"]}]},{"HashConsedValue":[10266,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1550},"Shared"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1550}},"src":{"TraitImpl":{"impl_ref":{"id":123,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":156,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":11,"beg":{"line":521,"col":12},"end":{"line":521,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10267,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1550},"Mut"]}]},{"Deduplicated":10266},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":123,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":157,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":11,"beg":{"line":529,"col":12},"end":{"line":529,"col":75}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10267},{"HashConsedValue":[10268,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1550},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":123,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":158,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ZERO",0]}],"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"source_text":"pub const ZERO: FieldElement51 = FieldElement51::from_limbs([0, 0, 0, 0, 0]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( 0 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":9,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":259,"col":20},"end":{"line":259,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":259,"col":64},"end":{"line":259,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":259,"col":64},"end":{"line":259,"col":79}},"generated_from_span":null},"id":7872,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":259,"col":64},"end":{"line":259,"col":79}},"generated_from_span":null},"id":7873,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":259,"col":37},"end":{"line":259,"col":80}},"generated_from_span":null},"id":7874,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":259,"col":79},"end":{"line":259,"col":80}},"generated_from_span":null},"id":7875,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"id":7876,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":159,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ONE",0]}],"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"source_text":"pub const ONE: FieldElement51 = FieldElement51::from_limbs([1, 0, 0, 0, 0]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( 1 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":10,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":261,"col":19},"end":{"line":261,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":261,"col":63},"end":{"line":261,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":261,"col":63},"end":{"line":261,"col":78}},"generated_from_span":null},"id":7877,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":261,"col":63},"end":{"line":261,"col":78}},"generated_from_span":null},"id":7878,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":261,"col":36},"end":{"line":261,"col":79}},"generated_from_span":null},"id":7879,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":261,"col":78},"end":{"line":261,"col":79}},"generated_from_span":null},"id":7880,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"id":7881,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":160,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["MINUS_ONE",0]}],"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"source_text":"pub const MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n ]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( -1 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":11,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":263,"col":25},"end":{"line":263,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":263,"col":69},"end":{"line":269,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":263,"col":69},"end":{"line":269,"col":5}},"generated_from_span":null},"id":7882,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":263,"col":69},"end":{"line":269,"col":5}},"generated_from_span":null},"id":7883,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685228"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685247"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685247"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685247"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685247"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":263,"col":42},"end":{"line":269,"col":6}},"generated_from_span":null},"id":7884,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":269,"col":5},"end":{"line":269,"col":6}},"generated_from_span":null},"id":7885,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"id":7886,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":161,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_bytes",0]},{"Ident":["load8_at",0]}],"span":{"data":{"file_id":5,"beg":{"line":335,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"source_text":"const fn load8_at(input: &[u8], i: usize) -> u64 {\n (input[i] as u64)\n | ((input[i + 1] as u64) << 8)\n | ((input[i + 2] as u64) << 16)\n | ((input[i + 3] as u64) << 24)\n | ((input[i + 4] as u64) << 32)\n | ((input[i + 5] as u64) << 40)\n | ((input[i + 6] as u64) << 48)\n | ((input[i + 7] as u64) << 56)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10095},{"Deduplicated":1551}],"output":{"Deduplicated":1550}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":335,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":335,"col":53},"end":{"line":335,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":1,"name":"input","span":{"data":{"file_id":5,"beg":{"line":335,"col":26},"end":{"line":335,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":4432}},{"index":2,"name":"i","span":{"data":{"file_id":5,"beg":{"line":335,"col":40},"end":{"line":335,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":341,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":340,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":339,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":338,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":337,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":336,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":22},"end":{"line":336,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":14},"end":{"line":337,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":15},"end":{"line":337,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":14},"end":{"line":338,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":15},"end":{"line":338,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":14},"end":{"line":339,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":15},"end":{"line":339,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":14},"end":{"line":340,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":15},"end":{"line":340,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":14},"end":{"line":341,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":15},"end":{"line":341,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":14},"end":{"line":342,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":15},"end":{"line":342,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":45,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":46,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":47,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":48,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":14},"end":{"line":343,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":49,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":15},"end":{"line":343,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":50,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":51,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":52,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":53,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9012,{"Ref":["Erased",{"Deduplicated":2239},"Shared"]}]}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9012}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9012}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9012}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9012}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9012}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":66,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9012}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9012}},{"index":69,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":344,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7889,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7894,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7899,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7904,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7909,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7914,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7919,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7924,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":341,"col":43}},"generated_from_span":null},"id":7925,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":340,"col":43}},"generated_from_span":null},"id":7926,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":339,"col":43}},"generated_from_span":null},"id":7927,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7928,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7929,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":336,"col":32}},"generated_from_span":null},"id":7930,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":7931,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":22},"end":{"line":336,"col":23}},"generated_from_span":null},"id":7932,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":22},"end":{"line":336,"col":23}},"generated_from_span":null},"id":7933,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":9768,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":9769,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":9012}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":9770,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":9771,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":9012}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":55},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":7937,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":55},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":336,"col":32}},"generated_from_span":null},"id":7938,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":31},"end":{"line":336,"col":32}},"generated_from_span":null},"id":7939,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":14},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7940,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":15},"end":{"line":337,"col":36}},"generated_from_span":null},"id":7941,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":7942,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"id":7943,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":23}},"generated_from_span":null},"id":7944,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":23}},"generated_from_span":null},"id":7945,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"id":7946,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"id":7948,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":26},"end":{"line":337,"col":27}},"generated_from_span":null},"id":7949,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":9772,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":9773,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":9012}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":9774,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":9775,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":9012}}},{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":57},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":7953,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":15},"end":{"line":337,"col":36}},"generated_from_span":null},"id":7954,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":35},"end":{"line":337,"col":36}},"generated_from_span":null},"id":7955,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":14},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7959,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","8"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":41},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7960,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7961,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":41},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7962,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":41},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7963,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":14},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7964,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":15},"end":{"line":338,"col":36}},"generated_from_span":null},"id":7965,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":7966,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"id":7967,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":23}},"generated_from_span":null},"id":7968,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":23}},"generated_from_span":null},"id":7969,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"id":7970,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"id":7972,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":26},"end":{"line":338,"col":27}},"generated_from_span":null},"id":7973,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":9776,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":9777,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":9012}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":9778,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":9779,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":9012}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":59},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":7977,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":15},"end":{"line":338,"col":36}},"generated_from_span":null},"id":7978,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":35},"end":{"line":338,"col":36}},"generated_from_span":null},"id":7979,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":14},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7983,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","16"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":42},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7984,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7985,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":42},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7986,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":42},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7987,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":14},"end":{"line":339,"col":43}},"generated_from_span":null},"id":7988,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":15},"end":{"line":339,"col":36}},"generated_from_span":null},"id":7989,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":7990,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"id":7991,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":23}},"generated_from_span":null},"id":7992,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":23}},"generated_from_span":null},"id":7993,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"id":7994,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"id":7996,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":26},"end":{"line":339,"col":27}},"generated_from_span":null},"id":7997,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":9780,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":9781,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":9012}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":9782,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":9783,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":9012}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":8001,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":15},"end":{"line":339,"col":36}},"generated_from_span":null},"id":8002,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":35},"end":{"line":339,"col":36}},"generated_from_span":null},"id":8003,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":14},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8007,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","24"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":42},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8008,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8009,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":42},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8010,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":42},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8011,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":14},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8012,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":15},"end":{"line":340,"col":36}},"generated_from_span":null},"id":8013,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":8014,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"id":8015,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":23}},"generated_from_span":null},"id":8016,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":23}},"generated_from_span":null},"id":8017,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"id":8018,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"id":8020,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":26},"end":{"line":340,"col":27}},"generated_from_span":null},"id":8021,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":9784,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":9785,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":9012}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":9786,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":9787,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":9012}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":63},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":8025,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":15},"end":{"line":340,"col":36}},"generated_from_span":null},"id":8026,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":35},"end":{"line":340,"col":36}},"generated_from_span":null},"id":8027,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":14},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8031,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","32"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":42},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8032,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8033,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":42},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8034,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":42},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8035,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":14},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8036,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":15},"end":{"line":341,"col":36}},"generated_from_span":null},"id":8037,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":8038,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"id":8039,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":23}},"generated_from_span":null},"id":8040,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":23}},"generated_from_span":null},"id":8041,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"id":8042,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"id":8044,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":26},"end":{"line":341,"col":27}},"generated_from_span":null},"id":8045,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":9788,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":9789,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":9012}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":9790,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":9791,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":9012}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":65},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":8049,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":65},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":15},"end":{"line":341,"col":36}},"generated_from_span":null},"id":8050,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":35},"end":{"line":341,"col":36}},"generated_from_span":null},"id":8051,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":14},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8055,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","40"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":42},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8056,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8057,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":42},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8058,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":42},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8059,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":14},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8060,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":15},"end":{"line":342,"col":36}},"generated_from_span":null},"id":8061,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":8062,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"id":8063,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":23}},"generated_from_span":null},"id":8064,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":23}},"generated_from_span":null},"id":8065,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"id":8066,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":46},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","6"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"id":8068,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":26},"end":{"line":342,"col":27}},"generated_from_span":null},"id":8069,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":9792,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":9793,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":9012}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":9794,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":9795,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":9012}}},{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":8073,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":67},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":15},"end":{"line":342,"col":36}},"generated_from_span":null},"id":8074,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":35},"end":{"line":342,"col":36}},"generated_from_span":null},"id":8075,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":14},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8079,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","48"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":42},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8080,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8081,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":42},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8082,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":42},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8083,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":14},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8084,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":15},"end":{"line":343,"col":36}},"generated_from_span":null},"id":8085,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":8086,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"id":8087,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":23}},"generated_from_span":null},"id":8088,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":23}},"generated_from_span":null},"id":8089,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"id":8090,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"id":8092,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":26},"end":{"line":343,"col":27}},"generated_from_span":null},"id":8093,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":9796,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":9797,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":9012}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":9798,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":9799,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":9012}}},{"Copy":{"kind":{"Local":51},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":69},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":8097,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":69},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":15},"end":{"line":343,"col":36}},"generated_from_span":null},"id":8098,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":35},"end":{"line":343,"col":36}},"generated_from_span":null},"id":8099,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":14},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8103,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","56"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8104,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8105,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8106,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8107,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8108,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8109,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8110,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8111,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8112,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8113,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8114,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8115,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":344,"col":9},"end":{"line":344,"col":9}},"generated_from_span":null},"id":8116,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":162,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["m",0]}],"span":{"data":{"file_id":5,"beg":{"line":456,"col":8},"end":{"line":458,"col":9}},"generated_from_span":null},"source_text":"fn m(x: u64, y: u64) -> u128 {\n (x as u128) * (y as u128)\n }","attr_info":{"attributes":[{"DocComment":" Multiply two 64-bit integers with 128 bits of output."}],"inline":"Always","rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1550},{"Deduplicated":1550}],"output":{"Deduplicated":3746}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":456,"col":8},"end":{"line":458,"col":9}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":456,"col":32},"end":{"line":456,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":1,"name":"x","span":{"data":{"file_id":5,"beg":{"line":456,"col":13},"end":{"line":456,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":"y","span":{"data":{"file_id":5,"beg":{"line":456,"col":21},"end":{"line":456,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":13},"end":{"line":457,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":26},"end":{"line":457,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":27},"end":{"line":457,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":3746}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":458,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":23}},"generated_from_span":null},"id":8117,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":23}},"generated_from_span":null},"id":8118,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":13},"end":{"line":457,"col":14}},"generated_from_span":null},"id":8119,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":13},"end":{"line":457,"col":14}},"generated_from_span":null},"id":8120,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":23}},"generated_from_span":null},"id":8121,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":22},"end":{"line":457,"col":23}},"generated_from_span":null},"id":8122,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":26},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8123,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":27},"end":{"line":457,"col":28}},"generated_from_span":null},"id":8124,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":27},"end":{"line":457,"col":28}},"generated_from_span":null},"id":8125,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":26},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8126,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":36},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8127,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8128,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8130,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":36},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8131,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":36},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8132,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":458,"col":9},"end":{"line":458,"col":9}},"generated_from_span":null},"id":8133,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":163,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["Identity",0]},{"Ident":["identity",0]}],"span":{"data":{"file_id":18,"beg":{"line":35,"col":4},"end":{"line":35,"col":26}},"generated_from_span":null},"source_text":"fn identity() -> Self;","attr_info":{"attributes":[{"DocComment":" Returns the identity element of the curve."},{"DocComment":" Can be used as a constructor."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"TraitMethodWithoutDefault"},{"def_id":164,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]},{"Ident":["is_valid",0]}],"span":{"data":{"file_id":18,"beg":{"line":453,"col":4},"end":{"line":453,"col":31}},"generated_from_span":null},"source_text":"fn is_valid(&self) -> bool;","attr_info":{"attributes":[{"DocComment":" Checks whether the point is on the curve. Not CT."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116}],"output":{"Deduplicated":1470}},"src":{"TraitDecl":{"trait_ref":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"TraitMethodWithoutDefault"},{"def_id":165,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":98}},{"Ident":["clone",0]}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10107,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":4121},"Shared"]}]}],"output":{"Deduplicated":4121}},"src":{"TraitImpl":{"impl_ref":{"id":98,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[7267,{"Ref":[{"Body":1},{"Deduplicated":4121},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"id":8134,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4121}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":20},"end":{"line":11,"col":20}},"generated_from_span":null},"id":8135,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":166,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10107},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":99,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"bound_body_regions":61,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":2,"name":"f","span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[7270,{"Ref":[{"Body":10},{"HashConsedValue":[4274,{"Adt":{"id":{"Builtin":"Str"},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[7271,{"Ref":[{"Body":11},{"Deduplicated":4274},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7272,{"Ref":[{"Body":12},{"Deduplicated":4274},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7273,{"Ref":[{"Body":13},{"Deduplicated":4274},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7279,{"Ref":[{"Body":17},{"HashConsedValue":[7278,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Body":18}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":10,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":11,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7280,{"Ref":[{"Body":22},{"Deduplicated":4274},"Shared"]}]}},{"index":12,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7281,{"Ref":[{"Body":23},{"Deduplicated":4274},"Shared"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7283,{"Ref":[{"Body":24},{"HashConsedValue":[7282,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Body":25}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":4021}},{"index":15,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":4023}},{"index":16,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2913}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":14,"col":30}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8136,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8137,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[10269,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8138,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8139,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8140,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":7271}},{"Use":[{"Const":{"kind":{"Literal":{"Str":"AffinePoint"}},"ty":{"HashConsedValue":[10270,{"Ref":[{"Body":34},{"Deduplicated":4274},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8141,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":7270}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":7271}},"Deref"]},"ty":{"Deduplicated":4274}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":7271}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8142,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8143,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8144,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":7273}},{"Use":[{"Const":{"kind":{"Literal":{"Str":"x"}},"ty":{"HashConsedValue":[10271,{"Ref":[{"Body":35},{"Deduplicated":4274},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8145,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":7272}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":7273}},"Deref"]},"ty":{"Deduplicated":4274}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":7273}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8146,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8147,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8148,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8149,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8150,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8151,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":7279}},{"UnaryOp":[{"Cast":{"Unsize":[{"Deduplicated":2901},{"HashConsedValue":[10273,{"Ref":[{"Body":36},{"HashConsedValue":[10272,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Body":37}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]},{"VTable":[{"Deduplicated":3988},{"kind":{"Ref":[{"kind":{"Global":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"HashConsedValue":[7289,{"Adt":{"id":{"Adt":13},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},null]},"ty":{"HashConsedValue":[7290,{"Ref":["Static",{"Deduplicated":7289},"Shared"]}]}}]}]}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2901}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":29},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8152,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8153,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8154,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8155,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":7281}},{"Use":[{"Const":{"kind":{"Literal":{"Str":"y"}},"ty":{"HashConsedValue":[10274,{"Ref":[{"Body":38},{"Deduplicated":4274},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8156,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":7280}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":7281}},"Deref"]},"ty":{"Deduplicated":4274}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":7281}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8157,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8158,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8159,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8160,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8161,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8162,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":4023}},{"Ref":{"place":{"kind":{"Local":16},"ty":{"Deduplicated":2913}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8163,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":4021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":4023}},"Deref"]},"ty":{"Deduplicated":2920}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8164,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":7283}},{"UnaryOp":[{"Cast":{"Unsize":[{"Deduplicated":4021},{"HashConsedValue":[10276,{"Ref":[{"Body":40},{"HashConsedValue":[10275,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Body":41}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]},{"VTable":[{"HashConsedValue":[10277,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":44}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2933}],"const_generics":[],"trait_refs":[]}}}}]},{"kind":{"Ref":[{"kind":{"Global":{"id":73,"generics":{"regions":[{"Body":47}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"ty":{"Deduplicated":7289}},null]},"ty":{"Deduplicated":7290}}]}]}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":4021}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":29},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8165,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8166,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":332}},"generics":{"regions":[{"Body":48},{"Body":55},{"Body":56},{"Body":57},{"Body":58},{"Body":59},{"Body":60}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":7270}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":7272}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":7279}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":7280}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":7283}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8167,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8168,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8169,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8170,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8171,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8172,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8173,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8174,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8175,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8176,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8177,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8178,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":27},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8179,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":167,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":100}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":19,"beg":{"line":18,"col":4},"end":{"line":20,"col":5}},"generated_from_span":null},"source_text":"fn ct_eq(&self, other: &Self) -> Choice {\n self.x.ct_eq(&other.x) & self.y.ct_eq(&other.y)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10107},{"HashConsedValue":[10278,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":4121},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":100,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":18,"col":4},"end":{"line":20,"col":5}},"generated_from_span":null},"bound_body_regions":18,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":18,"col":37},"end":{"line":18,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":18,"col":13},"end":{"line":18,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":2,"name":"other","span":{"data":{"file_id":19,"beg":{"line":18,"col":20},"end":{"line":18,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[7312,{"Ref":[{"Body":2},{"Deduplicated":4121},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":8,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2890}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":20,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":30}},"generated_from_span":null},"id":8180,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":14}},"generated_from_span":null},"id":8181,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":14}},"generated_from_span":null},"id":8182,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"id":8183,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"id":8184,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"id":8185,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"id":8186,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":30}},"generated_from_span":null},"id":8187,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":29},"end":{"line":19,"col":30}},"generated_from_span":null},"id":8188,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":29},"end":{"line":19,"col":30}},"generated_from_span":null},"id":8189,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8190,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":39}},"generated_from_span":null},"id":8191,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":39}},"generated_from_span":null},"id":8192,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"id":8193,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"id":8194,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"id":8195,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"id":8196,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8197,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":16},{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8198,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8199,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8200,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":196}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8201,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8202,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8203,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8204,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":20,"col":5},"end":{"line":20,"col":5}},"generated_from_span":null},"id":8205,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":168,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":19,"beg":{"line":24,"col":4},"end":{"line":29,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n Self {\n x: FieldElement::conditional_select(&a.x, &b.x, choice),\n y: FieldElement::conditional_select(&a.y, &b.y, choice),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10107},{"Deduplicated":10278},{"Deduplicated":1496}],"output":{"Deduplicated":4121}},"src":{"TraitImpl":{"impl_ref":{"id":101,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":24,"col":4},"end":{"line":29,"col":5}},"generated_from_span":null},"bound_body_regions":20,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":24,"col":65},"end":{"line":24,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":1,"name":"a","span":{"data":{"file_id":19,"beg":{"line":24,"col":26},"end":{"line":24,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":2,"name":"b","span":{"data":{"file_id":19,"beg":{"line":24,"col":36},"end":{"line":24,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":7312}},{"index":3,"name":"choice","span":{"data":{"file_id":19,"beg":{"line":24,"col":46},"end":{"line":24,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":15},"end":{"line":26,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":60},"end":{"line":26,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":15},"end":{"line":27,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":60},"end":{"line":27,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":25,"col":8},"end":{"line":29,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":26,"col":15},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8206,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"id":8207,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"id":8208,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"id":8209,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"id":8210,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"id":8211,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"id":8212,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"id":8213,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"id":8214,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":60},"end":{"line":26,"col":66}},"generated_from_span":null},"id":8215,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":60},"end":{"line":26,"col":66}},"generated_from_span":null},"id":8216,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":15},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8217,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":14},{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":66},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8218,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":66},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8219,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":66},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8220,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":15},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8221,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"id":8222,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"id":8223,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"id":8224,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"id":8225,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"id":8226,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"id":8227,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"id":8228,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"id":8229,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":60},"end":{"line":27,"col":66}},"generated_from_span":null},"id":8230,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":60},"end":{"line":27,"col":66}},"generated_from_span":null},"id":8231,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":15},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8232,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":18},{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":66},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8233,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":66},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8234,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":66},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8235,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":25,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8236,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4121}},{"Aggregate":[{"Adt":[{"id":{"Adt":10},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8237,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8238,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8239,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8240,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8241,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8242,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":29,"col":5},"end":{"line":29,"col":5}},"generated_from_span":null},"id":8243,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":169,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":102}},{"Ident":["default",0]}],"span":{"data":{"file_id":19,"beg":{"line":33,"col":4},"end":{"line":35,"col":5}},"generated_from_span":null},"source_text":"fn default() -> AffinePoint {\n AffinePoint::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":4121}},"src":{"TraitImpl":{"impl_ref":{"id":102,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":33,"col":4},"end":{"line":35,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":33,"col":20},"end":{"line":33,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":4121}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":35,"col":5},"end":{"line":35,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":34,"col":8},"end":{"line":34,"col":31}},"generated_from_span":null},"id":8244,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":170}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":4121}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":35,"col":5},"end":{"line":35,"col":5}},"generated_from_span":null},"id":8245,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":170,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":103}},{"Ident":["identity",0]}],"span":{"data":{"file_id":19,"beg":{"line":39,"col":4},"end":{"line":44,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> AffinePoint {\n AffinePoint {\n x: FieldElement::ZERO,\n y: FieldElement::ONE,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":4121}},"src":{"TraitImpl":{"impl_ref":{"id":103,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":39,"col":4},"end":{"line":44,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":39,"col":21},"end":{"line":39,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":4121}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":40,"col":8},"end":{"line":44,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":40,"col":8},"end":{"line":43,"col":9}},"generated_from_span":null},"id":8246,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4121}},{"Aggregate":[{"Adt":[{"id":{"Adt":10},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":44,"col":5},"end":{"line":44,"col":5}},"generated_from_span":null},"id":8247,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":171,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}},{"Ident":["eq",0]}],"span":{"data":{"file_id":19,"beg":{"line":48,"col":4},"end":{"line":50,"col":5}},"generated_from_span":null},"source_text":"fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10107},{"Deduplicated":10278}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":104,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":4121},{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":48,"col":4},"end":{"line":50,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":48,"col":34},"end":{"line":48,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":48,"col":10},"end":{"line":48,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":2,"name":"other","span":{"data":{"file_id":19,"beg":{"line":48,"col":17},"end":{"line":48,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":7312}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[7313,{"Ref":[{"Body":3},{"Deduplicated":4121},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":49,"col":19},"end":{"line":49,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[7314,{"Ref":[{"Body":4},{"Deduplicated":4121},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":50,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":25}},"generated_from_span":null},"id":8248,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":12}},"generated_from_span":null},"id":8249,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":12}},"generated_from_span":null},"id":8250,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":7313}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":19},"end":{"line":49,"col":24}},"generated_from_span":null},"id":8251,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":19},"end":{"line":49,"col":24}},"generated_from_span":null},"id":8252,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":7314}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":25}},"generated_from_span":null},"id":8253,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":167}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":7313}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":7314}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":24},"end":{"line":49,"col":25}},"generated_from_span":null},"id":8254,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":24},"end":{"line":49,"col":25}},"generated_from_span":null},"id":8255,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":32}},"generated_from_span":null},"id":8256,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":31},"end":{"line":49,"col":32}},"generated_from_span":null},"id":8257,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":50,"col":5},"end":{"line":50,"col":5}},"generated_from_span":null},"id":8258,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":172,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":4121},"kind":"InherentImplBlock"}}},{"Ident":["to_edwards",0]}],"span":{"data":{"file_id":19,"beg":{"line":60,"col":4},"end":{"line":67,"col":5}},"generated_from_span":null},"source_text":"pub fn to_edwards(self) -> EdwardsPoint {\n EdwardsPoint {\n X: self.x,\n Y: self.y,\n Z: FieldElement::ONE,\n T: &self.x * &self.y,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert to extended coordinates."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":4121}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":60,"col":4},"end":{"line":67,"col":5}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":60,"col":31},"end":{"line":60,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":60,"col":22},"end":{"line":60,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":2,"name":null,"span":{"data":{"file_id":19,"beg":{"line":62,"col":15},"end":{"line":62,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":63,"col":15},"end":{"line":63,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2795}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":61,"col":8},"end":{"line":67,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":62,"col":15},"end":{"line":62,"col":21}},"generated_from_span":null},"id":8259,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":62,"col":15},"end":{"line":62,"col":21}},"generated_from_span":null},"id":8260,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":63,"col":15},"end":{"line":63,"col":21}},"generated_from_span":null},"id":8261,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":63,"col":15},"end":{"line":63,"col":21}},"generated_from_span":null},"id":8262,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8263,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":22}},"generated_from_span":null},"id":8264,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":22}},"generated_from_span":null},"id":8265,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2793}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8266,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8267,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8268,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8269,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8270,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2793}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2794}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":31},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8271,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":31},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8272,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":61,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8273,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":66,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8274,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":66,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8275,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":66,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8276,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":66,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8277,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":67,"col":5},"end":{"line":67,"col":5}},"generated_from_span":null},"id":8278,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":173,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":4121},"kind":"InherentImplBlock"}}},{"Ident":["compress",0]}],"span":{"data":{"file_id":19,"beg":{"line":71,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"source_text":"pub fn compress(self) -> CompressedEdwardsY {\n let mut s = self.y.to_bytes();\n s[31] ^= self.x.is_negative().unwrap_u8() << 7;\n CompressedEdwardsY(s)\n }","attr_info":{"attributes":[{"DocComment":" Compress affine Edwards coordinates into `CompressedEdwardsY` format."}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":4121}],"output":{"Deduplicated":2116}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":71,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":71,"col":29},"end":{"line":71,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2116}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":71,"col":20},"end":{"line":71,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":2,"name":"s","span":{"data":{"file_id":19,"beg":{"line":72,"col":12},"end":{"line":72,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":72,"col":20},"end":{"line":72,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[7317,{"Ref":[{"Body":1},{"Deduplicated":1496},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":8,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":9,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":10},"end":{"line":73,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":19,"beg":{"line":74,"col":27},"end":{"line":74,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":11,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":12,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9005}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":72,"col":12},"end":{"line":75,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":72,"col":12},"end":{"line":72,"col":17}},"generated_from_span":null},"id":8282,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":72,"col":20},"end":{"line":72,"col":26}},"generated_from_span":null},"id":8283,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":72,"col":20},"end":{"line":72,"col":26}},"generated_from_span":null},"id":8284,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":72,"col":20},"end":{"line":72,"col":37}},"generated_from_span":null},"id":8285,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":72,"col":36},"end":{"line":72,"col":37}},"generated_from_span":null},"id":8286,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8287,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":49}},"generated_from_span":null},"id":8288,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8289,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8290,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":23}},"generated_from_span":null},"id":8291,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":23}},"generated_from_span":null},"id":8292,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8293,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":9}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8294,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":7317}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1496}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":36},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8295,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":49}},"generated_from_span":null},"id":8296,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":333}},"generics":{"regions":[{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":7317}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":2113}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":48},"end":{"line":73,"col":49}},"generated_from_span":null},"id":8297,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8301,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2113}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","7"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":53},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8302,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":10},"end":{"line":73,"col":12}},"generated_from_span":null},"id":8303,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":10},"end":{"line":73,"col":12}},"generated_from_span":null},"id":8304,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8307,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":9800,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":9801,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":9005}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":9802,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":9803,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":9005}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8308,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitXor",{"Copy":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":9804,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":9805,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":9806,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":9807,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8309,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"Use":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2113}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":53},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8310,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":54},"end":{"line":73,"col":55}},"generated_from_span":null},"id":8311,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":54},"end":{"line":73,"col":55}},"generated_from_span":null},"id":8312,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":74,"col":27},"end":{"line":74,"col":28}},"generated_from_span":null},"id":8313,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":74,"col":27},"end":{"line":74,"col":28}},"generated_from_span":null},"id":8314,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":74,"col":8},"end":{"line":74,"col":29}},"generated_from_span":null},"id":8315,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2116}},{"Aggregate":[{"Adt":[{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":74,"col":28},"end":{"line":74,"col":29}},"generated_from_span":null},"id":8316,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":75,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"id":8317,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":75,"col":5},"end":{"line":75,"col":5}},"generated_from_span":null},"id":8318,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":174,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}},{"Ident":["mul",0]}],"span":{"data":{"file_id":19,"beg":{"line":82,"col":4},"end":{"line":84,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, rhs: AffinePoint) -> EdwardsPoint {\n self * &rhs\n }","attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2689},{"Deduplicated":4121}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":106,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":4121},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":82,"col":4},"end":{"line":84,"col":5}},"generated_from_span":null},"bound_body_regions":3,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":82,"col":38},"end":{"line":82,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":82,"col":11},"end":{"line":82,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":2,"name":"rhs","span":{"data":{"file_id":19,"beg":{"line":82,"col":17},"end":{"line":82,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":83,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":83,"col":15},"end":{"line":83,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":7267}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":84,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":83,"col":12}},"generated_from_span":null},"id":8319,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":83,"col":12}},"generated_from_span":null},"id":8320,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2689}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2689}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":15},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8321,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":15},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8322,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":7267}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":4121}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8323,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":175}},"generics":{"regions":[{"Body":2}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2689}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":7267}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":18},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8324,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":18},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8325,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":84,"col":5},"end":{"line":84,"col":5}},"generated_from_span":null},"id":8326,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":175,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}},{"Ident":["mul",0]}],"span":{"data":{"file_id":19,"beg":{"line":91,"col":4},"end":{"line":93,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, rhs: &AffinePoint) -> EdwardsPoint {\n rhs.to_edwards() * self\n }","attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2689},{"Deduplicated":10107}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":107,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":10107},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":91,"col":4},"end":{"line":93,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":91,"col":39},"end":{"line":91,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":91,"col":11},"end":{"line":91,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":2,"name":"rhs","span":{"data":{"file_id":19,"beg":{"line":91,"col":17},"end":{"line":91,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":92,"col":27},"end":{"line":92,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2689}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":93,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"id":8327,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":11}},"generated_from_span":null},"id":8328,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":11}},"generated_from_span":null},"id":8329,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4121}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"id":8330,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":172}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4121}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":23},"end":{"line":92,"col":24}},"generated_from_span":null},"id":8331,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":27},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8332,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":27},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8333,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2689}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2689}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8334,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":119}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2689}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":30},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8335,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":30},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8336,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":93,"col":5},"end":{"line":93,"col":5}},"generated_from_span":null},"id":8337,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":176,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["finish",0]}],"span":{"data":{"file_id":20,"beg":{"line":334,"col":4},"end":{"line":334,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the hash value for the values written so far."},{"DocComment":""},{"DocComment":" Despite its name, the method does not reset the hasher’s internal"},{"DocComment":" state. Additional [`write`]s will continue from the current value."},{"DocComment":" If you need to start a fresh hash value, you will have to create"},{"DocComment":" a new hasher."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" hasher.write(b\"Cool!\");"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`write`]: Hasher::write"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116}],"output":{"Deduplicated":1550}},"src":{"TraitDecl":{"trait_ref":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":177,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write",0]}],"span":{"data":{"file_id":20,"beg":{"line":357,"col":4},"end":{"line":357,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Writes some data into this `Hasher`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" let data = [0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef];"},{"DocComment":""},{"DocComment":" hasher.write(&data);"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Note to Implementers"},{"DocComment":""},{"DocComment":" You generally should not do length-prefixing as part of implementing"},{"DocComment":" this method. It's up to the [`Hash`] implementation to call"},{"DocComment":" [`Hasher::write_length_prefix`] before sequences that need it."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10226},{"HashConsedValue":[10279,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2239},"Shared"]}]}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"def_id":192,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":124}},{"Ident":["hash",0]}],"span":{"data":{"file_id":22,"beg":{"line":349,"col":4},"end":{"line":349,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"H"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":348,"col":8},"end":{"line":348,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":22,"beg":{"line":349,"col":15},"end":{"line":349,"col":27}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10252},{"Deduplicated":10234}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":124,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10123,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10111}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":193,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["decompress",0]},{"Ident":["step_1",0]}],"span":{"data":{"file_id":7,"beg":{"line":226,"col":4},"end":{"line":237,"col":5}},"generated_from_span":null},"source_text":"pub(super) fn step_1(\n repr: &CompressedEdwardsY,\n ) -> (Choice, FieldElement, FieldElement, FieldElement) {\n let Y = FieldElement::from_bytes(repr.as_bytes());\n let Z = FieldElement::ONE;\n let YY = Y.square();\n let u = &YY - &Z; // u = y²-1\n let v = &(&YY * &constants::EDWARDS_D) + &Z; // v = dy²+1\n let (is_valid_y_coord, X) = FieldElement::sqrt_ratio_i(&u, &v);\n\n (is_valid_y_coord, X, Y, Z)\n }","attr_info":{"attributes":[{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229}],"output":{"Deduplicated":4408}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":194,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["decompress",0]},{"Ident":["step_2",0]}],"span":{"data":{"file_id":7,"beg":{"line":240,"col":4},"end":{"line":257,"col":5}},"generated_from_span":null},"source_text":"pub(super) fn step_2(\n repr: &CompressedEdwardsY,\n mut X: FieldElement,\n Y: FieldElement,\n Z: FieldElement,\n ) -> EdwardsPoint {\n // FieldElement::sqrt_ratio_i always returns the nonnegative square root,\n // so we negate according to the supplied sign bit.\n let compressed_sign_bit = Choice::from(repr.as_bytes()[31] >> 7);\n X.conditional_negate(compressed_sign_bit);\n\n EdwardsPoint {\n X,\n Y,\n Z,\n T: &X * &Y,\n }\n }","attr_info":{"attributes":[{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229},{"Deduplicated":1391},{"Deduplicated":1391},{"Deduplicated":1391}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":195,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["TryFrom",0]},{"Ident":["try_from",0]}],"span":{"data":{"file_id":21,"beg":{"line":702,"col":4},"end":{"line":702,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the conversion."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"try_from_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Error"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10077}],"output":{"HashConsedValue":[10157,{"Adt":{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":196,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}},{"Ident":["bitand",0]}],"span":{"data":{"file_id":11,"beg":{"line":162,"col":4},"end":{"line":162,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1496},{"Deduplicated":1496}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":128,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1496},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":197,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]},{"Ident":["borrow",0]}],"span":{"data":{"file_id":23,"beg":{"line":179,"col":4},"end":{"line":179,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Immutably borrows from an owned value."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::borrow::Borrow;"},{"DocComment":""},{"DocComment":" fn check>(s: T) {"},{"DocComment":" assert_eq!(\"Hello\", s.borrow());"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let s = \"Hello\".to_string();"},{"DocComment":""},{"DocComment":" check(s);"},{"DocComment":""},{"DocComment":" let s = \"Hello\";"},{"DocComment":""},{"DocComment":" check(s);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Borrowed"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116}],"output":{"HashConsedValue":[10280,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10077},"Shared"]}]}},"src":{"TraitDecl":{"trait_ref":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":198,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]},{"Ident":["sum",0]}],"span":{"data":{"file_id":24,"beg":{"line":22,"col":4},"end":{"line":22,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by \"summing up\""},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":24,"beg":{"line":22,"col":14},"end":{"line":22,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10112},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10112}],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":199,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next",0]}],"span":{"data":{"file_id":27,"beg":{"line":78,"col":4},"end":{"line":78,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Advances the iterator and returns the next value."},{"DocComment":""},{"DocComment":" Returns [`None`] when iteration is finished. Individual iterator"},{"DocComment":" implementations may choose to resume iteration, and so calling `next()`"},{"DocComment":" again may or may not eventually start returning [`Some(Item)`] again at some"},{"DocComment":" point."},{"DocComment":""},{"DocComment":" [`Some(Item)`]: Some"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = [1, 2, 3];"},{"DocComment":""},{"DocComment":" let mut iter = a.into_iter();"},{"DocComment":""},{"DocComment":" // A call to next() returns the next value..."},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":""},{"DocComment":" // ... and then None once it's over."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":""},{"DocComment":" // More calls may or may not return `None`. Here, they always will."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"next"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10226}],"output":{"HashConsedValue":[10163,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"def_id":276,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["variable_base_mul",0]}],"span":{"data":{"file_id":4,"beg":{"line":221,"col":0},"end":{"line":227,"col":1}},"generated_from_span":null},"source_text":"pub fn variable_base_mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => vector::scalar_mul::variable_base::spec_avx2::mul(point, scalar),\n BackendKind::Serial => serial::scalar_mul::variable_base::mul(point, scalar),\n }\n}","attr_info":{"attributes":[{"DocComment":" Perform constant-time, variable-base scalar multiplication."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":10103}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":4,"beg":{"line":221,"col":0},"end":{"line":227,"col":1}},"generated_from_span":null},"bound_body_regions":16,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":4,"beg":{"line":221,"col":67},"end":{"line":221,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"point","span":{"data":{"file_id":4,"beg":{"line":221,"col":25},"end":{"line":221,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"scalar","span":{"data":{"file_id":4,"beg":{"line":221,"col":47},"end":{"line":221,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":6592}},{"index":3,"name":null,"span":{"data":{"file_id":4,"beg":{"line":222,"col":10},"end":{"line":222,"col":32}},"generated_from_span":null},"ty":{"HashConsedValue":[7803,{"Adt":{"id":{"Adt":74},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":4,"name":null,"span":{"data":{"file_id":4,"beg":{"line":224,"col":79},"end":{"line":224,"col":84}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":5,"name":null,"span":{"data":{"file_id":4,"beg":{"line":224,"col":86},"end":{"line":224,"col":92}},"generated_from_span":null},"ty":{"Deduplicated":6600}},{"index":6,"name":null,"span":{"data":{"file_id":4,"beg":{"line":225,"col":70},"end":{"line":225,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":4519}},{"index":7,"name":null,"span":{"data":{"file_id":4,"beg":{"line":225,"col":77},"end":{"line":225,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":6593}}]},"body":{"span":{"data":{"file_id":4,"beg":{"line":222,"col":4},"end":{"line":227,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":222,"col":10},"end":{"line":222,"col":32}},"generated_from_span":null},"id":8339,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":222,"col":10},"end":{"line":222,"col":32}},"generated_from_span":null},"id":8340,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":373}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":7803}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":222,"col":4},"end":{"line":225,"col":84}},"generated_from_span":null},"id":8359,"kind":{"Switch":{"Match":[{"kind":{"Local":3},"ty":{"Deduplicated":7803}},[[[0],{"span":{"data":{"file_id":4,"beg":{"line":224,"col":79},"end":{"line":224,"col":93}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":224,"col":79},"end":{"line":224,"col":84}},"generated_from_span":null},"id":8342,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":79},"end":{"line":224,"col":84}},"generated_from_span":null},"id":8343,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":86},"end":{"line":224,"col":92}},"generated_from_span":null},"id":8344,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":86},"end":{"line":224,"col":92}},"generated_from_span":null},"id":8345,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":6592}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":29},"end":{"line":224,"col":93}},"generated_from_span":null},"id":8346,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":375}},"generics":{"regions":[{"Body":14},{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6600}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":92},"end":{"line":224,"col":93}},"generated_from_span":null},"id":8347,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":92},"end":{"line":224,"col":93}},"generated_from_span":null},"id":8348,"kind":{"StorageDead":4},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":4,"beg":{"line":225,"col":70},"end":{"line":225,"col":84}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":225,"col":70},"end":{"line":225,"col":75}},"generated_from_span":null},"id":8350,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":70},"end":{"line":225,"col":75}},"generated_from_span":null},"id":8351,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":77},"end":{"line":225,"col":83}},"generated_from_span":null},"id":8352,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":77},"end":{"line":225,"col":83}},"generated_from_span":null},"id":8353,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":6592}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":31},"end":{"line":225,"col":84}},"generated_from_span":null},"id":8354,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":374}},"generics":{"regions":[{"Body":10},{"Body":11}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":83},"end":{"line":225,"col":84}},"generated_from_span":null},"id":8355,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":83},"end":{"line":225,"col":84}},"generated_from_span":null},"id":8356,"kind":{"StorageDead":6},"comments_before":[]}]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":226,"col":4},"end":{"line":226,"col":5}},"generated_from_span":null},"id":8360,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":227,"col":1},"end":{"line":227,"col":1}},"generated_from_span":null},"id":8361,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":277,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Ident":["clamp_integer",0]}],"span":{"data":{"file_id":28,"beg":{"line":1597,"col":0},"end":{"line":1602,"col":1}},"generated_from_span":null},"source_text":"pub const fn clamp_integer(mut bytes: [u8; 32]) -> [u8; 32] {\n bytes[0] &= 0b1111_1000;\n bytes[31] &= 0b0111_1111;\n bytes[31] |= 0b0100_0000;\n bytes\n}","attr_info":{"attributes":[{"DocComment":" _Clamps_ the given little-endian representation of a 32-byte integer. Clamping the value puts"},{"DocComment":" it in the range:"},{"DocComment":""},{"DocComment":" **n ∈ 2^254 + 8\\*{0, 1, 2, 3, . . ., 2^251 − 1}**"},{"DocComment":""},{"DocComment":" # Explanation of clamping"},{"DocComment":""},{"DocComment":" For Curve25519, h = 8, and multiplying by 8 is the same as a binary left-shift by 3 bits."},{"DocComment":" If you take a secret scalar value between 2^251 and 2^252 – 1 and left-shift by 3 bits"},{"DocComment":" then you end up with a 255-bit number with the most significant bit set to 1 and"},{"DocComment":" the least-significant three bits set to 0."},{"DocComment":""},{"DocComment":" The Curve25519 clamping operation takes **an arbitrary 256-bit random value** and"},{"DocComment":" clears the most-significant bit (making it a 255-bit number), sets the next bit, and then"},{"DocComment":" clears the 3 least-significant bits. In other words, it directly creates a scalar value that is"},{"DocComment":" in the right form and pre-multiplied by the cofactor."},{"DocComment":""},{"DocComment":" See [here](https://neilmadden.blog/2020/05/28/whats-the-curve25519-clamping-all-about/) for"},{"DocComment":" more details."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2114}],"output":{"Deduplicated":2114}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":1597,"col":0},"end":{"line":1602,"col":1}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1597,"col":51},"end":{"line":1597,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":1,"name":"bytes","span":{"data":{"file_id":28,"beg":{"line":1597,"col":27},"end":{"line":1597,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":2,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1598,"col":10},"end":{"line":1598,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":3,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1599,"col":10},"end":{"line":1599,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":4,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1600,"col":10},"end":{"line":1600,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":5,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":6,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":7,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":8,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9005}},{"index":9,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":10,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":11,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":12,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9005}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9005}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9004}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9011}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9010}}]},"body":{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1602,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":10},"end":{"line":1598,"col":11}},"generated_from_span":null},"id":8365,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":10},"end":{"line":1598,"col":11}},"generated_from_span":null},"id":8366,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":8369,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":9808,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":9809,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":9005}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":9810,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":9811,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":9005}}},{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":8370,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","248"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":9812,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":9813,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":9814,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":9815,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":4},"end":{"line":1598,"col":27}},"generated_from_span":null},"id":8371,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"Use":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2113}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1598,"col":27},"end":{"line":1598,"col":28}},"generated_from_span":null},"id":8372,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":10},"end":{"line":1599,"col":12}},"generated_from_span":null},"id":8373,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":10},"end":{"line":1599,"col":12}},"generated_from_span":null},"id":8374,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":8377,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":9816,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":9817,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":9005}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":9818,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":9819,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":9005}}},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":8378,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","127"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":9820,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":9821,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":9822,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":9823,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":4},"end":{"line":1599,"col":28}},"generated_from_span":null},"id":8379,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"Use":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2113}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1599,"col":28},"end":{"line":1599,"col":29}},"generated_from_span":null},"id":8380,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":10},"end":{"line":1600,"col":12}},"generated_from_span":null},"id":8381,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":10},"end":{"line":1600,"col":12}},"generated_from_span":null},"id":8382,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":8385,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":9824,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":9825,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":9005}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":9826,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":9827,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":9005}}},{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":9004}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":8386,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitOr",{"Copy":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":9004}},"Deref"]},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","64"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":9828,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":9829,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":9011}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":9830,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":9831,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":9011}}},{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":9010}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":4},"end":{"line":1600,"col":28}},"generated_from_span":null},"id":8387,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":9010}},"Deref"]},"ty":{"Deduplicated":2113}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2113}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1600,"col":28},"end":{"line":1600,"col":29}},"generated_from_span":null},"id":8388,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1601,"col":4},"end":{"line":1601,"col":9}},"generated_from_span":null},"id":8389,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1602,"col":1},"end":{"line":1602,"col":1}},"generated_from_span":null},"id":8390,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":278,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_double_base_mul",0]}],"span":{"data":{"file_id":4,"beg":{"line":231,"col":0},"end":{"line":237,"col":1}},"generated_from_span":null},"source_text":"pub fn vartime_double_base_mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => vector::scalar_mul::vartime_double_base::spec_avx2::mul(a, A, b),\n BackendKind::Serial => serial::scalar_mul::vartime_double_base::mul(a, A, b),\n }\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"Unknown":{"path":"allow","args":"non_snake_case"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"Deduplicated":10246}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":4,"beg":{"line":231,"col":0},"end":{"line":237,"col":1}},"generated_from_span":null},"bound_body_regions":23,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":4,"beg":{"line":231,"col":76},"end":{"line":231,"col":88}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a","span":{"data":{"file_id":4,"beg":{"line":231,"col":31},"end":{"line":231,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A","span":{"data":{"file_id":4,"beg":{"line":231,"col":43},"end":{"line":231,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"b","span":{"data":{"file_id":4,"beg":{"line":231,"col":61},"end":{"line":231,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":null,"span":{"data":{"file_id":4,"beg":{"line":232,"col":10},"end":{"line":232,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":7803}},{"index":5,"name":null,"span":{"data":{"file_id":4,"beg":{"line":234,"col":85},"end":{"line":234,"col":86}},"generated_from_span":null},"ty":{"Deduplicated":6600}},{"index":6,"name":null,"span":{"data":{"file_id":4,"beg":{"line":234,"col":88},"end":{"line":234,"col":89}},"generated_from_span":null},"ty":{"Deduplicated":4519}},{"index":7,"name":null,"span":{"data":{"file_id":4,"beg":{"line":234,"col":91},"end":{"line":234,"col":92}},"generated_from_span":null},"ty":{"Deduplicated":6593}},{"index":8,"name":null,"span":{"data":{"file_id":4,"beg":{"line":235,"col":76},"end":{"line":235,"col":77}},"generated_from_span":null},"ty":{"HashConsedValue":[7845,{"Ref":[{"Body":8},{"Deduplicated":2689},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":4,"beg":{"line":235,"col":79},"end":{"line":235,"col":80}},"generated_from_span":null},"ty":{"HashConsedValue":[7846,{"Ref":[{"Body":9},{"Deduplicated":1955},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":4,"beg":{"line":235,"col":82},"end":{"line":235,"col":83}},"generated_from_span":null},"ty":{"HashConsedValue":[7847,{"Ref":[{"Body":10},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":4,"beg":{"line":232,"col":4},"end":{"line":237,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":232,"col":10},"end":{"line":232,"col":32}},"generated_from_span":null},"id":8392,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":232,"col":10},"end":{"line":232,"col":32}},"generated_from_span":null},"id":8393,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":373}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":7803}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":232,"col":4},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8418,"kind":{"Switch":{"Match":[{"kind":{"Local":4},"ty":{"Deduplicated":7803}},[[[0],{"span":{"data":{"file_id":4,"beg":{"line":234,"col":85},"end":{"line":234,"col":93}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":234,"col":85},"end":{"line":234,"col":86}},"generated_from_span":null},"id":8395,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":85},"end":{"line":234,"col":86}},"generated_from_span":null},"id":8396,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":88},"end":{"line":234,"col":89}},"generated_from_span":null},"id":8397,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":88},"end":{"line":234,"col":89}},"generated_from_span":null},"id":8398,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":91},"end":{"line":234,"col":92}},"generated_from_span":null},"id":8399,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":91},"end":{"line":234,"col":92}},"generated_from_span":null},"id":8400,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":29},"end":{"line":234,"col":93}},"generated_from_span":null},"id":8401,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":378}},"generics":{"regions":[{"Body":20},{"Body":21},{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6600}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":92},"end":{"line":234,"col":93}},"generated_from_span":null},"id":8402,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":92},"end":{"line":234,"col":93}},"generated_from_span":null},"id":8403,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":92},"end":{"line":234,"col":93}},"generated_from_span":null},"id":8404,"kind":{"StorageDead":5},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":4,"beg":{"line":235,"col":76},"end":{"line":235,"col":84}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":235,"col":76},"end":{"line":235,"col":77}},"generated_from_span":null},"id":8406,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":76},"end":{"line":235,"col":77}},"generated_from_span":null},"id":8407,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":7845}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":79},"end":{"line":235,"col":80}},"generated_from_span":null},"id":8408,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":79},"end":{"line":235,"col":80}},"generated_from_span":null},"id":8409,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":7846}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":82},"end":{"line":235,"col":83}},"generated_from_span":null},"id":8410,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":82},"end":{"line":235,"col":83}},"generated_from_span":null},"id":8411,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":7847}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":31},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8412,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":377}},"generics":{"regions":[{"Body":14},{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":7845}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":7846}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":7847}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":83},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8413,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":83},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8414,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":83},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8415,"kind":{"StorageDead":8},"comments_before":[]}]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":236,"col":4},"end":{"line":236,"col":5}},"generated_from_span":null},"id":8419,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":237,"col":1},"end":{"line":237,"col":1}},"generated_from_span":null},"id":8420,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":279,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_triple_base_mul_128_128_256",0]}],"span":{"data":{"file_id":4,"beg":{"line":244,"col":0},"end":{"line":256,"col":1}},"generated_from_span":null},"source_text":"pub fn vartime_triple_base_mul_128_128_256(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n if !scalar_fits_in_128_bits(a1) || !scalar_fits_in_128_bits(a2) {\n return (a1 * A1) + (a2 * A2) + EdwardsPoint::mul_base(b);\n }\n\n vartime_triple_base_mul_128_128_256_prechecked(a1, A1, a2, A2, b)\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":""},{"DocComment":" This function uses an optimized path when \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\),"},{"DocComment":" and falls back to general scalar multiplication otherwise."},{"Unknown":{"path":"allow","args":"non_snake_case"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"Deduplicated":10246},{"Deduplicated":10247},{"Deduplicated":10248}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":4,"beg":{"line":244,"col":0},"end":{"line":256,"col":1}},"generated_from_span":null},"bound_body_regions":39,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":4,"beg":{"line":250,"col":5},"end":{"line":250,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a1","span":{"data":{"file_id":4,"beg":{"line":245,"col":4},"end":{"line":245,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A1","span":{"data":{"file_id":4,"beg":{"line":246,"col":4},"end":{"line":246,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"a2","span":{"data":{"file_id":4,"beg":{"line":247,"col":4},"end":{"line":247,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":"A2","span":{"data":{"file_id":4,"beg":{"line":248,"col":4},"end":{"line":248,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":5,"name":"b","span":{"data":{"file_id":4,"beg":{"line":249,"col":4},"end":{"line":249,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":6640}},{"index":6,"name":null,"span":{"data":{"file_id":4,"beg":{"line":251,"col":8},"end":{"line":251,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":7,"name":null,"span":{"data":{"file_id":4,"beg":{"line":251,"col":32},"end":{"line":251,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":6593}},{"index":8,"name":null,"span":{"data":{"file_id":4,"beg":{"line":251,"col":40},"end":{"line":251,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":9,"name":null,"span":{"data":{"file_id":4,"beg":{"line":251,"col":64},"end":{"line":251,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":7845}},{"index":10,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":11,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":12,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":16},"end":{"line":252,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":6641}},{"index":13,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":21},"end":{"line":252,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":6642}},{"index":14,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":27},"end":{"line":252,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":15,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":28},"end":{"line":252,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":6643}},{"index":16,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":33},"end":{"line":252,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[7885,{"Ref":[{"Body":12},{"Deduplicated":1955},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":39},"end":{"line":252,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":18,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":62},"end":{"line":252,"col":63}},"generated_from_span":null},"ty":{"HashConsedValue":[7886,{"Ref":[{"Body":13},{"Deduplicated":2689},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":51},"end":{"line":255,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[7887,{"Ref":[{"Body":14},{"Deduplicated":2689},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":55},"end":{"line":255,"col":57}},"generated_from_span":null},"ty":{"HashConsedValue":[7888,{"Ref":[{"Body":15},{"Deduplicated":1955},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":59},"end":{"line":255,"col":61}},"generated_from_span":null},"ty":{"HashConsedValue":[7889,{"Ref":[{"Body":16},{"Deduplicated":2689},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":63},"end":{"line":255,"col":65}},"generated_from_span":null},"ty":{"HashConsedValue":[7890,{"Ref":[{"Body":17},{"Deduplicated":1955},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":67},"end":{"line":255,"col":68}},"generated_from_span":null},"ty":{"HashConsedValue":[7891,{"Ref":[{"Body":18},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":4,"beg":{"line":251,"col":4},"end":{"line":256,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":8},"end":{"line":251,"col":35}},"generated_from_span":null},"id":8422,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":32},"end":{"line":251,"col":34}},"generated_from_span":null},"id":8423,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":32},"end":{"line":251,"col":34}},"generated_from_span":null},"id":8424,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":8},"end":{"line":251,"col":35}},"generated_from_span":null},"id":8425,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":379}},"generics":{"regions":[{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":8},"end":{"line":256,"col":1}},"generated_from_span":null},"id":8458,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":34},"end":{"line":256,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":34},"end":{"line":251,"col":35}},"generated_from_span":null},"id":8426,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":40},"end":{"line":251,"col":67}},"generated_from_span":null},"id":8427,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":64},"end":{"line":251,"col":66}},"generated_from_span":null},"id":8428,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":64},"end":{"line":251,"col":66}},"generated_from_span":null},"id":8429,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":7845}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":40},"end":{"line":251,"col":67}},"generated_from_span":null},"id":8430,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":379}},"generics":{"regions":[{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":7845}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":40},"end":{"line":256,"col":1}},"generated_from_span":null},"id":8455,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":66},"end":{"line":256,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":66},"end":{"line":251,"col":67}},"generated_from_span":null},"id":8431,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":253,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"id":8433,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":253,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"id":8434,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":51},"end":{"line":255,"col":53}},"generated_from_span":null},"id":8436,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":51},"end":{"line":255,"col":53}},"generated_from_span":null},"id":8437,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":7887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":55},"end":{"line":255,"col":57}},"generated_from_span":null},"id":8438,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":55},"end":{"line":255,"col":57}},"generated_from_span":null},"id":8439,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":7888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":59},"end":{"line":255,"col":61}},"generated_from_span":null},"id":8440,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":59},"end":{"line":255,"col":61}},"generated_from_span":null},"id":8441,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":7889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":63},"end":{"line":255,"col":65}},"generated_from_span":null},"id":8442,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":63},"end":{"line":255,"col":65}},"generated_from_span":null},"id":8443,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":7890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":67},"end":{"line":255,"col":68}},"generated_from_span":null},"id":8444,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":67},"end":{"line":255,"col":68}},"generated_from_span":null},"id":8445,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":7891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":4},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8446,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":380}},"generics":{"regions":[{"Body":30},{"Body":31},{"Body":32},{"Body":33},{"Body":34}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":7887}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":7888}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":7889}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":7890}}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":7891}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8447,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8448,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8449,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8450,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8451,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":256,"col":1},"end":{"line":256,"col":1}},"generated_from_span":null},"id":8452,"kind":"Return","comments_before":[]}]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":66},"end":{"line":253,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":66},"end":{"line":251,"col":67}},"generated_from_span":null},"id":8453,"kind":{"StorageDead":9},"comments_before":[]}]}]}},"comments_before":[]}]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":34},"end":{"line":253,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":34},"end":{"line":251,"col":35}},"generated_from_span":null},"id":8456,"kind":{"StorageDead":7},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8459,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":24}},"generated_from_span":null},"id":8460,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":16},"end":{"line":252,"col":18}},"generated_from_span":null},"id":8461,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":16},"end":{"line":252,"col":18}},"generated_from_span":null},"id":8462,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":6641}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":21},"end":{"line":252,"col":23}},"generated_from_span":null},"id":8463,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":21},"end":{"line":252,"col":23}},"generated_from_span":null},"id":8464,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":6642}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":24}},"generated_from_span":null},"id":8465,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":23},{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":6641}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":6642}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":23},"end":{"line":252,"col":24}},"generated_from_span":null},"id":8466,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":23},"end":{"line":252,"col":24}},"generated_from_span":null},"id":8467,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":27},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8468,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":28},"end":{"line":252,"col":30}},"generated_from_span":null},"id":8469,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":28},"end":{"line":252,"col":30}},"generated_from_span":null},"id":8470,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":6643}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":6595}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":33},"end":{"line":252,"col":35}},"generated_from_span":null},"id":8471,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":33},"end":{"line":252,"col":35}},"generated_from_span":null},"id":8472,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":7885}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":4521}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":27},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8473,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":6643}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":7885}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":35},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8474,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":35},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8475,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8476,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":103}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1955}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":35},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8477,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":35},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8478,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":39},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8479,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":62},"end":{"line":252,"col":63}},"generated_from_span":null},"id":8480,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":62},"end":{"line":252,"col":63}},"generated_from_span":null},"id":8481,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":7886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":39},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8482,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":125}},"generics":{"regions":[{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":7886}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":63},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8483,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8484,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":103}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1955}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":63},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8485,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":63},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8486,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":253,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"id":8487,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":253,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"id":8488,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":256,"col":1},"end":{"line":256,"col":1}},"generated_from_span":null},"id":8490,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":280,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}},{"Ident":["is_identity",0]}],"span":{"data":{"file_id":18,"beg":{"line":51,"col":4},"end":{"line":53,"col":5}},"generated_from_span":null},"source_text":"fn is_identity(&self) -> bool {\n self.ct_eq(&T::identity()).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":18,"beg":{"line":49,"col":7},"end":{"line":49,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":18,"beg":{"line":49,"col":24},"end":{"line":49,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":131,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10110},{"HashConsedValue":[10129,{"kind":{"Clause":{"Free":1}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":18,"beg":{"line":51,"col":4},"end":{"line":53,"col":5}},"generated_from_span":null},"bound_body_regions":11,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":18,"beg":{"line":51,"col":29},"end":{"line":51,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":18,"beg":{"line":51,"col":19},"end":{"line":51,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[10281,{"Ref":[{"Body":1},{"Deduplicated":10076},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":3,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[10282,{"Ref":[{"Body":2},{"Deduplicated":10076},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[10283,{"Ref":[{"Body":3},{"Deduplicated":10076},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[10284,{"Ref":[{"Body":4},{"Deduplicated":10076},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":20},"end":{"line":52,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":10076}}]},"body":{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":53,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":34}},"generated_from_span":null},"id":8491,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":12}},"generated_from_span":null},"id":8492,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":12}},"generated_from_span":null},"id":8493,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":10282}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":10281}},"Deref"]},"ty":{"Deduplicated":10076}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8494,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8495,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":20},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8496,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":20},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8497,"kind":{"Call":{"func":{"Regular":{"kind":{"Trait":[{"Deduplicated":10129},0,163]},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":10076}}}},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8498,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":10284}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":10076}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8499,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":10283}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":10284}},"Deref"]},"ty":{"Deduplicated":10076}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":34}},"generated_from_span":null},"id":8500,"kind":{"Call":{"func":{"Regular":{"kind":{"Trait":[{"Deduplicated":10110},0,6]},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":10282}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":10283}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":33},"end":{"line":52,"col":34}},"generated_from_span":null},"id":8501,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":33},"end":{"line":52,"col":34}},"generated_from_span":null},"id":8502,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8503,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":40},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8504,"kind":{"Drop":[{"kind":{"Local":6},"ty":{"Deduplicated":10076}},{"kind":{"Trait":[{"HashConsedValue":[10285,{"kind":{"BuiltinOrAuto":{"builtin_data":"UntrackedDestruct","parent_trait_refs":[],"types":[]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]},0,139]},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":40},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8505,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":40},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8506,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":40},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8507,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":53,"col":5},"end":{"line":53,"col":5}},"generated_from_span":null},"id":8508,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":281,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]},{"Ident":["from",0]}],"span":{"data":{"file_id":21,"beg":{"line":592,"col":4},"end":{"line":592,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Converts to this type from the input type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10077}],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":282,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":109}},{"Ident":["from",0]}],"span":{"data":{"file_id":11,"beg":{"line":153,"col":4},"end":{"line":153,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Convert the `Choice` wrapper into a `bool`, depending on whether"},{"DocComment":" the underlying `u8` was a `0` or a `1`."},{"DocComment":""},{"DocComment":" # Note"},{"DocComment":""},{"DocComment":" This function exists to avoid having higher-level cryptographic protocol"},{"DocComment":" implementations duplicating this pattern."},{"DocComment":""},{"DocComment":" The intended use case for this conversion is at the _end_ of a"},{"DocComment":" higher-level primitive implementation: for example, in checking a keyed"},{"DocComment":" MAC, where the verification should happen in constant-time (and thus use"},{"DocComment":" a `Choice`) but it is safe to return a `bool` at the end of the"},{"DocComment":" verification."}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1496}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":109,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1470},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":283,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":111}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":11,"beg":{"line":348,"col":12},"end":{"line":348,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10286,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2113},"Shared"]}]},{"HashConsedValue":[10287,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2113},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":111,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":284,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":112}},{"Ident":["from",0]}],"span":{"data":{"file_id":11,"beg":{"line":238,"col":4},"end":{"line":238,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2113}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":112,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,{"def_id":288,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["index",0]}],"span":{"data":{"file_id":33,"beg":{"line":73,"col":4},"end":{"line":73,"col":49}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the indexing (`container[index]`) operation."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" May panic if the index is out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Idx"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"Deduplicated":10077}],"output":{"Deduplicated":10253}},"src":{"TraitDecl":{"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":289,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}},{"Ident":["index",0]}],"span":{"data":{"file_id":34,"beg":{"line":18,"col":4},"end":{"line":18,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":34,"beg":{"line":13,"col":7},"end":{"line":13,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10109},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10250},{"Deduplicated":10077}],"output":{"Deduplicated":10253}},"src":{"TraitImpl":{"impl_ref":{"id":115,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10114,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10109},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10109},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":290,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get",0]}],"span":{"data":{"file_id":34,"beg":{"line":171,"col":4},"end":{"line":171,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10280}],"output":{"HashConsedValue":[10288,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10253}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":291,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":176,"col":4},"end":{"line":176,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"HashConsedValue":[10289,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10077},"Mut"]}]}],"output":{"HashConsedValue":[10291,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"HashConsedValue":[10290,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10112},"Mut"]}]}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":292,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked",0]}],"span":{"data":{"file_id":34,"beg":{"line":186,"col":4},"end":{"line":186,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10076},{"HashConsedValue":[10173,{"RawPtr":[{"Deduplicated":10077},"Shared"]}]}],"output":{"HashConsedValue":[10174,{"RawPtr":[{"Deduplicated":10112},"Shared"]}]}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":293,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":196,"col":4},"end":{"line":196,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10076},{"HashConsedValue":[10175,{"RawPtr":[{"Deduplicated":10077},"Mut"]}]}],"output":{"HashConsedValue":[10176,{"RawPtr":[{"Deduplicated":10112},"Mut"]}]}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":3},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":294,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index",0]}],"span":{"data":{"file_id":34,"beg":{"line":202,"col":4},"end":{"line":202,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10280}],"output":{"Deduplicated":10253}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":295,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":208,"col":4},"end":{"line":208,"col":59}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10289}],"output":{"Deduplicated":10290}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":5},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":296,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get",0]}],"span":{"data":{"file_id":34,"beg":{"line":635,"col":4},"end":{"line":635,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":3073},{"Deduplicated":10250}],"output":{"HashConsedValue":[10292,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10250}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10109},{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":297,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":640,"col":4},"end":{"line":640,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":3073},{"HashConsedValue":[10293,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10109},"Mut"]}]}],"output":{"HashConsedValue":[10294,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10293}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10109},{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":298,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_unchecked",0]}],"span":{"data":{"file_id":34,"beg":{"line":645,"col":4},"end":{"line":645,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":3073},{"HashConsedValue":[10295,{"RawPtr":[{"Deduplicated":10109},"Shared"]}]}],"output":{"Deduplicated":10295}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10109},{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":299,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_unchecked_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":650,"col":4},"end":{"line":650,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":3073},{"HashConsedValue":[10296,{"RawPtr":[{"Deduplicated":10109},"Mut"]}]}],"output":{"Deduplicated":10296}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10109},{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":3},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":300,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["index",0]}],"span":{"data":{"file_id":34,"beg":{"line":655,"col":4},"end":{"line":655,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":3073},{"Deduplicated":10250}],"output":{"Deduplicated":10250}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10109},{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":301,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":660,"col":4},"end":{"line":660,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":3073},{"Deduplicated":10293}],"output":{"Deduplicated":10293}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10109},{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":5},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":302,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":15,"beg":{"line":2872,"col":12},"end":{"line":2872,"col":58}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":2871,"col":31},"end":{"line":2871,"col":34}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10297,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10116},"Shared"]}]},{"HashConsedValue":[10299,{"Ref":[{"Var":{"Free":2}},{"HashConsedValue":[10298,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Free":3}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":117,"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10117,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":303,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":15,"beg":{"line":3122,"col":4},"end":{"line":3122,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":3121,"col":8},"end":{"line":3121,"col":13}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10250},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":118,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10117}]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":304,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":36,"beg":{"line":85,"col":16},"end":{"line":85,"col":72}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10265},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":119,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,{"def_id":314,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":39,"beg":{"line":49,"col":4},"end":{"line":49,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the bounds on the number of *successor* steps required to get from `start` to `end`"},{"DocComment":" like [`Iterator::size_hint()`][Iterator::size_hint()]."},{"DocComment":""},{"DocComment":" Returns `(usize::MAX, None)` if the number of steps would overflow `usize`, or is infinite."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `b`, and `n`:"},{"DocComment":""},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::forward_checked(&a, n) == Some(b)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::backward_checked(&b, n) == Some(a)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` only if `a <= b`"},{"DocComment":" * Corollary: `steps_between(&a, &b) == (0, Some(0))` if and only if `a == b`"},{"DocComment":" * `steps_between(&a, &b) == (0, None)` if `a > b`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"Deduplicated":10202}],"output":{"HashConsedValue":[4622,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":3512}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":315,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":67,"col":4},"end":{"line":67,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *successor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == Step::forward_checked(a, m).and_then(|x| Step::forward_checked(x, n))`"},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == try { Step::forward_checked(a, n.checked_add(m)) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::forward_checked(&x, 1))`"},{"DocComment":" * Corollary: `Step::forward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":1551}],"output":{"Deduplicated":10178}},"src":{"TraitDecl":{"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":318,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":137,"col":4},"end":{"line":137,"col":67}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *predecessor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == n.checked_add(m).and_then(|x| Step::backward_checked(a, x))`"},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == try { Step::backward_checked(a, n.checked_add(m)?) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::backward_checked(x, 1))`"},{"DocComment":" * Corollary: `Step::backward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":1551}],"output":{"Deduplicated":10178}},"src":{"TraitDecl":{"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":321,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":39,"beg":{"line":271,"col":16},"end":{"line":271,"col":84}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10300,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1551},"Shared"]}]},{"HashConsedValue":[10301,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1551},"Shared"]}]}],"output":{"Deduplicated":4622}},"src":{"TraitImpl":{"impl_ref":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":322,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":282,"col":16},"end":{"line":282,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1551},{"Deduplicated":1551}],"output":{"Deduplicated":3512}},"src":{"TraitImpl":{"impl_ref":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":325,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":290,"col":16},"end":{"line":290,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1551},{"Deduplicated":1551}],"output":{"Deduplicated":3512}},"src":{"TraitImpl":{"impl_ref":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":328,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1550}},"src":"TopLevel","is_global_initializer":57,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":168,"col":31},"end":{"line":168,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1550}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":49}},"generated_from_span":null},"id":8511,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":49}},"generated_from_span":null},"id":8512,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":49}},"generated_from_span":null},"id":8516,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":53}},"generated_from_span":null},"id":8517,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":53}},"generated_from_span":null},"id":8519,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":52},"end":{"line":168,"col":53}},"generated_from_span":null},"id":8520,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"id":8521,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":329,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1550}},"src":"TopLevel","is_global_initializer":58,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":287,"col":31},"end":{"line":287,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1550}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":49}},"generated_from_span":null},"id":8524,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":49}},"generated_from_span":null},"id":8525,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":49}},"generated_from_span":null},"id":8529,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":53}},"generated_from_span":null},"id":8530,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":53}},"generated_from_span":null},"id":8532,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":52},"end":{"line":287,"col":53}},"generated_from_span":null},"id":8533,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"id":8534,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":330,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1550}},"src":"TopLevel","is_global_initializer":59,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":507,"col":35},"end":{"line":507,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1550}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":53}},"generated_from_span":null},"id":8537,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":53}},"generated_from_span":null},"id":8538,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":53}},"generated_from_span":null},"id":8542,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":57}},"generated_from_span":null},"id":8543,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":57}},"generated_from_span":null},"id":8545,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":56},"end":{"line":507,"col":57}},"generated_from_span":null},"id":8546,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"id":8547,"kind":"Return","comments_before":[]}]},"comments":[]}}},null,{"def_id":332,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3469},"kind":"InherentImplBlock"}}},{"Ident":["debug_struct_field2_finish",0]}],"span":{"data":{"file_id":15,"beg":{"line":2473,"col":4},"end":{"line":2480,"col":15}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Shrinks `derive(Debug)` code, for faster compilation and smaller"},{"DocComment":" binaries. `debug_struct_fields_finish` is more general, but this is"},{"DocComment":" faster for 2 fields."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":"'b","mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"},{"index":5,"name":null,"mutability":"Unknown"},{"index":6,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10262},{"HashConsedValue":[10302,{"Ref":[{"Var":{"Free":2}},{"Deduplicated":4274},"Shared"]}]},{"HashConsedValue":[10303,{"Ref":[{"Var":{"Free":3}},{"Deduplicated":4274},"Shared"]}]},{"HashConsedValue":[10305,{"Ref":[{"Var":{"Free":4}},{"HashConsedValue":[10304,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Var":{"Free":4}}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]},{"HashConsedValue":[10306,{"Ref":[{"Var":{"Free":5}},{"Deduplicated":4274},"Shared"]}]},{"HashConsedValue":[10308,{"Ref":[{"Var":{"Free":6}},{"HashConsedValue":[10307,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Var":{"Free":6}}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]}],"output":{"Deduplicated":3010}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":333,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1496},"kind":"InherentImplBlock"}}},{"Ident":["unwrap_u8",0]}],"span":{"data":{"file_id":11,"beg":{"line":133,"col":4},"end":{"line":133,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Unwrap the `Choice` wrapper to reveal the underlying `u8`."},{"DocComment":""},{"DocComment":" # Note"},{"DocComment":""},{"DocComment":" This function only exists as an **escape hatch** for the rare case"},{"DocComment":" where it's not possible to use one of the `subtle`-provided"},{"DocComment":" trait impls."},{"DocComment":""},{"DocComment":" **To convert a `Choice` to a `bool`, use the `From` implementation instead.**"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10309,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1496},"Shared"]}]}],"output":{"Deduplicated":2113}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":334,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}},{"Ident":["hash",0]}],"span":{"data":{"file_id":20,"beg":{"line":812,"col":16},"end":{"line":812,"col":56}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":812,"col":27},"end":{"line":812,"col":33}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10286},{"Deduplicated":10227}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":125,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":336,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":22,"beg":{"line":356,"col":4},"end":{"line":356,"col":60}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":355,"col":8},"end":{"line":355,"col":18}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10252},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":126,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10117}]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10111}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":337,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":36,"beg":{"line":85,"col":16},"end":{"line":85,"col":72}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10286},{"Deduplicated":10207}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":127,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":340,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["into_iter",0]}],"span":{"data":{"file_id":38,"beg":{"line":312,"col":4},"end":{"line":312,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Creates an iterator from a value."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"into_iter"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Item"},{"index":2,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"Deduplicated":10112}},"src":{"TraitDecl":{"trait_ref":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":341,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["call_mut",0]}],"span":{"data":{"file_id":50,"beg":{"line":166,"col":4},"end":{"line":166,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Clause0_Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":10226},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"src":{"TraitDecl":{"trait_ref":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":342,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["call_once",0]}],"span":{"data":{"file_id":50,"beg":{"line":250,"col":4},"end":{"line":250,"col":70}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"src":{"TraitDecl":{"trait_ref":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":343,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]},{"Ident":["from_iter",0]}],"span":{"data":{"file_id":38,"beg":{"line":152,"col":4},"end":{"line":152,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Creates a value from an iterator."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_iter_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"T"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":34,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":38,"beg":{"line":152,"col":20},"end":{"line":152,"col":42}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10112},{"Deduplicated":10077},{"HashConsedValue":[10310,{"TypeVar":{"Free":3}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10112}],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":34,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":344,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["from_output",0]}],"span":{"data":{"file_id":66,"beg":{"line":192,"col":4},"end":{"line":192,"col":49}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Constructs the type from its `Output` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method"},{"DocComment":" such that applying the `?` operator will get back the original value:"},{"DocComment":" `Try::from_output(x).branch() --> ControlFlow::Continue(x)`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::Try;"},{"DocComment":""},{"DocComment":" assert_eq!( as Try>::from_output(3), Ok(3));"},{"DocComment":" assert_eq!( as Try>::from_output(4), Some(4));"},{"DocComment":" assert_eq!("},{"DocComment":" as Try>::from_output(5),"},{"DocComment":" std::ops::ControlFlow::Continue(5),"},{"DocComment":" );"},{"DocComment":""},{"DocComment":" # fn make_question_mark_work() -> Option<()> {"},{"DocComment":" assert_eq!(Option::from_output(4)?, 4);"},{"DocComment":" # None }"},{"DocComment":" # make_question_mark_work();"},{"DocComment":""},{"DocComment":" // This is used, for example, on the accumulator in `try_fold`:"},{"DocComment":" let r = std::iter::empty().try_fold(4, |_, ()| -> Option<_> { unreachable!() });"},{"DocComment":" assert_eq!(r, Some(4));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_output"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10312,{"TraitType":[{"HashConsedValue":[10311,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]},0,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":345,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["branch",0]}],"span":{"data":{"file_id":66,"beg":{"line":219,"col":4},"end":{"line":219,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used in `?` to decide whether the operator should produce a value"},{"DocComment":" (because this returned [`ControlFlow::Continue`])"},{"DocComment":" or propagate a value back to the caller"},{"DocComment":" (because this returned [`ControlFlow::Break`])."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, Try};"},{"DocComment":""},{"DocComment":" assert_eq!(Ok::<_, String>(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(Err::(3).branch(), ControlFlow::Break(Err(3)));"},{"DocComment":""},{"DocComment":" assert_eq!(Some(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(None::.branch(), ControlFlow::Break(None));"},{"DocComment":""},{"DocComment":" assert_eq!(ControlFlow::::Continue(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::Break(3).branch(),"},{"DocComment":" ControlFlow::Break(ControlFlow::Break(3)),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"branch"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"HashConsedValue":[10314,{"Adt":{"id":{"Adt":70},"generics":{"regions":[],"types":[{"HashConsedValue":[10313,{"TraitType":[{"Deduplicated":10311},1,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]},{"Deduplicated":10312}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":346,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend",0]}],"span":{"data":{"file_id":38,"beg":{"line":416,"col":4},"end":{"line":416,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Extends a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" As this is the only required method for this trait, the [trait-level] docs"},{"DocComment":" contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: Extend"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"abc\");"},{"DocComment":""},{"DocComment":" message.extend(['d', 'e', 'f'].iter());"},{"DocComment":""},{"DocComment":" assert_eq!(\"abcdef\", &message);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"T"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":37,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":38,"beg":{"line":416,"col":17},"end":{"line":416,"col":39}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10112},{"Deduplicated":10077},{"Deduplicated":10310}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10226},{"Deduplicated":10112}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":37,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,{"def_id":350,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["next_back",0]}],"span":{"data":{"file_id":67,"beg":{"line":96,"col":4},"end":{"line":96,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Removes and returns an element from the end of the iterator."},{"DocComment":""},{"DocComment":" Returns `None` when there are no more elements."},{"DocComment":""},{"DocComment":" The [trait-level] docs contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: DoubleEndedIterator"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Remarks"},{"DocComment":""},{"DocComment":" The elements yielded by `DoubleEndedIterator`'s methods may differ from"},{"DocComment":" the ones yielded by [`Iterator`]'s methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let vec = vec![(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b')];"},{"DocComment":" let uniq_by_fst_comp = || {"},{"DocComment":" let mut seen = std::collections::HashSet::new();"},{"DocComment":" vec.iter().copied().filter(move |x| seen.insert(x.0))"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" assert_eq!(uniq_by_fst_comp().last(), Some((2, 'a')));"},{"DocComment":" assert_eq!(uniq_by_fst_comp().next_back(), Some((2, 'b')));"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().fold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(1, 'a'), (2, 'a')]"},{"DocComment":" );"},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().rfold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(2, 'b'), (1, 'c')]"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":38,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10226}],"output":{"Deduplicated":10163}},"src":{"TraitDecl":{"trait_ref":{"id":38,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,{"def_id":358,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["cmp",0]}],"span":{"data":{"file_id":9,"beg":{"line":1000,"col":4},"end":{"line":1000,"col":44}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This method returns an [`Ordering`] between `self` and `other`."},{"DocComment":""},{"DocComment":" By convention, `self.cmp(&other)` returns the ordering matching the expression"},{"DocComment":" `self other` if true."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(5.cmp(&10), Ordering::Less);"},{"DocComment":" assert_eq!(10.cmp(&5), Ordering::Greater);"},{"DocComment":" assert_eq!(5.cmp(&5), Ordering::Equal);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ord_cmp_method"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"Deduplicated":10202}],"output":{"HashConsedValue":[6088,{"Adt":{"id":{"Adt":58},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,{"def_id":362,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]},{"Ident":["product",0]}],"span":{"data":{"file_id":24,"beg":{"line":44,"col":4},"end":{"line":44,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by multiplying"},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":41,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":24,"beg":{"line":44,"col":18},"end":{"line":44,"col":36}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10112},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10112}],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":41,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":363,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":9,"beg":{"line":1395,"col":4},"end":{"line":1395,"col":59}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This method returns an ordering between `self` and `other` values if one exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&2.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Less));"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Equal));"},{"DocComment":""},{"DocComment":" let result = 2.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Greater));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" When comparison is impossible:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let result = f64::NAN.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, None);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"cmp_partialord_cmp"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116},{"Deduplicated":10201}],"output":{"HashConsedValue":[6382,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":6088}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,{"def_id":373,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["get_selected_backend",0]}],"span":{"data":{"file_id":4,"beg":{"line":53,"col":0},"end":{"line":64,"col":1}},"generated_from_span":null},"source_text":"fn get_selected_backend() -> BackendKind {\n #[cfg(target_arch = \"x86_64\")]\n {\n cpufeatures::new!(cpuid_avx2, \"avx2\");\n let token_avx2: cpuid_avx2::InitToken = cpuid_avx2::init();\n if token_avx2.get() {\n return BackendKind::Avx2;\n }\n }\n\n BackendKind::Serial\n}","attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":7803}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":374,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["variable_base",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":79,"beg":{"line":11,"col":0},"end":{"line":48,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n // Construct a lookup table of [P,2P,3P,4P,5P,6P,7P,8P]\n let lookup_table = LookupTable::::from(point);\n // Setting s = scalar, compute\n //\n // s = s_0 + s_1*16^1 + ... + s_63*16^63,\n //\n // with `-8 ≤ s_i < 8` for `0 ≤ i < 63` and `-8 ≤ s_63 ≤ 8`.\n // This decomposition requires s < 2^255, which is guaranteed by Scalar invariant #1.\n let scalar_digits = scalar.as_radix_16();\n // Compute s*P as\n //\n // s*P = P*(s_0 + s_1*16^1 + s_2*16^2 + ... + s_63*16^63)\n // s*P = P*s_0 + P*s_1*16^1 + P*s_2*16^2 + ... + P*s_63*16^63\n // s*P = P*s_0 + 16*(P*s_1 + 16*(P*s_2 + 16*( ... + P*s_63)...))\n //\n // We sum right-to-left.\n\n // Unwrap first loop iteration to save computing 16*identity\n let mut tmp2;\n let mut tmp3 = EdwardsPoint::identity();\n let mut tmp1 = &tmp3 + &lookup_table.select(scalar_digits[63]);\n // Now tmp1 = s_63*P in P1xP1 coords\n for i in (0..63).rev() {\n tmp2 = tmp1.as_projective(); // tmp2 = (prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 2*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 2*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 4*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 4*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 8*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 8*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 16*(prev) in P1xP1 coords\n tmp3 = tmp1.as_extended(); // tmp3 = 16*(prev) in P3 coords\n tmp1 = &tmp3 + &lookup_table.select(scalar_digits[i]);\n // Now tmp1 = s_i*P + 16*(prev) in P1xP1 coords\n }\n tmp1.as_extended()\n}","attr_info":{"attributes":[{"DocComment":" Perform constant-time, variable-base scalar multiplication."},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":10103}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":375,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["variable_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":81,"beg":{"line":3,"col":0},"end":{"line":3,"col":68}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Perform constant-time, variable-base scalar multiplication."}],"inline":"Always","rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099},{"Deduplicated":10103}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":376,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["ED25519_BASEPOINT_POINT",0]}],"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"source_text":"pub const ED25519_BASEPOINT_POINT: EdwardsPoint = EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1738742601995546,\n 1146398526822698,\n 2070867633025821,\n 562264141797630,\n 587772402128613,\n ]),\n Y: FieldElement51::from_limbs([\n 1801439850948184,\n 1351079888211148,\n 450359962737049,\n 900719925474099,\n 1801439850948198,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1841354044333475,\n 16398895984059,\n 755974180946558,\n 900171276175154,\n 1821297809914039,\n ]),\n};","attr_info":{"attributes":[{"DocComment":" The Ed25519 basepoint, as an `EdwardsPoint`."},{"DocComment":""},{"DocComment":" This is called `_POINT` to distinguish it from"},{"DocComment":" `ED25519_BASEPOINT_TABLE`, which should be used for scalar"},{"DocComment":" multiplication (it's much faster)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":67,"body":{"Structured":{"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":74,"beg":{"line":163,"col":35},"end":{"line":163,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":null,"span":{"data":{"file_id":74,"beg":{"line":164,"col":7},"end":{"line":170,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":2,"name":null,"span":{"data":{"file_id":74,"beg":{"line":164,"col":34},"end":{"line":170,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":3,"name":null,"span":{"data":{"file_id":74,"beg":{"line":171,"col":7},"end":{"line":177,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":74,"beg":{"line":171,"col":34},"end":{"line":177,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":5,"name":null,"span":{"data":{"file_id":74,"beg":{"line":178,"col":7},"end":{"line":178,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":74,"beg":{"line":178,"col":34},"end":{"line":178,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":7,"name":null,"span":{"data":{"file_id":74,"beg":{"line":179,"col":7},"end":{"line":185,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":74,"beg":{"line":179,"col":34},"end":{"line":185,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":74,"beg":{"line":164,"col":7},"end":{"line":170,"col":6}},"generated_from_span":null},"id":8548,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":164,"col":34},"end":{"line":170,"col":5}},"generated_from_span":null},"id":8549,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":164,"col":34},"end":{"line":170,"col":5}},"generated_from_span":null},"id":8550,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1738742601995546"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1146398526822698"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2070867633025821"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","562264141797630"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","587772402128613"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":164,"col":7},"end":{"line":170,"col":6}},"generated_from_span":null},"id":8551,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":1},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":170,"col":5},"end":{"line":170,"col":6}},"generated_from_span":null},"id":8552,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":171,"col":7},"end":{"line":177,"col":6}},"generated_from_span":null},"id":8553,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":171,"col":34},"end":{"line":177,"col":5}},"generated_from_span":null},"id":8554,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":171,"col":34},"end":{"line":177,"col":5}},"generated_from_span":null},"id":8555,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1801439850948184"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1351079888211148"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","450359962737049"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","900719925474099"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1801439850948198"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":171,"col":7},"end":{"line":177,"col":6}},"generated_from_span":null},"id":8556,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":177,"col":5},"end":{"line":177,"col":6}},"generated_from_span":null},"id":8557,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":7},"end":{"line":178,"col":50}},"generated_from_span":null},"id":8558,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":34},"end":{"line":178,"col":49}},"generated_from_span":null},"id":8559,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":34},"end":{"line":178,"col":49}},"generated_from_span":null},"id":8560,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":7},"end":{"line":178,"col":50}},"generated_from_span":null},"id":8561,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":49},"end":{"line":178,"col":50}},"generated_from_span":null},"id":8562,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":179,"col":7},"end":{"line":185,"col":6}},"generated_from_span":null},"id":8563,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":179,"col":34},"end":{"line":185,"col":5}},"generated_from_span":null},"id":8564,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":179,"col":34},"end":{"line":185,"col":5}},"generated_from_span":null},"id":8565,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1841354044333475"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","16398895984059"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","755974180946558"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","900171276175154"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1821297809914039"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":179,"col":7},"end":{"line":185,"col":6}},"generated_from_span":null},"id":8566,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":185,"col":5},"end":{"line":185,"col":6}},"generated_from_span":null},"id":8567,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":163,"col":50},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8568,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":186,"col":0},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8569,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":186,"col":0},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8570,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":186,"col":0},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8571,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":186,"col":0},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8572,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"id":8573,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":377,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":84,"beg":{"line":23,"col":0},"end":{"line":72,"col":1}},"generated_from_span":null},"source_text":"pub fn mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n let a_naf = a.non_adjacent_form(5);\n\n #[cfg(feature = \"precomputed-tables\")]\n let b_naf = b.non_adjacent_form(8);\n #[cfg(not(feature = \"precomputed-tables\"))]\n let b_naf = b.non_adjacent_form(5);\n\n // Find starting index\n let mut i: usize = 255;\n for j in (0..256).rev() {\n i = j;\n if a_naf[i] != 0 || b_naf[i] != 0 {\n break;\n }\n }\n\n let table_A = NafLookupTable5::::from(A);\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n let mut r = ProjectivePoint::identity();\n loop {\n let mut t = r.double();\n\n match a_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A.select(a_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A.select(-a_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n match b_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B.select(b_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B.select(-b_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n r = t.as_projective();\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n r.as_extended()\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"Deduplicated":10246}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":378,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":85,"beg":{"line":14,"col":0},"end":{"line":14,"col":68}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."}],"inline":"Always","rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"Deduplicated":10246}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":379,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["scalar_fits_in_128_bits",0]}],"span":{"data":{"file_id":4,"beg":{"line":283,"col":0},"end":{"line":285,"col":1}},"generated_from_span":null},"source_text":"fn scalar_fits_in_128_bits(scalar: &Scalar) -> bool {\n scalar.as_bytes()[16..32].iter().all(|&byte| byte == 0)\n}","attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102}],"output":{"Deduplicated":1470}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":380,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_triple_base_mul_128_128_256_prechecked",0]}],"span":{"data":{"file_id":4,"beg":{"line":262,"col":0},"end":{"line":280,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn vartime_triple_base_mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::vartime_triple_base::spec_avx2::mul_128_128_256_prechecked(\n a1, A1, a2, A2, b,\n )\n }\n BackendKind::Serial => {\n serial::scalar_mul::vartime_triple_base::mul_128_128_256_prechecked(a1, A1, a2, A2, b)\n }\n }\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) using the optimized 128/128/256-bit path."},{"DocComment":""},{"DocComment":" Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\)."},{"Unknown":{"path":"allow","args":"non_snake_case"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"Deduplicated":10246},{"Deduplicated":10247},{"Deduplicated":10248}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":4,"beg":{"line":262,"col":0},"end":{"line":280,"col":1}},"generated_from_span":null},"bound_body_regions":37,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":4,"beg":{"line":268,"col":5},"end":{"line":268,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a1","span":{"data":{"file_id":4,"beg":{"line":263,"col":4},"end":{"line":263,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A1","span":{"data":{"file_id":4,"beg":{"line":264,"col":4},"end":{"line":264,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"a2","span":{"data":{"file_id":4,"beg":{"line":265,"col":4},"end":{"line":265,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":"A2","span":{"data":{"file_id":4,"beg":{"line":266,"col":4},"end":{"line":266,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":5,"name":"b","span":{"data":{"file_id":4,"beg":{"line":267,"col":4},"end":{"line":267,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":6640}},{"index":6,"name":null,"span":{"data":{"file_id":4,"beg":{"line":269,"col":10},"end":{"line":269,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":7803}},{"index":7,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":16},"end":{"line":273,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":6593}},{"index":8,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":20},"end":{"line":273,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4524}},{"index":9,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":24},"end":{"line":273,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":6641}},{"index":10,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":28},"end":{"line":273,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":6642}},{"index":11,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":32},"end":{"line":273,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":6643}},{"index":12,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":80},"end":{"line":277,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[8121,{"Ref":[{"Body":12},{"Deduplicated":2689},"Shared"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":84},"end":{"line":277,"col":86}},"generated_from_span":null},"ty":{"HashConsedValue":[8122,{"Ref":[{"Body":13},{"Deduplicated":1955},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":88},"end":{"line":277,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":7887}},{"index":15,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":92},"end":{"line":277,"col":94}},"generated_from_span":null},"ty":{"Deduplicated":7888}},{"index":16,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":96},"end":{"line":277,"col":97}},"generated_from_span":null},"ty":{"Deduplicated":7889}}]},"body":{"span":{"data":{"file_id":4,"beg":{"line":269,"col":4},"end":{"line":280,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":269,"col":10},"end":{"line":269,"col":32}},"generated_from_span":null},"id":8575,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":269,"col":10},"end":{"line":269,"col":32}},"generated_from_span":null},"id":8576,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":373}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":7803}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":269,"col":4},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8613,"kind":{"Switch":{"Match":[{"kind":{"Local":6},"ty":{"Deduplicated":7803}},[[[0],{"span":{"data":{"file_id":4,"beg":{"line":273,"col":16},"end":{"line":274,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":273,"col":16},"end":{"line":273,"col":18}},"generated_from_span":null},"id":8578,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":16},"end":{"line":273,"col":18}},"generated_from_span":null},"id":8579,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":20},"end":{"line":273,"col":22}},"generated_from_span":null},"id":8580,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":20},"end":{"line":273,"col":22}},"generated_from_span":null},"id":8581,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4524}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":24},"end":{"line":273,"col":26}},"generated_from_span":null},"id":8582,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":24},"end":{"line":273,"col":26}},"generated_from_span":null},"id":8583,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":6641}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":28},"end":{"line":273,"col":30}},"generated_from_span":null},"id":8584,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":28},"end":{"line":273,"col":30}},"generated_from_span":null},"id":8585,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":6642}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":32},"end":{"line":273,"col":33}},"generated_from_span":null},"id":8586,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":32},"end":{"line":273,"col":33}},"generated_from_span":null},"id":8587,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":6643}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":272,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8588,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":406}},"generics":{"regions":[{"Body":32},{"Body":33},{"Body":34},{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6593}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4524}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":6641}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":6642}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":6643}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8589,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8590,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8591,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8592,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8593,"kind":{"StorageDead":7},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":4,"beg":{"line":277,"col":80},"end":{"line":277,"col":98}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":277,"col":80},"end":{"line":277,"col":82}},"generated_from_span":null},"id":8595,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":80},"end":{"line":277,"col":82}},"generated_from_span":null},"id":8596,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":8121}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":84},"end":{"line":277,"col":86}},"generated_from_span":null},"id":8597,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":84},"end":{"line":277,"col":86}},"generated_from_span":null},"id":8598,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":8122}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":88},"end":{"line":277,"col":90}},"generated_from_span":null},"id":8599,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":88},"end":{"line":277,"col":90}},"generated_from_span":null},"id":8600,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":7887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":92},"end":{"line":277,"col":94}},"generated_from_span":null},"id":8601,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":92},"end":{"line":277,"col":94}},"generated_from_span":null},"id":8602,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":7888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":96},"end":{"line":277,"col":97}},"generated_from_span":null},"id":8603,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":96},"end":{"line":277,"col":97}},"generated_from_span":null},"id":8604,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":7889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":12},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8605,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":405}},"generics":{"regions":[{"Body":22},{"Body":23},{"Body":24},{"Body":25},{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":8121}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":8122}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":7887}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":7888}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":7889}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8606,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8607,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8608,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8609,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8610,"kind":{"StorageDead":12},"comments_before":[]}]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":279,"col":4},"end":{"line":279,"col":5}},"generated_from_span":null},"id":8614,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":280,"col":1},"end":{"line":280,"col":1}},"generated_from_span":null},"id":8615,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":381,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":39,"beg":{"line":271,"col":16},"end":{"line":271,"col":84}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10315,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2925},"Shared"]}]},{"HashConsedValue":[10316,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2925},"Shared"]}]}],"output":{"Deduplicated":4622}},"src":{"TraitImpl":{"impl_ref":{"id":130,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":382,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":282,"col":16},"end":{"line":282,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2925},{"Deduplicated":1551}],"output":{"Deduplicated":6660}},"src":{"TraitImpl":{"impl_ref":{"id":130,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":385,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":290,"col":16},"end":{"line":290,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2925},{"Deduplicated":1551}],"output":{"Deduplicated":6660}},"src":{"TraitImpl":{"impl_ref":{"id":130,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":388,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["constants",0]},{"Ident":["BASEPOINT_ORDER",0]}],"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"source_text":"pub(crate) const BASEPOINT_ORDER: Scalar = Scalar {\n bytes: [\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde,\n 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x10,\n ],\n};","attr_info":{"attributes":[{"DocComment":" `BASEPOINT_ORDER` is the order of the Ristretto group and of the Ed25519 basepoint, i.e.,"},{"DocComment":" $$"},{"DocComment":" \\ell = 2^\\{252\\} + 27742317777372353535851937790883648493."},{"DocComment":" $$"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":2689}},"src":"TopLevel","is_global_initializer":68,"body":{"Structured":{"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":75,"beg":{"line":58,"col":34},"end":{"line":58,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":1,"name":null,"span":{"data":{"file_id":75,"beg":{"line":59,"col":11},"end":{"line":63,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":2114}}]},"body":{"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":75,"beg":{"line":59,"col":11},"end":{"line":63,"col":5}},"generated_from_span":null},"id":8616,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":75,"beg":{"line":59,"col":11},"end":{"line":63,"col":5}},"generated_from_span":null},"id":8617,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":2114}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","237"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","211"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","245"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","92"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","26"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","99"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","18"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","214"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","156"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","247"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","162"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","222"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","249"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","222"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","20"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","16"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":75,"beg":{"line":58,"col":43},"end":{"line":64,"col":1}},"generated_from_span":null},"id":8618,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2689}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":75,"beg":{"line":64,"col":0},"end":{"line":64,"col":1}},"generated_from_span":null},"id":8619,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"id":8620,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":389,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["Into",0]},{"Ident":["into",0]}],"span":{"data":{"file_id":21,"beg":{"line":454,"col":4},"end":{"line":454,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Converts this type into the (usually inferred) input type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"Deduplicated":10077}},"src":{"TraitDecl":{"trait_ref":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":390,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]},{"Ident":["bitor",0]}],"span":{"data":{"file_id":76,"beg":{"line":271,"col":4},"end":{"line":271,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `|` operation."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(true | false, true);"},{"DocComment":" assert_eq!(false | false, false);"},{"DocComment":" assert_eq!(5u8 | 1u8, 5);"},{"DocComment":" assert_eq!(5u8 | 2u8, 7);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"src":{"TraitDecl":{"trait_ref":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":391,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":133}},{"Ident":["clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10300}],"output":{"Deduplicated":1551}},"src":{"TraitImpl":{"impl_ref":{"id":133,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":392,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":9,"beg":{"line":1999,"col":16},"end":{"line":1999,"col":71}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10300},{"Deduplicated":10301}],"output":{"Deduplicated":6382}},"src":{"TraitImpl":{"impl_ref":{"id":134,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,{"def_id":401,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":5,"beg":{"line":45,"col":0},"end":{"line":49,"col":1}},"generated_from_span":null},"source_text":"impl Debug for FieldElement51 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":7289}},"src":{"VTableInstance":{"impl_ref":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}},"is_global_initializer":1,"body":"Opaque"},{"def_id":402,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":15,"beg":{"line":2871,"col":8},"end":{"line":2871,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":2871,"col":31},"end":{"line":2871,"col":34}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":7289}},"src":{"VTableInstance":{"impl_ref":{"id":117,"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10117}]}}}},"is_global_initializer":73,"body":"Opaque"},{"def_id":403,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]},{"Ident":["bitand",0]}],"span":{"data":{"file_id":76,"beg":{"line":167,"col":4},"end":{"line":167,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `&` operation."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(true & false, false);"},{"DocComment":" assert_eq!(true & true, true);"},{"DocComment":" assert_eq!(5u8 & 1u8, 1);"},{"DocComment":" assert_eq!(5u8 & 2u8, 0);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"src":{"TraitDecl":{"trait_ref":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":404,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]},{"Ident":["from_residual",0]}],"span":{"data":{"file_id":66,"beg":{"line":333,"col":4},"end":{"line":333,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Constructs the type from a compatible `Residual` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method such"},{"DocComment":" that applying the `?` operator will get back an equivalent residual:"},{"DocComment":" `FromResidual::from_residual(r).branch() --> ControlFlow::Break(r)`."},{"DocComment":" (The residual is not mandated to be *identical* when interconversion is involved.)"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, FromResidual};"},{"DocComment":""},{"DocComment":" assert_eq!(Result::::from_residual(Err(3_u8)), Err(3));"},{"DocComment":" assert_eq!(Option::::from_residual(None), None);"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::from_residual(ControlFlow::Break(5)),"},{"DocComment":" ControlFlow::Break(5),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_residual"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"R"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10077}],"output":{"Deduplicated":10076}},"src":{"TraitDecl":{"trait_ref":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":405,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_triple_base",0]},{"Ident":["mul_128_128_256_prechecked",0]}],"span":{"data":{"file_id":86,"beg":{"line":68,"col":0},"end":{"line":168,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n // Decompose b into b_lo (lower 128 bits) and b_hi (upper 128 bits)\n // b = b_lo + b_hi * 2^128\n let b_bytes = b.as_bytes();\n\n let mut b_lo_bytes = [0u8; 32];\n let mut b_hi_bytes = [0u8; 32];\n\n // Copy lower 16 bytes to b_lo, upper 16 bytes to b_hi\n b_lo_bytes[..16].copy_from_slice(&b_bytes[..16]);\n b_hi_bytes[..16].copy_from_slice(&b_bytes[16..]);\n\n let b_lo = Scalar::from_canonical_bytes(b_lo_bytes).unwrap();\n let b_hi = Scalar::from_canonical_bytes(b_hi_bytes).unwrap();\n\n // Compute NAF representations (all scalars are now ~128 bits).\n //\n // The serial backend keeps b_lo at width 5 even when table_B is the larger\n // precomputed width-8 basepoint table. The vector backend uses width 8 in\n // that configuration.\n let a1_naf = a1.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let a2_naf = a2.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let b_lo_naf = b_lo.non_adjacent_form_128(B_LO_NAF_WINDOW);\n let b_hi_naf = b_hi.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n\n // Find starting index - check all NAFs up to bit 127\n // (with potential carry to bit 128 or 129)\n let mut i: usize = HEEA_MAX_INDEX;\n for j in (0..=HEEA_MAX_INDEX).rev() {\n i = j;\n if a1_naf[i] != 0 || a2_naf[i] != 0 || b_lo_naf[i] != 0 || b_hi_naf[i] != 0 {\n break;\n }\n }\n\n // Create lookup tables\n let table_A1 = NafLookupTable5::::from(A1);\n let table_A2 = NafLookupTable5::::from(A2);\n\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n // B' = B * 2^128 (precomputed constant point)\n #[cfg(feature = \"precomputed-tables\")]\n let table_B_128 = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT_128;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B_128 =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_128_POINT);\n\n let mut r = ProjectivePoint::identity();\n\n loop {\n let mut t = r.double();\n\n // Add contributions from a1*A1\n match a1_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A1.select(a1_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A1.select(-a1_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from a2*A2\n match a2_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A2.select(a2_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A2.select(-a2_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from b_lo*B\n match b_lo_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B.select(b_lo_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B.select(-b_lo_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from b_hi*B' where B' = B * 2^128\n match b_hi_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B_128.select(b_hi_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B_128.select(-b_hi_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n r = t.as_projective();\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n r.as_extended()\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":""},{"DocComment":" This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are known to be less than"},{"DocComment":" \\\\(2^{128}\\\\), while \\\\(b\\\\) is a full 256-bit scalar."},{"DocComment":""},{"DocComment":" # Precondition"},{"DocComment":""},{"DocComment":" Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\). Use"},{"DocComment":" `vartime_triple_base_mul_128_128_256` for a checked wrapper that falls back"},{"DocComment":" to general scalar multiplication for full-width scalars."},{"DocComment":""},{"DocComment":" # Optimization Strategy"},{"DocComment":""},{"DocComment":" The function decomposes the 256-bit scalar \\\\(b\\\\) as \\\\(b = b_{lo} + b_{hi} \\cdot 2^{128}\\\\),"},{"DocComment":" where both \\\\(b_{lo}\\\\) and \\\\(b_{hi}\\\\) are 128-bit values. This allows computing:"},{"DocComment":""},{"DocComment":" \\\\["},{"DocComment":" a_1 A_1 + a_2 A_2 + b_{lo} B + b_{hi} B'"},{"DocComment":" \\\\]"},{"DocComment":""},{"DocComment":" where \\\\(B' = B \\cdot 2^{128}\\\\) is a precomputed constant. Now all four scalars"},{"DocComment":" (\\\\(a_1, a_2, b_{lo}, b_{hi}\\\\)) are 128 bits, and two of the bases (\\\\(B\\\\) and \\\\(B'\\\\))"},{"DocComment":" use precomputed tables."},{"DocComment":""},{"DocComment":" # Implementation"},{"DocComment":""},{"DocComment":" - For \\\\(A_1\\\\) and \\\\(A_2\\\\): NAF with window width 5 (8 precomputed points each)"},{"DocComment":" - For \\\\(B\\\\): NAF with window width 5. When precomputed tables are enabled,"},{"DocComment":" these width-5 digits are selected from the larger width-8 basepoint table."},{"DocComment":" - For \\\\(B'\\\\): NAF with window width 5."},{"DocComment":""},{"DocComment":" The vector backend uses width 8 for \\\\(b_{lo}\\\\) when precomputed tables are"},{"DocComment":" enabled. This serial backend keeps width 5 for \\\\(b_{lo}\\\\) as a"},{"DocComment":" backend-specific performance tradeoff."},{"DocComment":""},{"DocComment":" The algorithm shares doublings across all four scalar multiplications, processing"},{"DocComment":" only 128 bits instead of 256, providing approximately 2x speedup over the naive approach."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"Deduplicated":10246},{"Deduplicated":10247},{"Deduplicated":10248}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":406,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_triple_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul_128_128_256_prechecked",0]}],"span":{"data":{"file_id":87,"beg":{"line":10,"col":0},"end":{"line":10,"col":68}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":""},{"DocComment":" This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are known to be less than"},{"DocComment":" \\\\(2^{128}\\\\), while \\\\(b\\\\) is a full 256-bit scalar."},{"DocComment":""},{"DocComment":" # Precondition"},{"DocComment":""},{"DocComment":" Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\). Use"},{"DocComment":" `vartime_triple_base_mul_128_128_256` for a checked wrapper that falls back"},{"DocComment":" to general scalar multiplication for full-width scalars."},{"DocComment":""},{"DocComment":" # Optimization Strategy"},{"DocComment":""},{"DocComment":" The function decomposes the 256-bit scalar \\\\(b\\\\) as \\\\(b = b_{lo} + b_{hi} \\cdot 2^{128}\\\\),"},{"DocComment":" where both \\\\(b_{lo}\\\\) and \\\\(b_{hi}\\\\) are 128-bit values. This allows computing:"},{"DocComment":""},{"DocComment":" \\\\["},{"DocComment":" a_1 A_1 + a_2 A_2 + b_{lo} B + b_{hi} B'"},{"DocComment":" \\\\]"},{"DocComment":""},{"DocComment":" where \\\\(B' = B \\cdot 2^{128}\\\\) is a precomputed constant. Now all four scalars"},{"DocComment":" (\\\\(a_1, a_2, b_{lo}, b_{hi}\\\\)) are 128 bits, and two of the bases (\\\\(B\\\\) and \\\\(B'\\\\))"},{"DocComment":" use precomputed tables."},{"DocComment":""},{"DocComment":" # Implementation"},{"DocComment":""},{"DocComment":" - For \\\\(A_1\\\\) and \\\\(A_2\\\\): NAF with window width 5 (8 precomputed points each)"},{"DocComment":" - For \\\\(B\\\\): NAF with window width 8 when precomputed tables available (64 points), otherwise width 5"},{"DocComment":" - For \\\\(B'\\\\): NAF with window width 5"},{"DocComment":""},{"DocComment":" The serial backend keeps \\\\(b_{lo}\\\\) at width 5 even when precomputed"},{"DocComment":" tables are enabled. This vector backend uses width 8 in that"},{"DocComment":" configuration as a backend-specific performance tradeoff."},{"DocComment":""},{"DocComment":" The algorithm shares doublings across all four scalar multiplications, processing"},{"DocComment":" only 128 bits instead of 256, providing approximately 2x speedup over the naive approach."},{"DocComment":""},{"DocComment":" This SIMD implementation uses vectorized point operations (AVX2 or AVX512-IFMA) for"},{"DocComment":" improved performance over the serial backend."}],"inline":"Always","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10102},{"Deduplicated":10090},{"Deduplicated":10246},{"Deduplicated":10247},{"Deduplicated":10248}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":407,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":139}},{"Ident":["clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10315}],"output":{"Deduplicated":2925}},"src":{"TraitImpl":{"impl_ref":{"id":139,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":408,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":9,"beg":{"line":1999,"col":16},"end":{"line":1999,"col":71}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10315},{"Deduplicated":10316}],"output":{"Deduplicated":6382}},"src":{"TraitImpl":{"impl_ref":{"id":140,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,{"def_id":417,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]},{"Ident":["is_identity",0]}],"span":{"data":{"file_id":18,"beg":{"line":41,"col":4},"end":{"line":41,"col":34}},"generated_from_span":null},"source_text":"fn is_identity(&self) -> bool;","attr_info":{"attributes":[{"DocComment":" Return true if this element is the identity element of the curve."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10116}],"output":{"Deduplicated":1470}},"src":{"TraitDecl":{"trait_ref":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"TraitMethodWithoutDefault"},{"def_id":418,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["SQRT_M1",0]}],"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const SQRT_M1: FieldElement51 = FieldElement51::from_limbs([\n 1718705420411056,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n]);","attr_info":{"attributes":[{"DocComment":" Precomputed value of one of the square roots of -1 (mod p)"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":82,"body":{"Structured":{"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":74,"beg":{"line":99,"col":26},"end":{"line":99,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":74,"beg":{"line":99,"col":70},"end":{"line":105,"col":1}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":74,"beg":{"line":99,"col":70},"end":{"line":105,"col":1}},"generated_from_span":null},"id":8621,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":99,"col":70},"end":{"line":105,"col":1}},"generated_from_span":null},"id":8622,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1718705420411056"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","234908883556509"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2233514472574048"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2117202627021982"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","765476049583133"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":99,"col":43},"end":{"line":105,"col":2}},"generated_from_span":null},"id":8623,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":105,"col":1},"end":{"line":105,"col":2}},"generated_from_span":null},"id":8624,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"id":8625,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":419,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}},{"Ident":["eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":1878,"col":16},"end":{"line":1878,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10300},{"Deduplicated":10301}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":141,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":421,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":142}},{"Ident":["clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10265}],"output":{"Deduplicated":1550}},"src":{"TraitImpl":{"impl_ref":{"id":142,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":422,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D",0]}],"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const EDWARDS_D: FieldElement51 = FieldElement51::from_limbs([\n 929955233495203,\n 466365720129213,\n 1662059464998953,\n 2033849074728123,\n 1442794654840575,\n]);","attr_info":{"attributes":[{"DocComment":" Edwards `d` value, equal to `-121665/121666 mod p`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":85,"body":{"Structured":{"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":74,"beg":{"line":45,"col":28},"end":{"line":45,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":74,"beg":{"line":45,"col":72},"end":{"line":51,"col":1}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":74,"beg":{"line":45,"col":72},"end":{"line":51,"col":1}},"generated_from_span":null},"id":8626,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":45,"col":72},"end":{"line":51,"col":1}},"generated_from_span":null},"id":8627,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","929955233495203"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","466365720129213"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1662059464998953"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2033849074728123"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1442794654840575"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":45,"col":45},"end":{"line":51,"col":2}},"generated_from_span":null},"id":8628,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":51,"col":1},"end":{"line":51,"col":2}},"generated_from_span":null},"id":8629,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"id":8630,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":423,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D2",0]}],"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const EDWARDS_D2: FieldElement51 = FieldElement51::from_limbs([\n 1859910466990425,\n 932731440258426,\n 1072319116312658,\n 1815898335770999,\n 633789495995903,\n]);","attr_info":{"attributes":[{"DocComment":" Edwards `2*d` value, equal to `2*(-121665/121666) mod p`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":86,"body":{"Structured":{"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":74,"beg":{"line":54,"col":29},"end":{"line":54,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":74,"beg":{"line":54,"col":73},"end":{"line":60,"col":1}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":74,"beg":{"line":54,"col":73},"end":{"line":60,"col":1}},"generated_from_span":null},"id":8631,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":54,"col":73},"end":{"line":60,"col":1}},"generated_from_span":null},"id":8632,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1859910466990425"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","932731440258426"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1072319116312658"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1815898335770999"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","633789495995903"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":54,"col":46},"end":{"line":60,"col":2}},"generated_from_span":null},"id":8633,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":60,"col":1},"end":{"line":60,"col":2}},"generated_from_span":null},"id":8634,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"id":8635,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":424,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":143}},{"Ident":["clone",0]}],"span":{"data":{"file_id":77,"beg":{"line":17,"col":17},"end":{"line":17,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10317,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[7427,{"Adt":{"id":{"Adt":66},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":7427}},"src":{"TraitImpl":{"impl_ref":{"id":143,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":425,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":144}},{"Ident":["eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":1878,"col":16},"end":{"line":1878,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10315},{"Deduplicated":10316}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":144,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":427,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":0}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":1,"beg":{"line":52,"col":0},"end":{"line":52,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10080}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":0,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":428,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":6,"beg":{"line":295,"col":0},"end":{"line":311,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10225},{"HashConsedValue":[10318,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1865},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":37,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":429,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":6,"beg":{"line":313,"col":0},"end":{"line":327,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10228},{"HashConsedValue":[10319,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1842},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":430,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":54}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":183,"col":0},"end":{"line":183,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10229}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":54,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":431,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":7,"beg":{"line":486,"col":0},"end":{"line":495,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally assign `other` to `self`, according to `choice`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" x.conditional_assign(&y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" x.conditional_assign(&y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10245},{"Deduplicated":10090},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":66,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":432,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":7,"beg":{"line":486,"col":0},"end":{"line":495,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10245},{"Deduplicated":10244},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":66,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":433,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":69}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":520,"col":0},"end":{"line":520,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10099}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":69,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":434,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":19,"beg":{"line":23,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally assign `other` to `self`, according to `choice`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" x.conditional_assign(&y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" x.conditional_assign(&y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10320,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":4121},"Mut"]}]},{"Deduplicated":10278},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":101,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":435,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":19,"beg":{"line":23,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10320},{"HashConsedValue":[10321,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":4121},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":101,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":436,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":105}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":19,"beg":{"line":53,"col":0},"end":{"line":53,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10107}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":105,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"}],"global_decls":[null,{"def_id":1,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":5,"beg":{"line":45,"col":0},"end":{"line":49,"col":1}},"generated_from_span":null},"source_text":"impl Debug for FieldElement51 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":7289},"src":{"VTableInstance":{"impl_ref":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}},"global_kind":"Static","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":401}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":7289}}},null,null,null,null,null,null,null,{"def_id":9,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ZERO",0]}],"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"source_text":"pub const ZERO: FieldElement51 = FieldElement51::from_limbs([0, 0, 0, 0, 0]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( 0 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":158}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},{"def_id":10,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ONE",0]}],"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"source_text":"pub const ONE: FieldElement51 = FieldElement51::from_limbs([1, 0, 0, 0, 0]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( 1 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":159}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},{"def_id":11,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["MINUS_ONE",0]}],"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"source_text":"pub const MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n ]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( -1 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":160}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"def_id":57,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1550},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":328}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1550}}},{"def_id":58,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1550},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":329}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1550}}},{"def_id":59,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1550},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":330}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1550}}},null,null,null,null,null,null,null,{"def_id":67,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["ED25519_BASEPOINT_POINT",0]}],"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"source_text":"pub const ED25519_BASEPOINT_POINT: EdwardsPoint = EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1738742601995546,\n 1146398526822698,\n 2070867633025821,\n 562264141797630,\n 587772402128613,\n ]),\n Y: FieldElement51::from_limbs([\n 1801439850948184,\n 1351079888211148,\n 450359962737049,\n 900719925474099,\n 1801439850948198,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1841354044333475,\n 16398895984059,\n 755974180946558,\n 900171276175154,\n 1821297809914039,\n ]),\n};","attr_info":{"attributes":[{"DocComment":" The Ed25519 basepoint, as an `EdwardsPoint`."},{"DocComment":""},{"DocComment":" This is called `_POINT` to distinguish it from"},{"DocComment":" `ED25519_BASEPOINT_TABLE`, which should be used for scalar"},{"DocComment":" multiplication (it's much faster)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1955},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":376}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1955}}},{"def_id":68,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["constants",0]},{"Ident":["BASEPOINT_ORDER",0]}],"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"source_text":"pub(crate) const BASEPOINT_ORDER: Scalar = Scalar {\n bytes: [\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde,\n 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x10,\n ],\n};","attr_info":{"attributes":[{"DocComment":" `BASEPOINT_ORDER` is the order of the Ristretto group and of the Ed25519 basepoint, i.e.,"},{"DocComment":" $$"},{"DocComment":" \\ell = 2^\\{252\\} + 27742317777372353535851937790883648493."},{"DocComment":" $$"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":2689},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":388}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":2689}}},null,null,null,null,{"def_id":73,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":15,"beg":{"line":2871,"col":8},"end":{"line":2871,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":2871,"col":31},"end":{"line":2871,"col":34}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":7289},"src":{"VTableInstance":{"impl_ref":{"id":117,"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10117}]}}}},"global_kind":"Static","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":402}},"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10117}]}},[]]},"ty":{"Deduplicated":7289}}},null,null,null,null,null,null,null,null,{"def_id":82,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["SQRT_M1",0]}],"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const SQRT_M1: FieldElement51 = FieldElement51::from_limbs([\n 1718705420411056,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n]);","attr_info":{"attributes":[{"DocComment":" Precomputed value of one of the square roots of -1 (mod p)"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":418}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},null,null,{"def_id":85,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D",0]}],"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const EDWARDS_D: FieldElement51 = FieldElement51::from_limbs([\n 929955233495203,\n 466365720129213,\n 1662059464998953,\n 2033849074728123,\n 1442794654840575,\n]);","attr_info":{"attributes":[{"DocComment":" Edwards `d` value, equal to `-121665/121666 mod p`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":422}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},{"def_id":86,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D2",0]}],"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const EDWARDS_D2: FieldElement51 = FieldElement51::from_limbs([\n 1859910466990425,\n 932731440258426,\n 1072319116312658,\n 1815898335770999,\n 633789495995903,\n]);","attr_info":{"attributes":[{"DocComment":" Edwards `2*d` value, equal to `2*(-121665/121666) mod p`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":423}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},null,null,null,null],"trait_decls":[{"def_id":0,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":338,"col":0},"end":{"line":338,"col":58}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for comparisons corresponding to [equivalence relations]("},{"DocComment":" https://en.wikipedia.org/wiki/Equivalence_relation)."},{"DocComment":""},{"DocComment":" The primary difference to [`PartialEq`] is the additional requirement for reflexivity. A type"},{"DocComment":" that implements [`PartialEq`] guarantees that for all `a`, `b` and `c`:"},{"DocComment":""},{"DocComment":" - symmetric: `a == b` implies `b == a`"},{"DocComment":" - transitive: `a == b` and `b == c` implies `a == c`"},{"DocComment":" - consistent: `a != b` if and only if `!(a == b)`"},{"DocComment":""},{"DocComment":" `Eq`, which builds on top of [`PartialEq`] also implies:"},{"DocComment":""},{"DocComment":" - reflexive: `a == a`"},{"DocComment":""},{"DocComment":" This property cannot be checked by the compiler, and therefore `Eq` is a trait without methods."},{"DocComment":""},{"DocComment":" Violating this property is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" Floating point types such as [`f32`] and [`f64`] implement only [`PartialEq`] but *not* `Eq`"},{"DocComment":" because `NaN` != `NaN`."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`. When `derive`d, because `Eq` has no extra methods, it"},{"DocComment":" is only informing the compiler that this is an equivalence relation rather than a partial"},{"DocComment":" equivalence relation. Note that the `derive` strategy requires all fields are `Eq`, which isn't"},{"DocComment":" always desired."},{"DocComment":""},{"DocComment":" ## How can I implement `Eq`?"},{"DocComment":""},{"DocComment":" If you cannot use the `derive` strategy, specify that your type implements `Eq`, which has no"},{"DocComment":" extra methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.isbn == other.isbn"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Book {}"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Eq"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":338,"col":20},"end":{"line":338,"col":43}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"assert_fields_are_eq","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10134,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10076},"Shared"]}]}],"output":{"Deduplicated":1443}},"item":{"id":1,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10135,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":1,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]}],"span":{"data":{"file_id":9,"beg":{"line":250,"col":0},"end":{"line":250,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for comparisons using the equality operator."},{"DocComment":""},{"DocComment":" Implementing this trait for types provides the `==` and `!=` operators for"},{"DocComment":" those types."},{"DocComment":""},{"DocComment":" `x.eq(y)` can also be written `x == y`, and `x.ne(y)` can be written `x != y`."},{"DocComment":" We use the easier-to-read infix notation in the remainder of this documentation."},{"DocComment":""},{"DocComment":" This trait allows for comparisons using the equality operator, for types"},{"DocComment":" that do not have a full equivalence relation. For example, in floating point"},{"DocComment":" numbers `NaN != NaN`, so floating point types implement `PartialEq` but not"},{"DocComment":" [`trait@Eq`]. Formally speaking, when `Rhs == Self`, this trait corresponds"},{"DocComment":" to a [partial equivalence relation]."},{"DocComment":""},{"DocComment":" [partial equivalence relation]: https://en.wikipedia.org/wiki/Partial_equivalence_relation"},{"DocComment":""},{"DocComment":" Implementations must ensure that `eq` and `ne` are consistent with each other:"},{"DocComment":""},{"DocComment":" - `a != b` if and only if `!(a == b)`."},{"DocComment":""},{"DocComment":" The default implementation of `ne` provides this consistency and is almost"},{"DocComment":" always sufficient. It should not be overridden without very good reason."},{"DocComment":""},{"DocComment":" If [`PartialOrd`] or [`Ord`] are also implemented for `Self` and `Rhs`, their methods must also"},{"DocComment":" be consistent with `PartialEq` (see the documentation of those traits for the exact"},{"DocComment":" requirements). It's easy to accidentally make them disagree by deriving some of the traits and"},{"DocComment":" manually implementing others."},{"DocComment":""},{"DocComment":" The equality relation `==` must satisfy the following conditions"},{"DocComment":" (for all `a`, `b`, `c` of type `A`, `B`, `C`):"},{"DocComment":""},{"DocComment":" - **Symmetry**: if `A: PartialEq` and `B: PartialEq`, then **`a == b`"},{"DocComment":" implies `b == a`**; and"},{"DocComment":""},{"DocComment":" - **Transitivity**: if `A: PartialEq` and `B: PartialEq` and `A:"},{"DocComment":" PartialEq`, then **`a == b` and `b == c` implies `a == c`**."},{"DocComment":" This must also work for longer chains, such as when `A: PartialEq`, `B: PartialEq`,"},{"DocComment":" `C: PartialEq`, and `A: PartialEq` all exist."},{"DocComment":""},{"DocComment":" Note that the `B: PartialEq` (symmetric) and `A: PartialEq`"},{"DocComment":" (transitive) impls are not forced to exist, but these requirements apply"},{"DocComment":" whenever they do exist."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Cross-crate considerations"},{"DocComment":""},{"DocComment":" Upholding the requirements stated above can become tricky when one crate implements `PartialEq`"},{"DocComment":" for a type of another crate (i.e., to allow comparing one of its own types with a type from the"},{"DocComment":" standard library). The recommendation is to never implement this trait for a foreign type. In"},{"DocComment":" other words, such a crate should do `impl PartialEq for LocalType`, but it should"},{"DocComment":" *not* do `impl PartialEq for ForeignType`."},{"DocComment":""},{"DocComment":" This avoids the problem of transitive chains that criss-cross crate boundaries: for all local"},{"DocComment":" types `T`, you may assume that no other crate will add `impl`s that allow comparing `T == U`. In"},{"DocComment":" other words, if other crates add `impl`s that allow building longer transitive chains `U1 == ..."},{"DocComment":" == T == V1 == ...`, then all the types that appear to the right of `T` must be types that the"},{"DocComment":" crate defining `T` already knows about. This rules out transitive chains where downstream crates"},{"DocComment":" can add new `impl`s that \"stitch together\" comparisons of foreign types in ways that violate"},{"DocComment":" transitivity."},{"DocComment":""},{"DocComment":" Not having such foreign `impl`s also avoids forward compatibility issues where one crate adding"},{"DocComment":" more `PartialEq` implementations can cause build failures in downstream crates."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`. When `derive`d on structs, two"},{"DocComment":" instances are equal if all fields are equal, and not equal if any fields"},{"DocComment":" are not equal. When `derive`d on enums, two instances are equal if they"},{"DocComment":" are the same variant and all fields are equal."},{"DocComment":""},{"DocComment":" ## How can I implement `PartialEq`?"},{"DocComment":""},{"DocComment":" An example implementation for a domain in which two books are considered"},{"DocComment":" the same book if their ISBN matches, even if the formats differ:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.isbn == other.isbn"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let b1 = Book { isbn: 3, format: BookFormat::Paperback };"},{"DocComment":" let b2 = Book { isbn: 3, format: BookFormat::Ebook };"},{"DocComment":" let b3 = Book { isbn: 10, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == b2);"},{"DocComment":" assert!(b1 != b3);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I compare two different types?"},{"DocComment":""},{"DocComment":" The type you can compare with is controlled by `PartialEq`'s type parameter."},{"DocComment":" For example, let's tweak our previous code a bit:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // The derive implements == comparisons"},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Implement == comparisons"},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &BookFormat) -> bool {"},{"DocComment":" self.format == *other"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Implement == comparisons"},{"DocComment":" impl PartialEq for BookFormat {"},{"DocComment":" fn eq(&self, other: &Book) -> bool {"},{"DocComment":" *self == other.format"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let b1 = Book { isbn: 3, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == BookFormat::Paperback);"},{"DocComment":" assert!(BookFormat::Ebook != b1);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" By changing `impl PartialEq for Book` to `impl PartialEq for Book`,"},{"DocComment":" we allow `BookFormat`s to be compared with `Book`s."},{"DocComment":""},{"DocComment":" A comparison like the one above, which ignores some fields of the struct,"},{"DocComment":" can be dangerous. It can easily lead to an unintended violation of the"},{"DocComment":" requirements for a partial equivalence relation. For example, if we kept"},{"DocComment":" the above implementation of `PartialEq` for `BookFormat` and added an"},{"DocComment":" implementation of `PartialEq` for `Book` (either via a `#[derive]` or"},{"DocComment":" via the manual implementation from the first example) then the result would"},{"DocComment":" violate transitivity:"},{"DocComment":""},{"DocComment":" ```should_panic"},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &BookFormat) -> bool {"},{"DocComment":" self.format == *other"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for BookFormat {"},{"DocComment":" fn eq(&self, other: &Book) -> bool {"},{"DocComment":" *self == other.format"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" let b1 = Book { isbn: 1, format: BookFormat::Paperback };"},{"DocComment":" let b2 = Book { isbn: 2, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == BookFormat::Paperback);"},{"DocComment":" assert!(BookFormat::Paperback == b2);"},{"DocComment":""},{"DocComment":" // The following should hold by transitivity but doesn't."},{"DocComment":" assert!(b1 == b2); // <-- PANICS"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: u32 = 0;"},{"DocComment":" let y: u32 = 1;"},{"DocComment":""},{"DocComment":" assert_eq!(x == y, false);"},{"DocComment":" assert_eq!(x.eq(&y), false);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`eq`]: PartialEq::eq"},{"DocComment":" [`ne`]: PartialEq::ne"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"eq"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"eq","attr_info":{"attributes":[{"DocComment":" Tests for `self` and `other` values to be equal, and is used by `==`."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"HashConsedValue":[10136,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":10077},"Shared"]}]}],"output":{"Deduplicated":1470}},"item":{"id":3,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10137,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":{"Adt":8},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":2,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]}],"span":{"data":{"file_id":11,"beg":{"line":262,"col":0},"end":{"line":262,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An `Eq`-like trait that produces a `Choice` instead of a `bool`."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConstantTimeEq;"},{"DocComment":" let x: u8 = 5;"},{"DocComment":" let y: u8 = 13;"},{"DocComment":""},{"DocComment":" assert_eq!(x.ct_eq(&y).unwrap_u8(), 0);"},{"DocComment":" assert_eq!(x.ct_eq(&x).unwrap_u8(), 1);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"ct_eq","attr_info":{"attributes":[{"DocComment":" Determine if two items are equal."},{"DocComment":""},{"DocComment":" The `ct_eq` function should execute in constant time."},{"DocComment":""},{"DocComment":" # Returns"},{"DocComment":""},{"DocComment":" * `Choice(1u8)` if `self == other`;"},{"DocComment":" * `Choice(0u8)` if `self != other`."}],"inline":"Hint","rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"HashConsedValue":[10138,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":10076},"Shared"]}]}],"output":{"Deduplicated":1496}},"item":{"id":6,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10139,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":3,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]}],"span":{"data":{"file_id":12,"beg":{"line":107,"col":0},"end":{"line":107,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for giving a type a useful default value."},{"DocComment":""},{"DocComment":" Sometimes, you want to fall back to some kind of default value, and"},{"DocComment":" don't particularly care what it is. This comes up often with `struct`s"},{"DocComment":" that define a set of options:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" How can we define some default values? You can use `Default`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Default)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" let options: SomeOptions = Default::default();"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Now, you get all of the default values. Rust implements `Default` for various primitive types."},{"DocComment":""},{"DocComment":" If you want to override a particular option, but still retain the other defaults:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" # #[derive(Default)]"},{"DocComment":" # struct SomeOptions {"},{"DocComment":" # foo: i32,"},{"DocComment":" # bar: f32,"},{"DocComment":" # }"},{"DocComment":" fn main() {"},{"DocComment":" let options = SomeOptions { foo: 42, ..Default::default() };"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]` if all of the type's fields implement"},{"DocComment":" `Default`. When `derive`d, it will use the default value for each field's type."},{"DocComment":""},{"DocComment":" ### `enum`s"},{"DocComment":""},{"DocComment":" When using `#[derive(Default)]` on an `enum`, you need to choose which unit variant will be"},{"DocComment":" default. You do this by placing the `#[default]` attribute on the variant."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Default)]"},{"DocComment":" enum Kind {"},{"DocComment":" #[default]"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You cannot use the `#[default]` attribute on non-unit or non-exhaustive variants."},{"DocComment":""},{"DocComment":" The `#[default]` attribute was stabilized in Rust 1.62.0."},{"DocComment":""},{"DocComment":" ## How can I implement `Default`?"},{"DocComment":""},{"DocComment":" Provide an implementation for the `default()` method that returns the value of"},{"DocComment":" your type that should be the default:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Default)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Default"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"default","attr_info":{"attributes":[{"DocComment":" Returns the \"default value\" for a type."},{"DocComment":""},{"DocComment":" Default values are often some kind of initial value, identity value, or anything else that"},{"DocComment":" may make sense as a default."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Using built-in default values:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let i: i8 = Default::default();"},{"DocComment":" let (x, y): (Option, f64) = Default::default();"},{"DocComment":" let (a, b, (c, d)): (i32, u32, (bool, bool)) = Default::default();"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Making your own:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":10076}},"item":{"id":137,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10140,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":4,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Copy",0]}],"span":{"data":{"file_id":13,"beg":{"line":454,"col":0},"end":{"line":454,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Types whose values can be duplicated simply by copying bits."},{"DocComment":""},{"DocComment":" By default, variable bindings have 'move semantics.' In other"},{"DocComment":" words:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Foo;"},{"DocComment":""},{"DocComment":" let x = Foo;"},{"DocComment":""},{"DocComment":" let y = x;"},{"DocComment":""},{"DocComment":" // `x` has moved into `y`, and so cannot be used"},{"DocComment":""},{"DocComment":" // println!(\"{x:?}\"); // error: use of moved value"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, if a type implements `Copy`, it instead has 'copy semantics':"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // We can derive a `Copy` implementation. `Clone` is also required, as it's"},{"DocComment":" // a supertrait of `Copy`."},{"DocComment":" #[derive(Debug, Copy, Clone)]"},{"DocComment":" struct Foo;"},{"DocComment":""},{"DocComment":" let x = Foo;"},{"DocComment":""},{"DocComment":" let y = x;"},{"DocComment":""},{"DocComment":" // `y` is a copy of `x`"},{"DocComment":""},{"DocComment":" println!(\"{x:?}\"); // A-OK!"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It's important to note that in these two examples, the only difference is whether you"},{"DocComment":" are allowed to access `x` after the assignment. Under the hood, both a copy and a move"},{"DocComment":" can result in bits being copied in memory, although this is sometimes optimized away."},{"DocComment":""},{"DocComment":" ## How can I implement `Copy`?"},{"DocComment":""},{"DocComment":" There are two ways to implement `Copy` on your type. The simplest is to use `derive`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct MyStruct;"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You can also implement `Copy` and `Clone` manually:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct MyStruct;"},{"DocComment":""},{"DocComment":" impl Copy for MyStruct { }"},{"DocComment":""},{"DocComment":" impl Clone for MyStruct {"},{"DocComment":" fn clone(&self) -> MyStruct {"},{"DocComment":" *self"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" There is a small difference between the two. The `derive` strategy will also place a `Copy`"},{"DocComment":" bound on type parameters:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Clone)]"},{"DocComment":" struct MyStruct(T);"},{"DocComment":""},{"DocComment":" impl Copy for MyStruct { }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" This isn't always desired. For example, shared references (`&T`) can be copied regardless of"},{"DocComment":" whether `T` is `Copy`. Likewise, a generic struct containing markers such as [`PhantomData`]"},{"DocComment":" could potentially be duplicated with a bit-wise copy."},{"DocComment":""},{"DocComment":" ## What's the difference between `Copy` and `Clone`?"},{"DocComment":""},{"DocComment":" Copies happen implicitly, for example as part of an assignment `y = x`. The behavior of"},{"DocComment":" `Copy` is not overloadable; it is always a simple bit-wise copy."},{"DocComment":""},{"DocComment":" Cloning is an explicit action, `x.clone()`. The implementation of [`Clone`] can"},{"DocComment":" provide any type-specific behavior necessary to duplicate values safely. For example,"},{"DocComment":" the implementation of [`Clone`] for [`String`] needs to copy the pointed-to string"},{"DocComment":" buffer in the heap. A simple bitwise copy of [`String`] values would merely copy the"},{"DocComment":" pointer, leading to a double free down the line. For this reason, [`String`] is [`Clone`]"},{"DocComment":" but not `Copy`."},{"DocComment":""},{"DocComment":" [`Clone`] is a supertrait of `Copy`, so everything which is `Copy` must also implement"},{"DocComment":" [`Clone`]. If a type is `Copy` then its [`Clone`] implementation only needs to return `*self`"},{"DocComment":" (see the example above)."},{"DocComment":""},{"DocComment":" ## When can my type be `Copy`?"},{"DocComment":""},{"DocComment":" A type can implement `Copy` if all of its components implement `Copy`. For example, this"},{"DocComment":" struct can be `Copy`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" A struct can be `Copy`, and [`i32`] is `Copy`, therefore `Point` is eligible to be `Copy`."},{"DocComment":" By contrast, consider"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" # struct Point;"},{"DocComment":" struct PointList {"},{"DocComment":" points: Vec,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The struct `PointList` cannot implement `Copy`, because [`Vec`] is not `Copy`. If we"},{"DocComment":" attempt to derive a `Copy` implementation, we'll get an error:"},{"DocComment":""},{"DocComment":" ```text"},{"DocComment":" the trait `Copy` cannot be implemented for this type; field `points` does not implement `Copy`"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Shared references (`&T`) are also `Copy`, so a type can be `Copy`, even when it holds"},{"DocComment":" shared references of types `T` that are *not* `Copy`. Consider the following struct,"},{"DocComment":" which can implement `Copy`, because it only holds a *shared reference* to our non-`Copy`"},{"DocComment":" type `PointList` from above:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" # struct PointList;"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct PointListWrapper<'a> {"},{"DocComment":" point_list_ref: &'a PointList,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## When *can't* my type be `Copy`?"},{"DocComment":""},{"DocComment":" Some types can't be copied safely. For example, copying `&mut T` would create an aliased"},{"DocComment":" mutable reference. Copying [`String`] would duplicate responsibility for managing the"},{"DocComment":" [`String`]'s buffer, leading to a double free."},{"DocComment":""},{"DocComment":" Generalizing the latter case, any type implementing [`Drop`] can't be `Copy`, because it's"},{"DocComment":" managing some resource besides its own [`size_of::`] bytes."},{"DocComment":""},{"DocComment":" If you try to implement `Copy` on a struct or enum containing non-`Copy` data, you will get"},{"DocComment":" the error [E0204]."},{"DocComment":""},{"DocComment":" [E0204]: ../../error_codes/E0204.html"},{"DocComment":""},{"DocComment":" ## When *should* my type be `Copy`?"},{"DocComment":""},{"DocComment":" Generally speaking, if your type _can_ implement `Copy`, it should. Keep in mind, though,"},{"DocComment":" that implementing `Copy` is part of the public API of your type. If the type might become"},{"DocComment":" non-`Copy` in the future, it could be prudent to omit the `Copy` implementation now, to"},{"DocComment":" avoid a breaking API change."},{"DocComment":""},{"DocComment":" ## Additional implementors"},{"DocComment":""},{"DocComment":" In addition to the [implementors listed below][impls],"},{"DocComment":" the following types also implement `Copy`:"},{"DocComment":""},{"DocComment":" * Function item types (i.e., the distinct types defined for each function)"},{"DocComment":" * Function pointer types (e.g., `fn() -> i32`)"},{"DocComment":" * Closure types, if they capture no value from the environment"},{"DocComment":" or if all such captured values implement `Copy` themselves."},{"DocComment":" Note that variables captured by shared reference always implement `Copy`"},{"DocComment":" (even if the referent doesn't),"},{"DocComment":" while variables captured by mutable reference never implement `Copy`."},{"DocComment":""},{"DocComment":" [`Vec`]: ../../std/vec/struct.Vec.html"},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`size_of::`]: size_of"},{"DocComment":" [impls]: #implementors"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"copy"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":13,"beg":{"line":454,"col":16},"end":{"line":454,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":5,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":194,"col":0},"end":{"line":194,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A common trait that allows explicit creation of a duplicate value."},{"DocComment":""},{"DocComment":" Calling [`clone`] always produces a new value."},{"DocComment":" However, for types that are references to other data (such as smart pointers or references),"},{"DocComment":" the new value may still point to the same underlying data, rather than duplicating it."},{"DocComment":" See [`Clone::clone`] for more details."},{"DocComment":""},{"DocComment":" This distinction is especially important when using `#[derive(Clone)]` on structs containing"},{"DocComment":" smart pointers like `Arc>` - the cloned struct will share mutable state with the"},{"DocComment":" original."},{"DocComment":""},{"DocComment":" Differs from [`Copy`] in that [`Copy`] is implicit and an inexpensive bit-wise copy, while"},{"DocComment":" `Clone` is always explicit and may or may not be expensive. [`Copy`] has no methods, so you"},{"DocComment":" cannot change its behavior, but when implementing `Clone`, the `clone` method you provide"},{"DocComment":" may run arbitrary code."},{"DocComment":""},{"DocComment":" Since `Clone` is a supertrait of [`Copy`], any type that implements `Copy` must also implement"},{"DocComment":" `Clone`."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]` if all fields are `Clone`. The `derive`d"},{"DocComment":" implementation of [`Clone`] calls [`clone`] on each field."},{"DocComment":""},{"DocComment":" [`clone`]: Clone::clone"},{"DocComment":""},{"DocComment":" For a generic struct, `#[derive]` implements `Clone` conditionally by adding bound `Clone` on"},{"DocComment":" generic parameters."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // `derive` implements Clone for Reading when T is Clone."},{"DocComment":" #[derive(Clone)]"},{"DocComment":" struct Reading {"},{"DocComment":" frequency: T,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I implement `Clone`?"},{"DocComment":""},{"DocComment":" Types that are [`Copy`] should have a trivial implementation of `Clone`. More formally:"},{"DocComment":" if `T: Copy`, `x: T`, and `y: &T`, then `let x = y.clone();` is equivalent to `let x = *y;`."},{"DocComment":" Manual implementations should be careful to uphold this invariant; however, unsafe code"},{"DocComment":" must not rely on it to ensure memory safety."},{"DocComment":""},{"DocComment":" An example is a generic struct holding a function pointer. In this case, the"},{"DocComment":" implementation of `Clone` cannot be `derive`d, but can be implemented as:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" impl Copy for Generate {}"},{"DocComment":""},{"DocComment":" impl Clone for Generate {"},{"DocComment":" fn clone(&self) -> Self {"},{"DocComment":" *self"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If we `derive`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" the auto-derived implementations will have unnecessary `T: Copy` and `T: Clone` bounds:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" // Automatically derived"},{"DocComment":" impl Copy for Generate { }"},{"DocComment":""},{"DocComment":" // Automatically derived"},{"DocComment":" impl Clone for Generate {"},{"DocComment":" fn clone(&self) -> Generate {"},{"DocComment":" Generate(Clone::clone(&self.0))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The bounds are unnecessary because clearly the function itself should be"},{"DocComment":" copy- and cloneable even if its return type is not:"},{"DocComment":""},{"DocComment":" ```compile_fail,E0599"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" struct NotCloneable;"},{"DocComment":""},{"DocComment":" fn generate_not_cloneable() -> NotCloneable {"},{"DocComment":" NotCloneable"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" Generate(generate_not_cloneable).clone(); // error: trait bounds were not satisfied"},{"DocComment":" // Note: With the manual implementations the above line will compile."},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## `Clone` and `PartialEq`/`Eq`"},{"DocComment":" `Clone` is intended for the duplication of objects. Consequently, when implementing"},{"DocComment":" both `Clone` and [`PartialEq`], the following property is expected to hold:"},{"DocComment":" ```text"},{"DocComment":" x == x -> x.clone() == x"},{"DocComment":" ```"},{"DocComment":" In other words, if an object compares equal to itself,"},{"DocComment":" its clone must also compare equal to the original."},{"DocComment":""},{"DocComment":" For types that also implement [`Eq`] – for which `x == x` always holds –"},{"DocComment":" this implies that `x.clone() == x` must always be true."},{"DocComment":" Standard library collections such as"},{"DocComment":" [`HashMap`], [`HashSet`], [`BTreeMap`], [`BTreeSet`] and [`BinaryHeap`]"},{"DocComment":" rely on their keys respecting this property for correct behavior."},{"DocComment":" Furthermore, these collections require that cloning a key preserves the outcome of the"},{"DocComment":" [`Hash`] and [`Ord`] methods. Thankfully, this follows automatically from `x.clone() == x`"},{"DocComment":" if `Hash` and `Ord` are correctly implemented according to their own requirements."},{"DocComment":""},{"DocComment":" When deriving both `Clone` and [`PartialEq`] using `#[derive(Clone, PartialEq)]`"},{"DocComment":" or when additionally deriving [`Eq`] using `#[derive(Clone, PartialEq, Eq)]`,"},{"DocComment":" then this property is automatically upheld – provided that it is satisfied by"},{"DocComment":" the underlying types."},{"DocComment":""},{"DocComment":" Violating this property is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on this property"},{"DocComment":" being satisfied."},{"DocComment":""},{"DocComment":" ## Additional implementors"},{"DocComment":""},{"DocComment":" In addition to the [implementors listed below][impls],"},{"DocComment":" the following types also implement `Clone`:"},{"DocComment":""},{"DocComment":" * Function item types (i.e., the distinct types defined for each function)"},{"DocComment":" * Function pointer types (e.g., `fn() -> i32`)"},{"DocComment":" * Closure types, if they capture no value from the environment"},{"DocComment":" or if all such captured values implement `Clone` themselves."},{"DocComment":" Note that variables captured by shared reference always implement `Clone`"},{"DocComment":" (even if the referent doesn't),"},{"DocComment":" while variables captured by mutable reference never implement `Clone`."},{"DocComment":""},{"DocComment":" [`HashMap`]: ../../std/collections/struct.HashMap.html"},{"DocComment":" [`HashSet`]: ../../std/collections/struct.HashSet.html"},{"DocComment":" [`BTreeMap`]: ../../std/collections/struct.BTreeMap.html"},{"DocComment":" [`BTreeSet`]: ../../std/collections/struct.BTreeSet.html"},{"DocComment":" [`BinaryHeap`]: ../../std/collections/struct.BinaryHeap.html"},{"DocComment":" [impls]: #implementors"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"clone"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"clone","attr_info":{"attributes":[{"DocComment":" Returns a duplicate of the value."},{"DocComment":""},{"DocComment":" Note that what \"duplicate\" means varies by type:"},{"DocComment":" - For most types, this creates a deep, independent copy"},{"DocComment":" - For reference types like `&T`, this creates another reference to the same value"},{"DocComment":" - For smart pointers like [`Arc`] or [`Rc`], this increments the reference count"},{"DocComment":" but still points to the same underlying data"},{"DocComment":""},{"DocComment":" [`Arc`]: ../../std/sync/struct.Arc.html"},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(noop_method_call)]"},{"DocComment":" let hello = \"Hello\"; // &str implements Clone"},{"DocComment":""},{"DocComment":" assert_eq!(\"Hello\", hello.clone());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Example with a reference-counted type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::sync::{Arc, Mutex};"},{"DocComment":""},{"DocComment":" let data = Arc::new(Mutex::new(vec![1, 2, 3]));"},{"DocComment":" let data_clone = data.clone(); // Creates another Arc pointing to the same Mutex"},{"DocComment":""},{"DocComment":" {"},{"DocComment":" let mut lock = data.lock().unwrap();"},{"DocComment":" lock.push(4);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Changes are visible through the clone because they share the same underlying data"},{"DocComment":" assert_eq!(*data_clone.lock().unwrap(), vec![1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134}],"output":{"Deduplicated":10076}},"item":{"id":18,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10141,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},null,{"def_id":7,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]}],"span":{"data":{"file_id":13,"beg":{"line":1062,"col":0},"end":{"line":1062,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A marker for types that can be dropped."},{"DocComment":""},{"DocComment":" This should be used for `[const]` bounds,"},{"DocComment":" as non-const bounds will always hold for every type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"destruct"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"drop_glue","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[10142,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10076},"Mut"]}]}],"output":{"Deduplicated":1443}},"item":{"id":139,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}},"kind":{"TraitMethod":[7,0]}}],"vtable":null},{"def_id":8,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]}],"span":{"data":{"file_id":15,"beg":{"line":1053,"col":0},"end":{"line":1053,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" `?` formatting."},{"DocComment":""},{"DocComment":" `Debug` should format the output in a programmer-facing, debugging context."},{"DocComment":""},{"DocComment":" Generally speaking, you should just `derive` a `Debug` implementation."},{"DocComment":""},{"DocComment":" When used with the alternate format specifier `#?`, the output is pretty-printed."},{"DocComment":""},{"DocComment":" For more information on formatters, see [the module-level documentation][module]."},{"DocComment":""},{"DocComment":" [module]: ../../std/fmt/index.html"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]` if all fields implement `Debug`. When"},{"DocComment":" `derive`d for structs, it will use the name of the `struct`, then `{`, then a"},{"DocComment":" comma-separated list of each field's name and `Debug` value, then `}`. For"},{"DocComment":" `enum`s, it will use the name of the variant and, if applicable, `(`, then the"},{"DocComment":" `Debug` values of the fields, then `)`."},{"DocComment":""},{"DocComment":" # Stability"},{"DocComment":""},{"DocComment":" Derived `Debug` formats are not stable, and so may change with future Rust"},{"DocComment":" versions. Additionally, `Debug` implementations of types provided by the"},{"DocComment":" standard library (`std`, `core`, `alloc`, etc.) are not stable, and"},{"DocComment":" may also change with future Rust versions."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Deriving an implementation:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let origin = Point { x: 0, y: 0 };"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" format!(\"The origin is: {origin:?}\"),"},{"DocComment":" \"The origin is: Point { x: 0, y: 0 }\","},{"DocComment":" );"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Manually implementing:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fmt;"},{"DocComment":""},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl fmt::Debug for Point {"},{"DocComment":" fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" f.debug_struct(\"Point\")"},{"DocComment":" .field(\"x\", &self.x)"},{"DocComment":" .field(\"y\", &self.y)"},{"DocComment":" .finish()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let origin = Point { x: 0, y: 0 };"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" format!(\"The origin is: {origin:?}\"),"},{"DocComment":" \"The origin is: Point { x: 0, y: 0 }\","},{"DocComment":" );"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" There are a number of helper methods on the [`Formatter`] struct to help you with manual"},{"DocComment":" implementations, such as [`debug_struct`]."},{"DocComment":""},{"DocComment":" [`debug_struct`]: Formatter::debug_struct"},{"DocComment":""},{"DocComment":" Types that do not wish to use the standard suite of debug representations"},{"DocComment":" provided by the `Formatter` trait (`debug_struct`, `debug_tuple`,"},{"DocComment":" `debug_list`, `debug_set`, `debug_map`) can do something totally custom by"},{"DocComment":" manually writing an arbitrary representation to the `Formatter`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # use std::fmt;"},{"DocComment":" # struct Point {"},{"DocComment":" # x: i32,"},{"DocComment":" # y: i32,"},{"DocComment":" # }"},{"DocComment":" #"},{"DocComment":" impl fmt::Debug for Point {"},{"DocComment":" fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" write!(f, \"Point [{} {}]\", self.x, self.y)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" `Debug` implementations using either `derive` or the debug builder API"},{"DocComment":" on [`Formatter`] support pretty-printing using the alternate flag: `{:#?}`."},{"DocComment":""},{"DocComment":" Pretty-printing with `#?`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let origin = Point { x: 0, y: 0 };"},{"DocComment":""},{"DocComment":" let expected = \"The origin is: Point {"},{"DocComment":" x: 0,"},{"DocComment":" y: 0,"},{"DocComment":" }\";"},{"DocComment":" assert_eq!(format!(\"The origin is: {origin:#?}\"), expected);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Debug"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"fmt","attr_info":{"attributes":[{"DocComment":"Formats the value using the given formatter.\n\n# Errors\n\nThis function should return [`Err`] if, and only if, the provided [`Formatter`] returns [`Err`].\nString formatting is considered an infallible operation; this function only\nreturns a [`Result`] because writing to the underlying stream might fail and it must\nprovide a way to propagate the fact that an error has occurred back up the stack.\n"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fmt;"},{"DocComment":""},{"DocComment":" struct Position {"},{"DocComment":" longitude: f32,"},{"DocComment":" latitude: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl fmt::Debug for Position {"},{"DocComment":" fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" f.debug_tuple(\"\")"},{"DocComment":" .field(&self.longitude)"},{"DocComment":" .field(&self.latitude)"},{"DocComment":" .finish()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let position = Position { longitude: 1.987, latitude: 2.983 };"},{"DocComment":" assert_eq!(format!(\"{position:?}\"), \"(1.987, 2.983)\");"},{"DocComment":""},{"DocComment":" assert_eq!(format!(\"{position:#?}\"), \"("},{"DocComment":" 1.987,"},{"DocComment":" 2.983,"},{"DocComment":" )\");"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"HashConsedValue":[3008,{"Ref":[{"Var":{"Bound":[0,1]}},{"HashConsedValue":[3007,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"Deduplicated":3010}},"item":{"id":140,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10143,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":{"Adt":13},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]}],"span":{"data":{"file_id":16,"beg":{"line":768,"col":0},"end":{"line":768,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The addition assignment operator `+=`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" This example creates a `Point` struct that implements the `AddAssign`"},{"DocComment":" trait, and then demonstrates add-assigning to a mutable `Point`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::AddAssign;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl AddAssign for Point {"},{"DocComment":" fn add_assign(&mut self, other: Self) {"},{"DocComment":" *self = Self {"},{"DocComment":" x: self.x + other.x,"},{"DocComment":" y: self.y + other.y,"},{"DocComment":" };"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut point = Point { x: 1, y: 0 };"},{"DocComment":" point += Point { x: 2, y: 3 };"},{"DocComment":" assert_eq!(point, Point { x: 3, y: 3 });"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"add_assign"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"add_assign","attr_info":{"attributes":[{"DocComment":" Performs the `+=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x += 1;"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142},{"Deduplicated":10077}],"output":{"Deduplicated":1443}},"item":{"id":145,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10144,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":{"Adt":20},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]}],"span":{"data":{"file_id":16,"beg":{"line":76,"col":0},"end":{"line":76,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The addition operator `+`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory. For"},{"DocComment":" example, [`std::time::SystemTime`] implements `Add`, which permits"},{"DocComment":" operations of the form `SystemTime = SystemTime + Duration`."},{"DocComment":""},{"DocComment":" [`std::time::SystemTime`]: ../../std/time/struct.SystemTime.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## `Add`able points"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Add;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Add for Point {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn add(self, other: Self) -> Self {"},{"DocComment":" Self {"},{"DocComment":" x: self.x + other.x,"},{"DocComment":" y: self.y + other.y,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },"},{"DocComment":" Point { x: 3, y: 3 });"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Implementing `Add` with generics"},{"DocComment":""},{"DocComment":" Here is an example of the same `Point` struct implementing the `Add` trait"},{"DocComment":" using generics."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Add;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: T,"},{"DocComment":" y: T,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Notice that the implementation uses the associated type `Output`."},{"DocComment":" impl> Add for Point {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn add(self, other: Self) -> Self::Output {"},{"DocComment":" Self {"},{"DocComment":" x: self.x + other.x,"},{"DocComment":" y: self.y + other.y,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },"},{"DocComment":" Point { x: 3, y: 3 });"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"add"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"add","attr_info":{"attributes":[{"DocComment":" Performs the `+` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 + 1, 13);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"item":{"id":148,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10145,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":{"Adt":23},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":11,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]}],"span":{"data":{"file_id":16,"beg":{"line":839,"col":0},"end":{"line":839,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The subtraction assignment operator `-=`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" This example creates a `Point` struct that implements the `SubAssign`"},{"DocComment":" trait, and then demonstrates sub-assigning to a mutable `Point`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::SubAssign;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl SubAssign for Point {"},{"DocComment":" fn sub_assign(&mut self, other: Self) {"},{"DocComment":" *self = Self {"},{"DocComment":" x: self.x - other.x,"},{"DocComment":" y: self.y - other.y,"},{"DocComment":" };"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut point = Point { x: 3, y: 3 };"},{"DocComment":" point -= Point { x: 2, y: 3 };"},{"DocComment":" assert_eq!(point, Point {x: 1, y: 0});"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"sub_assign"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"sub_assign","attr_info":{"attributes":[{"DocComment":" Performs the `-=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x -= 1;"},{"DocComment":" assert_eq!(x, 11);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142},{"Deduplicated":10077}],"output":{"Deduplicated":1443}},"item":{"id":149,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10146,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[11,0]}}],"vtable":{"id":{"Adt":24},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":12,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]}],"span":{"data":{"file_id":16,"beg":{"line":188,"col":0},"end":{"line":188,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The subtraction operator `-`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory. For"},{"DocComment":" example, [`std::time::SystemTime`] implements `Sub`, which permits"},{"DocComment":" operations of the form `SystemTime = SystemTime - Duration`."},{"DocComment":""},{"DocComment":" [`std::time::SystemTime`]: ../../std/time/struct.SystemTime.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## `Sub`tractable points"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Sub;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Sub for Point {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn sub(self, other: Self) -> Self::Output {"},{"DocComment":" Self {"},{"DocComment":" x: self.x - other.x,"},{"DocComment":" y: self.y - other.y,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Point { x: 3, y: 3 } - Point { x: 2, y: 3 },"},{"DocComment":" Point { x: 1, y: 0 });"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Implementing `Sub` with generics"},{"DocComment":""},{"DocComment":" Here is an example of the same `Point` struct implementing the `Sub` trait"},{"DocComment":" using generics."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Sub;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: T,"},{"DocComment":" y: T,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Notice that the implementation uses the associated type `Output`."},{"DocComment":" impl> Sub for Point {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn sub(self, other: Self) -> Self::Output {"},{"DocComment":" Point {"},{"DocComment":" x: self.x - other.x,"},{"DocComment":" y: self.y - other.y,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Point { x: 2, y: 3 } - Point { x: 1, y: 0 },"},{"DocComment":" Point { x: 1, y: 3 });"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"sub"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"sub","attr_info":{"attributes":[{"DocComment":" Performs the `-` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 - 1, 11);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"item":{"id":150,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10147,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":{"Adt":25},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":13,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]}],"span":{"data":{"file_id":16,"beg":{"line":901,"col":0},"end":{"line":901,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The multiplication assignment operator `*=`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::MulAssign;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Frequency { hertz: f64 }"},{"DocComment":""},{"DocComment":" impl MulAssign for Frequency {"},{"DocComment":" fn mul_assign(&mut self, rhs: f64) {"},{"DocComment":" self.hertz *= rhs;"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut frequency = Frequency { hertz: 50.0 };"},{"DocComment":" frequency *= 4.0;"},{"DocComment":" assert_eq!(Frequency { hertz: 200.0 }, frequency);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"mul_assign"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"mul_assign","attr_info":{"attributes":[{"DocComment":" Performs the `*=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x *= 2;"},{"DocComment":" assert_eq!(x, 24);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142},{"Deduplicated":10077}],"output":{"Deduplicated":1443}},"item":{"id":151,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10148,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":{"Adt":26},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]}],"span":{"data":{"file_id":16,"beg":{"line":322,"col":0},"end":{"line":322,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The multiplication operator `*`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## `Mul`tipliable rational numbers"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Mul;"},{"DocComment":""},{"DocComment":" // By the fundamental theorem of arithmetic, rational numbers in lowest"},{"DocComment":" // terms are unique. So, by keeping `Rational`s in reduced form, we can"},{"DocComment":" // derive `Eq` and `PartialEq`."},{"DocComment":" #[derive(Debug, Eq, PartialEq)]"},{"DocComment":" struct Rational {"},{"DocComment":" numerator: usize,"},{"DocComment":" denominator: usize,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Rational {"},{"DocComment":" fn new(numerator: usize, denominator: usize) -> Self {"},{"DocComment":" if denominator == 0 {"},{"DocComment":" panic!(\"Zero is an invalid denominator!\");"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Reduce to lowest terms by dividing by the greatest common"},{"DocComment":" // divisor."},{"DocComment":" let gcd = gcd(numerator, denominator);"},{"DocComment":" Self {"},{"DocComment":" numerator: numerator / gcd,"},{"DocComment":" denominator: denominator / gcd,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Mul for Rational {"},{"DocComment":" // The multiplication of rational numbers is a closed operation."},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn mul(self, rhs: Self) -> Self {"},{"DocComment":" let numerator = self.numerator * rhs.numerator;"},{"DocComment":" let denominator = self.denominator * rhs.denominator;"},{"DocComment":" Self::new(numerator, denominator)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Euclid's two-thousand-year-old algorithm for finding the greatest common"},{"DocComment":" // divisor."},{"DocComment":" fn gcd(x: usize, y: usize) -> usize {"},{"DocComment":" let mut x = x;"},{"DocComment":" let mut y = y;"},{"DocComment":" while y != 0 {"},{"DocComment":" let t = y;"},{"DocComment":" y = x % y;"},{"DocComment":" x = t;"},{"DocComment":" }"},{"DocComment":" x"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Rational::new(1, 2), Rational::new(2, 4));"},{"DocComment":" assert_eq!(Rational::new(2, 3) * Rational::new(3, 4),"},{"DocComment":" Rational::new(1, 2));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Multiplying vectors by scalars as in linear algebra"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Mul;"},{"DocComment":""},{"DocComment":" struct Scalar { value: usize }"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Vector { value: Vec }"},{"DocComment":""},{"DocComment":" impl Mul for Vector {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn mul(self, rhs: Scalar) -> Self::Output {"},{"DocComment":" Self { value: self.value.iter().map(|v| v * rhs.value).collect() }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let vector = Vector { value: vec![2, 4, 6] };"},{"DocComment":" let scalar = Scalar { value: 3 };"},{"DocComment":" assert_eq!(vector * scalar, Vector { value: vec![6, 12, 18] });"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"mul"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"mul","attr_info":{"attributes":[{"DocComment":" Performs the `*` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 * 2, 24);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"item":{"id":152,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10149,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":{"Adt":27},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":15,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]}],"span":{"data":{"file_id":16,"beg":{"line":690,"col":0},"end":{"line":690,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The unary negation operator `-`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" An implementation of `Neg` for `Sign`, which allows the use of `-` to"},{"DocComment":" negate its value."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Neg;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" enum Sign {"},{"DocComment":" Negative,"},{"DocComment":" Zero,"},{"DocComment":" Positive,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Neg for Sign {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn neg(self) -> Self::Output {"},{"DocComment":" match self {"},{"DocComment":" Sign::Negative => Sign::Positive,"},{"DocComment":" Sign::Zero => Sign::Zero,"},{"DocComment":" Sign::Positive => Sign::Negative,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // A negative positive is a negative."},{"DocComment":" assert_eq!(-Sign::Positive, Sign::Negative);"},{"DocComment":" // A double negative is a positive."},{"DocComment":" assert_eq!(-Sign::Negative, Sign::Positive);"},{"DocComment":" // Zero is its own negation."},{"DocComment":" assert_eq!(-Sign::Zero, Sign::Zero);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"neg"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"neg","attr_info":{"attributes":[{"DocComment":" Performs the unary `-` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: i32 = 12;"},{"DocComment":" assert_eq!(-x, -12);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"Deduplicated":10077}},"item":{"id":154,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10150,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":{"Adt":28},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":16,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]}],"span":{"data":{"file_id":11,"beg":{"line":393,"col":0},"end":{"line":393,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A type which can be conditionally selected in constant time."},{"DocComment":""},{"DocComment":" This trait also provides generic implementations of conditional"},{"DocComment":" assignment and conditional swaps."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":11,"beg":{"line":393,"col":35},"end":{"line":393,"col":39}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"conditional_select","attr_info":{"attributes":[{"DocComment":" Select `a` or `b` according to `choice`."},{"DocComment":""},{"DocComment":" # Returns"},{"DocComment":""},{"DocComment":" * `a` if `choice == Choice(0)`;"},{"DocComment":" * `b` if `choice == Choice(1)`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let x: u8 = 13;"},{"DocComment":" let y: u8 = 42;"},{"DocComment":""},{"DocComment":" let z = u8::conditional_select(&x, &y, 0.into());"},{"DocComment":" assert_eq!(z, x);"},{"DocComment":" let z = u8::conditional_select(&x, &y, 1.into());"},{"DocComment":" assert_eq!(z, y);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"Deduplicated":10138},{"Deduplicated":1496}],"output":{"Deduplicated":10076}},"item":{"id":53,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10151,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"conditional_assign","attr_info":{"attributes":[{"DocComment":" Conditionally assign `other` to `self`, according to `choice`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" x.conditional_assign(&y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" x.conditional_assign(&y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142},{"Deduplicated":10138},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"item":{"id":54,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10151}]}}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"conditional_swap","attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142},{"HashConsedValue":[10152,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":10076},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"item":{"id":55,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10151}]}}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":17,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["StructuralPartialEq",0]}],"span":{"data":{"file_id":13,"beg":{"line":257,"col":0},"end":{"line":257,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Required trait for constants used in pattern matches."},{"DocComment":""},{"DocComment":" Constants are only allowed as patterns if (a) their type implements"},{"DocComment":" `PartialEq`, and (b) interpreting the value of the constant as a pattern"},{"DocComment":" is equivalent to calling `PartialEq`. This ensures that constants used as"},{"DocComment":" patterns cannot expose implementation details in an unexpected way or"},{"DocComment":" cause semver hazards."},{"DocComment":""},{"DocComment":" This trait ensures point (b)."},{"DocComment":" Any type that derives `PartialEq` automatically implements this trait."},{"DocComment":""},{"DocComment":" Implementing this trait (which is unstable) is a way for type authors to explicitly allow"},{"DocComment":" comparing const values of this type; that operation will recursively compare all fields"},{"DocComment":" (including private fields), even if that behavior differs from `PartialEq`. This can make it"},{"DocComment":" semver-breaking to add further private fields to a type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"structural_peq"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[],"vtable":{"id":{"Adt":29},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":18,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["Identity",0]}],"span":{"data":{"file_id":18,"beg":{"line":32,"col":0},"end":{"line":36,"col":1}},"generated_from_span":null},"source_text":"pub trait Identity {\n /// Returns the identity element of the curve.\n /// Can be used as a constructor.\n fn identity() -> Self;\n}","attr_info":{"attributes":[{"DocComment":" Trait for getting the identity element of a point type."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"identity","attr_info":{"attributes":[{"DocComment":" Returns the identity element of the curve."},{"DocComment":" Can be used as a constructor."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":10076}},"item":{"id":163,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10153,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":19,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]}],"span":{"data":{"file_id":18,"beg":{"line":451,"col":0},"end":{"line":454,"col":1}},"generated_from_span":null},"source_text":"pub(crate) trait ValidityCheck {\n /// Checks whether the point is on the curve. Not CT.\n fn is_valid(&self) -> bool;\n}","attr_info":{"attributes":[{"DocComment":" Trait for checking whether a point is on the curve."},{"DocComment":""},{"DocComment":" This trait is only for debugging/testing, since it should be"},{"DocComment":" impossible for a `curve25519-dalek` user to construct an invalid"},{"DocComment":" point."},{"Unknown":{"path":"allow","args":"dead_code"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"is_valid","attr_info":{"attributes":[{"DocComment":" Checks whether the point is on the curve. Not CT."}],"inline":null,"rename":null,"public":false},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134}],"output":{"Deduplicated":1470}},"item":{"id":164,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10154,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[19,0]}}],"vtable":{"id":{"Adt":30},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":20,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]}],"span":{"data":{"file_id":20,"beg":{"line":185,"col":0},"end":{"line":185,"col":36}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A hashable type."},{"DocComment":""},{"DocComment":" Types implementing `Hash` are able to be [`hash`]ed with an instance of"},{"DocComment":" [`Hasher`]."},{"DocComment":""},{"DocComment":" ## Implementing `Hash`"},{"DocComment":""},{"DocComment":" You can derive `Hash` with `#[derive(Hash)]` if all fields implement `Hash`."},{"DocComment":" The resulting hash will be the combination of the values from calling"},{"DocComment":" [`hash`] on each field."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Hash)]"},{"DocComment":" struct Rustacean {"},{"DocComment":" name: String,"},{"DocComment":" country: String,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If you need more control over how a value is hashed, you can of course"},{"DocComment":" implement the `Hash` trait yourself:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{Hash, Hasher};"},{"DocComment":""},{"DocComment":" struct Person {"},{"DocComment":" id: u32,"},{"DocComment":" name: String,"},{"DocComment":" phone: u64,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Hash for Person {"},{"DocComment":" fn hash(&self, state: &mut H) {"},{"DocComment":" self.id.hash(state);"},{"DocComment":" self.phone.hash(state);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## `Hash` and `Eq`"},{"DocComment":""},{"DocComment":" When implementing both `Hash` and [`Eq`], it is important that the following"},{"DocComment":" property holds:"},{"DocComment":""},{"DocComment":" ```text"},{"DocComment":" k1 == k2 -> hash(k1) == hash(k2)"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" In other words, if two keys are equal, their hashes must also be equal."},{"DocComment":" [`HashMap`] and [`HashSet`] both rely on this behavior."},{"DocComment":""},{"DocComment":" Thankfully, you won't need to worry about upholding this property when"},{"DocComment":" deriving both [`Eq`] and `Hash` with `#[derive(PartialEq, Eq, Hash)]`."},{"DocComment":""},{"DocComment":" Violating this property is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Prefix collisions"},{"DocComment":""},{"DocComment":" Implementations of `hash` should ensure that the data they"},{"DocComment":" pass to the `Hasher` are prefix-free. That is,"},{"DocComment":" values which are not equal should cause two different sequences of values to be written,"},{"DocComment":" and neither of the two sequences should be a prefix of the other."},{"DocComment":""},{"DocComment":" For example, the standard implementation of [`Hash` for `&str`][impl] passes an extra"},{"DocComment":" `0xFF` byte to the `Hasher` so that the values `(\"ab\", \"c\")` and `(\"a\","},{"DocComment":" \"bc\")` hash differently."},{"DocComment":""},{"DocComment":" ## Portability"},{"DocComment":""},{"DocComment":" Due to differences in endianness and type sizes, data fed by `Hash` to a `Hasher`"},{"DocComment":" should not be considered portable across platforms. Additionally the data passed by most"},{"DocComment":" standard library types should not be considered stable between compiler versions."},{"DocComment":""},{"DocComment":" This means tests shouldn't probe hard-coded hash values or data fed to a `Hasher` and"},{"DocComment":" instead should check consistency with `Eq`."},{"DocComment":""},{"DocComment":" Serialization formats intended to be portable between platforms or compiler versions should"},{"DocComment":" either avoid encoding hashes or only rely on `Hash` and `Hasher` implementations that"},{"DocComment":" provide additional guarantees."},{"DocComment":""},{"DocComment":" [`HashMap`]: ../../std/collections/struct.HashMap.html"},{"DocComment":" [`HashSet`]: ../../std/collections/struct.HashSet.html"},{"DocComment":" [`hash`]: Hash::hash"},{"DocComment":" [impl]: ../../std/primitive.str.html#impl-Hash-for-str"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Hash"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"hash","attr_info":{"attributes":[{"DocComment":" Feeds this value into the given [`Hasher`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hash, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" 7920.hash(&mut hasher);"},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"HashConsedValue":[2184,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":1436},"Mut"]}]}],"output":{"Deduplicated":1443}},"item":{"id":74,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076},{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10155,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[2163,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[20,0]}},null],"vtable":null},{"def_id":21,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]}],"span":{"data":{"file_id":20,"beg":{"line":312,"col":0},"end":{"line":312,"col":16}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for hashing an arbitrary stream of bytes."},{"DocComment":""},{"DocComment":" Instances of `Hasher` usually represent state that is changed while hashing"},{"DocComment":" data."},{"DocComment":""},{"DocComment":" `Hasher` provides a fairly basic interface for retrieving the generated hash"},{"DocComment":" (with [`finish`]), and writing integers as well as slices of bytes into an"},{"DocComment":" instance (with [`write`] and [`write_u8`] etc.). Most of the time, `Hasher`"},{"DocComment":" instances are used in conjunction with the [`Hash`] trait."},{"DocComment":""},{"DocComment":" This trait provides no guarantees about how the various `write_*` methods are"},{"DocComment":" defined and implementations of [`Hash`] should not assume that they work one"},{"DocComment":" way or another. You cannot assume, for example, that a [`write_u32`] call is"},{"DocComment":" equivalent to four calls of [`write_u8`]. Nor can you assume that adjacent"},{"DocComment":" `write` calls are merged, so it's possible, for example, that"},{"DocComment":" ```"},{"DocComment":" # fn foo(hasher: &mut impl std::hash::Hasher) {"},{"DocComment":" hasher.write(&[1, 2]);"},{"DocComment":" hasher.write(&[3, 4, 5, 6]);"},{"DocComment":" # }"},{"DocComment":" ```"},{"DocComment":" and"},{"DocComment":" ```"},{"DocComment":" # fn foo(hasher: &mut impl std::hash::Hasher) {"},{"DocComment":" hasher.write(&[1, 2, 3, 4]);"},{"DocComment":" hasher.write(&[5, 6]);"},{"DocComment":" # }"},{"DocComment":" ```"},{"DocComment":" end up producing different hashes."},{"DocComment":""},{"DocComment":" Thus to produce the same hash value, [`Hash`] implementations must ensure"},{"DocComment":" for equivalent items that exactly the same sequence of calls is made -- the"},{"DocComment":" same methods with the same parameters in the same order."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":""},{"DocComment":" hasher.write_u32(1989);"},{"DocComment":" hasher.write_u8(11);"},{"DocComment":" hasher.write_u8(9);"},{"DocComment":" hasher.write(b\"Huh?\");"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`finish`]: Hasher::finish"},{"DocComment":" [`write`]: Hasher::write"},{"DocComment":" [`write_u8`]: Hasher::write_u8"},{"DocComment":" [`write_u32`]: Hasher::write_u32"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"finish","attr_info":{"attributes":[{"DocComment":" Returns the hash value for the values written so far."},{"DocComment":""},{"DocComment":" Despite its name, the method does not reset the hasher’s internal"},{"DocComment":" state. Additional [`write`]s will continue from the current value."},{"DocComment":" If you need to start a fresh hash value, you will have to create"},{"DocComment":" a new hasher."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" hasher.write(b\"Cool!\");"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`write`]: Hasher::write"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134}],"output":{"Deduplicated":1550}},"item":{"id":176,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10156,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[21,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"write","attr_info":{"attributes":[{"DocComment":" Writes some data into this `Hasher`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" let data = [0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef];"},{"DocComment":""},{"DocComment":" hasher.write(&data);"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Note to Implementers"},{"DocComment":""},{"DocComment":" You generally should not do length-prefixing as part of implementing"},{"DocComment":" this method. It's up to the [`Hash`] implementation to call"},{"DocComment":" [`Hasher::write_length_prefix`] before sequences that need it."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142},{"HashConsedValue":[4184,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":2239},"Shared"]}]}],"output":{"Deduplicated":1443}},"item":{"id":177,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10156}]}}},"kind":{"TraitMethod":[21,1]}},null,null,null,null,null,null,null,null,null,null,null,null,null,null],"vtable":{"id":{"Adt":31},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":22,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["TryFrom",0]}],"span":{"data":{"file_id":21,"beg":{"line":694,"col":0},"end":{"line":694,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Simple and safe type conversions that may fail in a controlled"},{"DocComment":" way under some circumstances. It is the reciprocal of [`TryInto`]."},{"DocComment":""},{"DocComment":" This is useful when you are doing a type conversion that may"},{"DocComment":" trivially succeed but may also need special handling."},{"DocComment":" For example, there is no way to convert an [`i64`] into an [`i32`]"},{"DocComment":" using the [`From`] trait, because an [`i64`] may contain a value"},{"DocComment":" that an [`i32`] cannot represent and so the conversion would lose data."},{"DocComment":" This might be handled by truncating the [`i64`] to an [`i32`] or by"},{"DocComment":" simply returning [`i32::MAX`], or by some other method. The [`From`]"},{"DocComment":" trait is intended for perfect conversions, so the `TryFrom` trait"},{"DocComment":" informs the programmer when a type conversion could go bad and lets"},{"DocComment":" them decide how to handle it."},{"DocComment":""},{"DocComment":" # Generic Implementations"},{"DocComment":""},{"DocComment":" - `TryFrom for U` implies [`TryInto`]` for T`"},{"DocComment":" - [`try_from`] is reflexive, which means that `TryFrom for T`"},{"DocComment":" is implemented and cannot fail -- the associated `Error` type for"},{"DocComment":" calling `T::try_from()` on a value of type `T` is [`Infallible`]."},{"DocComment":" When the [`!`] type is stabilized [`Infallible`] and [`!`] will be"},{"DocComment":" equivalent."},{"DocComment":""},{"DocComment":" Prefer using [`TryInto`] over [`TryFrom`] when specifying trait bounds on a generic function"},{"DocComment":" to ensure that types that only implement [`TryInto`] can be used as well."},{"DocComment":""},{"DocComment":" `TryFrom` can be implemented as follows:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct GreaterThanZero(i32);"},{"DocComment":""},{"DocComment":" impl TryFrom for GreaterThanZero {"},{"DocComment":" type Error = &'static str;"},{"DocComment":""},{"DocComment":" fn try_from(value: i32) -> Result {"},{"DocComment":" if value <= 0 {"},{"DocComment":" Err(\"GreaterThanZero only accepts values greater than zero!\")"},{"DocComment":" } else {"},{"DocComment":" Ok(GreaterThanZero(value))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" As described, [`i32`] implements `TryFrom<`[`i64`]`>`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let big_number = 1_000_000_000_000i64;"},{"DocComment":" // Silently truncates `big_number`, requires detecting"},{"DocComment":" // and handling the truncation after the fact."},{"DocComment":" let smaller_number = big_number as i32;"},{"DocComment":" assert_eq!(smaller_number, -727379968);"},{"DocComment":""},{"DocComment":" // Returns an error because `big_number` is too big to"},{"DocComment":" // fit in an `i32`."},{"DocComment":" let try_smaller_number = i32::try_from(big_number);"},{"DocComment":" assert!(try_smaller_number.is_err());"},{"DocComment":""},{"DocComment":" // Returns `Ok(3)`."},{"DocComment":" let try_successful_smaller_number = i32::try_from(3);"},{"DocComment":" assert!(try_successful_smaller_number.is_ok());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`try_from`]: TryFrom::try_from"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"TryFrom"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Self_Error"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"try_from","attr_info":{"attributes":[{"DocComment":" Performs the conversion."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10077}],"output":{"Deduplicated":10157}},"item":{"id":195,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10158,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[22,0]}}],"vtable":null},{"def_id":23,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]}],"span":{"data":{"file_id":23,"beg":{"line":158,"col":0},"end":{"line":158,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for borrowing data."},{"DocComment":""},{"DocComment":" In Rust, it is common to provide different representations of a type for"},{"DocComment":" different use cases. For instance, storage location and management for a"},{"DocComment":" value can be specifically chosen as appropriate for a particular use via"},{"DocComment":" pointer types such as [`Box`] or [`Rc`]. Beyond these generic"},{"DocComment":" wrappers that can be used with any type, some types provide optional"},{"DocComment":" facets providing potentially costly functionality. An example for such a"},{"DocComment":" type is [`String`] which adds the ability to extend a string to the basic"},{"DocComment":" [`str`]. This requires keeping additional information unnecessary for a"},{"DocComment":" simple, immutable string."},{"DocComment":""},{"DocComment":" These types provide access to the underlying data through references"},{"DocComment":" to the type of that data. They are said to be ‘borrowed as’ that type."},{"DocComment":" For instance, a [`Box`] can be borrowed as `T` while a [`String`]"},{"DocComment":" can be borrowed as `str`."},{"DocComment":""},{"DocComment":" Types express that they can be borrowed as some type `T` by implementing"},{"DocComment":" `Borrow`, providing a reference to a `T` in the trait’s"},{"DocComment":" [`borrow`] method. A type is free to borrow as several different types."},{"DocComment":" If it wishes to mutably borrow as the type, allowing the underlying data"},{"DocComment":" to be modified, it can additionally implement [`BorrowMut`]."},{"DocComment":""},{"DocComment":" Further, when providing implementations for additional traits, it needs"},{"DocComment":" to be considered whether they should behave identically to those of the"},{"DocComment":" underlying type as a consequence of acting as a representation of that"},{"DocComment":" underlying type. Generic code typically uses `Borrow` when it relies"},{"DocComment":" on the identical behavior of these additional trait implementations."},{"DocComment":" These traits will likely appear as additional trait bounds."},{"DocComment":""},{"DocComment":" In particular `Eq`, `Ord` and `Hash` must be equivalent for"},{"DocComment":" borrowed and owned values: `x.borrow() == y.borrow()` should give the"},{"DocComment":" same result as `x == y`."},{"DocComment":""},{"DocComment":" If generic code merely needs to work for all types that can"},{"DocComment":" provide a reference to related type `T`, it is often better to use"},{"DocComment":" [`AsRef`] as more types can safely implement it."},{"DocComment":""},{"DocComment":" [`Box`]: ../../std/boxed/struct.Box.html"},{"DocComment":" [`Mutex`]: ../../std/sync/struct.Mutex.html"},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html"},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`borrow`]: Borrow::borrow"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" As a data collection, [`HashMap`] owns both keys and values. If"},{"DocComment":" the key’s actual data is wrapped in a managing type of some kind, it"},{"DocComment":" should, however, still be possible to search for a value using a"},{"DocComment":" reference to the key’s data. For instance, if the key is a string, then"},{"DocComment":" it is likely stored with the hash map as a [`String`], while it should"},{"DocComment":" be possible to search using a [`&str`][`str`]. Thus, `insert` needs to"},{"DocComment":" operate on a `String` while `get` needs to be able to use a `&str`."},{"DocComment":""},{"DocComment":" Slightly simplified, the relevant parts of `HashMap` look like"},{"DocComment":" this:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::borrow::Borrow;"},{"DocComment":" use std::hash::Hash;"},{"DocComment":""},{"DocComment":" pub struct HashMap {"},{"DocComment":" # marker: ::std::marker::PhantomData<(K, V)>,"},{"DocComment":" // fields omitted"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl HashMap {"},{"DocComment":" pub fn insert(&self, key: K, value: V) -> Option"},{"DocComment":" where K: Hash + Eq"},{"DocComment":" {"},{"DocComment":" # unimplemented!()"},{"DocComment":" // ..."},{"DocComment":" }"},{"DocComment":""},{"DocComment":" pub fn get(&self, k: &Q) -> Option<&V>"},{"DocComment":" where"},{"DocComment":" K: Borrow,"},{"DocComment":" Q: Hash + Eq + ?Sized"},{"DocComment":" {"},{"DocComment":" # unimplemented!()"},{"DocComment":" // ..."},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The entire hash map is generic over a key type `K`. Because these keys"},{"DocComment":" are stored with the hash map, this type has to own the key’s data."},{"DocComment":" When inserting a key-value pair, the map is given such a `K` and needs"},{"DocComment":" to find the correct hash bucket and check if the key is already present"},{"DocComment":" based on that `K`. It therefore requires `K: Hash + Eq`."},{"DocComment":""},{"DocComment":" When searching for a value in the map, however, having to provide a"},{"DocComment":" reference to a `K` as the key to search for would require to always"},{"DocComment":" create such an owned value. For string keys, this would mean a `String`"},{"DocComment":" value needs to be created just for the search for cases where only a"},{"DocComment":" `str` is available."},{"DocComment":""},{"DocComment":" Instead, the `get` method is generic over the type of the underlying key"},{"DocComment":" data, called `Q` in the method signature above. It states that `K`"},{"DocComment":" borrows as a `Q` by requiring that `K: Borrow`. By additionally"},{"DocComment":" requiring `Q: Hash + Eq`, it signals the requirement that `K` and `Q`"},{"DocComment":" have implementations of the `Hash` and `Eq` traits that produce identical"},{"DocComment":" results."},{"DocComment":""},{"DocComment":" The implementation of `get` relies in particular on identical"},{"DocComment":" implementations of `Hash` by determining the key’s hash bucket by calling"},{"DocComment":" `Hash::hash` on the `Q` value even though it inserted the key based on"},{"DocComment":" the hash value calculated from the `K` value."},{"DocComment":""},{"DocComment":" As a consequence, the hash map breaks if a `K` wrapping a `Q` value"},{"DocComment":" produces a different hash than `Q`. For instance, imagine you have a"},{"DocComment":" type that wraps a string but compares ASCII letters ignoring their case:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" pub struct CaseInsensitiveString(String);"},{"DocComment":""},{"DocComment":" impl PartialEq for CaseInsensitiveString {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.0.eq_ignore_ascii_case(&other.0)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for CaseInsensitiveString { }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Because two equal values need to produce the same hash value, the"},{"DocComment":" implementation of `Hash` needs to ignore ASCII case, too:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # use std::hash::{Hash, Hasher};"},{"DocComment":" # pub struct CaseInsensitiveString(String);"},{"DocComment":" impl Hash for CaseInsensitiveString {"},{"DocComment":" fn hash(&self, state: &mut H) {"},{"DocComment":" for c in self.0.as_bytes() {"},{"DocComment":" c.to_ascii_lowercase().hash(state)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Can `CaseInsensitiveString` implement `Borrow`? It certainly can"},{"DocComment":" provide a reference to a string slice via its contained owned string."},{"DocComment":" But because its `Hash` implementation differs, it behaves differently"},{"DocComment":" from `str` and therefore must not, in fact, implement `Borrow`."},{"DocComment":" If it wants to allow others access to the underlying `str`, it can do"},{"DocComment":" that via `AsRef` which doesn’t carry any extra requirements."},{"DocComment":""},{"DocComment":" [`Hash`]: crate::hash::Hash"},{"DocComment":" [`HashMap`]: ../../std/collections/struct.HashMap.html"},{"DocComment":" [`String`]: ../../std/string/struct.String.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Borrow"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Borrowed"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"borrow","attr_info":{"attributes":[{"DocComment":" Immutably borrows from an owned value."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::borrow::Borrow;"},{"DocComment":""},{"DocComment":" fn check>(s: T) {"},{"DocComment":" assert_eq!(\"Hello\", s.borrow());"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let s = \"Hello\".to_string();"},{"DocComment":""},{"DocComment":" check(s);"},{"DocComment":""},{"DocComment":" let s = \"Hello\";"},{"DocComment":""},{"DocComment":" check(s);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134}],"output":{"HashConsedValue":[10159,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10077},"Shared"]}]}},"item":{"id":197,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10160,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[23,0]}}],"vtable":{"id":{"Adt":33},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":24,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]}],"span":{"data":{"file_id":24,"beg":{"line":18,"col":0},"end":{"line":18,"col":36}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait to represent types that can be created by summing up an iterator."},{"DocComment":""},{"DocComment":" This trait is used to implement [`Iterator::sum()`]. Types which implement"},{"DocComment":" this trait can be generated by using the [`sum()`] method on an iterator."},{"DocComment":" Like [`FromIterator`], this trait should rarely be called directly."},{"DocComment":""},{"DocComment":" [`sum()`]: Iterator::sum"},{"DocComment":" [`FromIterator`]: iter::FromIterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":24,"beg":{"line":22,"col":14},"end":{"line":22,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"sum","attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by \"summing up\""},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1436}],"output":{"Deduplicated":10076}},"item":{"id":198,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10161,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10162,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[24,0]}}],"vtable":null},{"def_id":25,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]}],"span":{"data":{"file_id":27,"beg":{"line":42,"col":0},"end":{"line":42,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for dealing with iterators."},{"DocComment":""},{"DocComment":" This is the main iterator trait. For more about the concept of iterators"},{"DocComment":" generally, please see the [module-level documentation]. In particular, you"},{"DocComment":" may want to know how to [implement `Iterator`][impl]."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":" [impl]: crate::iter#implementing-iterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"iterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"next","attr_info":{"attributes":[{"DocComment":" Advances the iterator and returns the next value."},{"DocComment":""},{"DocComment":" Returns [`None`] when iteration is finished. Individual iterator"},{"DocComment":" implementations may choose to resume iteration, and so calling `next()`"},{"DocComment":" again may or may not eventually start returning [`Some(Item)`] again at some"},{"DocComment":" point."},{"DocComment":""},{"DocComment":" [`Some(Item)`]: Some"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = [1, 2, 3];"},{"DocComment":""},{"DocComment":" let mut iter = a.into_iter();"},{"DocComment":""},{"DocComment":" // A call to next() returns the next value..."},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":""},{"DocComment":" // ... and then None once it's over."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":""},{"DocComment":" // More calls may or may not return `None`. Here, they always will."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142}],"output":{"Deduplicated":10163}},"item":{"id":199,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10164,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[25,0]}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"vtable":{"id":{"Adt":34},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":26,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]}],"span":{"data":{"file_id":21,"beg":{"line":587,"col":0},"end":{"line":587,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to do value-to-value conversions while consuming the input value. It is the reciprocal of"},{"DocComment":" [`Into`]."},{"DocComment":""},{"DocComment":" One should always prefer implementing `From` over [`Into`]"},{"DocComment":" because implementing `From` automatically provides one with an implementation of [`Into`]"},{"DocComment":" thanks to the blanket implementation in the standard library."},{"DocComment":""},{"DocComment":" Only implement [`Into`] when targeting a version prior to Rust 1.41 and converting to a type"},{"DocComment":" outside the current crate."},{"DocComment":" `From` was not able to do these types of conversions in earlier versions because of Rust's"},{"DocComment":" orphaning rules."},{"DocComment":" See [`Into`] for more details."},{"DocComment":""},{"DocComment":" Prefer using [`Into`] over [`From`] when specifying trait bounds on a generic function"},{"DocComment":" to ensure that types that only implement [`Into`] can be used as well."},{"DocComment":""},{"DocComment":" The `From` trait is also very useful when performing error handling. When constructing a function"},{"DocComment":" that is capable of failing, the return type will generally be of the form `Result`."},{"DocComment":" `From` simplifies error handling by allowing a function to return a single error type"},{"DocComment":" that encapsulates multiple error types. See the \"Examples\" section and [the book][book] for more"},{"DocComment":" details."},{"DocComment":""},{"DocComment":" **Note: This trait must not fail**. The `From` trait is intended for perfect conversions."},{"DocComment":" If the conversion can fail or is not perfect, use [`TryFrom`]."},{"DocComment":""},{"DocComment":" # Generic Implementations"},{"DocComment":""},{"DocComment":" - `From for U` implies [`Into`]` for T`"},{"DocComment":" - `From` is reflexive, which means that `From for T` is implemented"},{"DocComment":""},{"DocComment":" # When to implement `From`"},{"DocComment":""},{"DocComment":" While there's no technical restrictions on which conversions can be done using"},{"DocComment":" a `From` implementation, the general expectation is that the conversions"},{"DocComment":" should typically be restricted as follows:"},{"DocComment":""},{"DocComment":" * The conversion is *infallible*: if the conversion can fail, use [`TryFrom`]"},{"DocComment":" instead; don't provide a `From` impl that panics."},{"DocComment":""},{"DocComment":" * The conversion is *lossless*: semantically, it should not lose or discard"},{"DocComment":" information. For example, `i32: From` exists, where the original"},{"DocComment":" value can be recovered using `u16: TryFrom`. And `String: From<&str>`"},{"DocComment":" exists, where you can get something equivalent to the original value via"},{"DocComment":" `Deref`. But `From` cannot be used to convert from `u32` to `u16`, since"},{"DocComment":" that cannot succeed in a lossless way. (There's some wiggle room here for"},{"DocComment":" information not considered semantically relevant. For example,"},{"DocComment":" `Box<[T]>: From>` exists even though it might not preserve capacity,"},{"DocComment":" like how two vectors can be equal despite differing capacities.)"},{"DocComment":""},{"DocComment":" * The conversion is *value-preserving*: the conceptual kind and meaning of"},{"DocComment":" the resulting value is the same, even though the Rust type and technical"},{"DocComment":" representation might be different. For example `-1_i8 as u8` is *lossless*,"},{"DocComment":" since `as` casting back can recover the original value, but that conversion"},{"DocComment":" is *not* available via `From` because `-1` and `255` are different conceptual"},{"DocComment":" values (despite being identical bit patterns technically). But"},{"DocComment":" `f32: From` *is* available because `1_i16` and `1.0_f32` are conceptually"},{"DocComment":" the same real number (despite having very different bit patterns technically)."},{"DocComment":" `String: From` is available because they're both *text*, but"},{"DocComment":" `String: From` is *not* available, since `1` (a number) and `\"1\"`"},{"DocComment":" (text) are too different. (Converting values to text is instead covered"},{"DocComment":" by the [`Display`](crate::fmt::Display) trait.)"},{"DocComment":""},{"DocComment":" * The conversion is *obvious*: it's the only reasonable conversion between"},{"DocComment":" the two types. Otherwise it's better to have it be a named method or"},{"DocComment":" constructor, like how [`str::as_bytes`] is a method and how integers have"},{"DocComment":" methods like [`u32::from_ne_bytes`], [`u32::from_le_bytes`], and"},{"DocComment":" [`u32::from_be_bytes`], none of which are `From` implementations. Whereas"},{"DocComment":" there's only one reasonable way to wrap an [`Ipv6Addr`](crate::net::Ipv6Addr)"},{"DocComment":" into an [`IpAddr`](crate::net::IpAddr), thus `IpAddr: From` exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" [`String`] implements `From<&str>`:"},{"DocComment":""},{"DocComment":" An explicit conversion from a `&str` to a String is done as follows:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let string = \"hello\".to_string();"},{"DocComment":" let other_string = String::from(\"hello\");"},{"DocComment":""},{"DocComment":" assert_eq!(string, other_string);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" While performing error handling it is often useful to implement `From` for your own error type."},{"DocComment":" By converting underlying error types to our own custom error type that encapsulates the"},{"DocComment":" underlying error type, we can return a single error type without losing information on the"},{"DocComment":" underlying cause. The '?' operator automatically converts the underlying error type to our"},{"DocComment":" custom error type with `From::from`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fs;"},{"DocComment":" use std::io;"},{"DocComment":" use std::num;"},{"DocComment":""},{"DocComment":" enum CliError {"},{"DocComment":" IoError(io::Error),"},{"DocComment":" ParseError(num::ParseIntError),"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl From for CliError {"},{"DocComment":" fn from(error: io::Error) -> Self {"},{"DocComment":" CliError::IoError(error)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl From for CliError {"},{"DocComment":" fn from(error: num::ParseIntError) -> Self {"},{"DocComment":" CliError::ParseError(error)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn open_and_parse_file(file_name: &str) -> Result {"},{"DocComment":" let mut contents = fs::read_to_string(&file_name)?;"},{"DocComment":" let num: i32 = contents.trim().parse()?;"},{"DocComment":" Ok(num)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`from`]: From::from"},{"DocComment":" [book]: ../../book/ch09-00-error-handling.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"From"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from","attr_info":{"attributes":[{"DocComment":" Converts to this type from the input type."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10077}],"output":{"Deduplicated":10076}},"item":{"id":281,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10165,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[26,0]}}],"vtable":null},{"def_id":27,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]}],"span":{"data":{"file_id":33,"beg":{"line":59,"col":0},"end":{"line":59,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used for indexing operations (`container[index]`) in immutable contexts."},{"DocComment":""},{"DocComment":" `container[index]` is actually syntactic sugar for `*container.index(index)`,"},{"DocComment":" but only when used as an immutable value. If a mutable value is requested,"},{"DocComment":" [`IndexMut`] is used instead. This allows nice things such as"},{"DocComment":" `let value = v[index]` if the type of `value` implements [`Copy`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The following example implements `Index` on a read-only `NucleotideCount`"},{"DocComment":" container, enabling individual counts to be retrieved with index syntax."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Index;"},{"DocComment":""},{"DocComment":" enum Nucleotide {"},{"DocComment":" A,"},{"DocComment":" C,"},{"DocComment":" G,"},{"DocComment":" T,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct NucleotideCount {"},{"DocComment":" a: usize,"},{"DocComment":" c: usize,"},{"DocComment":" g: usize,"},{"DocComment":" t: usize,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Index for NucleotideCount {"},{"DocComment":" type Output = usize;"},{"DocComment":""},{"DocComment":" fn index(&self, nucleotide: Nucleotide) -> &Self::Output {"},{"DocComment":" match nucleotide {"},{"DocComment":" Nucleotide::A => &self.a,"},{"DocComment":" Nucleotide::C => &self.c,"},{"DocComment":" Nucleotide::G => &self.g,"},{"DocComment":" Nucleotide::T => &self.t,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let nucleotide_count = NucleotideCount {a: 14, c: 9, g: 10, t: 12};"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::A], 14);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::C], 9);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::G], 10);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::T], 12);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"index"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Idx"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index","attr_info":{"attributes":[{"DocComment":" Performs the indexing (`container[index]`) operation."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" May panic if the index is out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"Deduplicated":10077}],"output":{"HashConsedValue":[10166,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10112},"Shared"]}]}},"item":{"id":288,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10167,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":{"Adt":64},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":28,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]}],"span":{"data":{"file_id":34,"beg":{"line":163,"col":0},"end":{"line":163,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A helper trait used for indexing operations."},{"DocComment":""},{"DocComment":" Implementations of this trait have to promise that if the argument"},{"DocComment":" to `get_unchecked(_mut)` is a safe reference, then so is the result."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"SliceIndex"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":34,"beg":{"line":163,"col":46},"end":{"line":163,"col":73}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":46,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get","attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10159}],"output":{"HashConsedValue":[10168,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10166}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":290,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10169,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[28,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"HashConsedValue":[10170,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10077},"Mut"]}]}],"output":{"HashConsedValue":[10172,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"HashConsedValue":[10171,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10112},"Mut"]}]}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":291,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"Deduplicated":10169}]}}},"kind":{"TraitMethod":[28,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_unchecked","attr_info":{"attributes":[{"DocComment":" Returns a pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10173}],"output":{"Deduplicated":10174}},"item":{"id":292,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"Deduplicated":10169}]}}},"kind":{"TraitMethod":[28,2]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_unchecked_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10175}],"output":{"Deduplicated":10176}},"item":{"id":293,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"Deduplicated":10169}]}}},"kind":{"TraitMethod":[28,3]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index","attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10159}],"output":{"Deduplicated":10166}},"item":{"id":294,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"Deduplicated":10169}]}}},"kind":{"TraitMethod":[28,4]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10170}],"output":{"Deduplicated":10171}},"item":{"id":295,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"Deduplicated":10169}]}}},"kind":{"TraitMethod":[28,5]}}],"vtable":{"id":{"Adt":65},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":29,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]}],"span":{"data":{"file_id":39,"beg":{"line":34,"col":0},"end":{"line":34,"col":64}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Objects that have a notion of *successor* and *predecessor* operations."},{"DocComment":""},{"DocComment":" The *successor* operation moves towards values that compare greater."},{"DocComment":" The *predecessor* operation moves towards values that compare lesser."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"range_step"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":39,"beg":{"line":34,"col":22},"end":{"line":34,"col":35}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":39,"beg":{"line":34,"col":38},"end":{"line":34,"col":56}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"steps_between","attr_info":{"attributes":[{"DocComment":" Returns the bounds on the number of *successor* steps required to get from `start` to `end`"},{"DocComment":" like [`Iterator::size_hint()`][Iterator::size_hint()]."},{"DocComment":""},{"DocComment":" Returns `(usize::MAX, None)` if the number of steps would overflow `usize`, or is infinite."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `b`, and `n`:"},{"DocComment":""},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::forward_checked(&a, n) == Some(b)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::backward_checked(&b, n) == Some(a)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` only if `a <= b`"},{"DocComment":" * Corollary: `steps_between(&a, &b) == (0, Some(0))` if and only if `a == b`"},{"DocComment":" * `steps_between(&a, &b) == (0, None)` if `a > b`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"Deduplicated":10138}],"output":{"Deduplicated":4622}},"item":{"id":314,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10177,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[29,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"forward_checked","attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *successor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == Step::forward_checked(a, m).and_then(|x| Step::forward_checked(x, n))`"},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == try { Step::forward_checked(a, n.checked_add(m)) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::forward_checked(&x, 1))`"},{"DocComment":" * Corollary: `Step::forward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":1551}],"output":{"Deduplicated":10178}},"item":{"id":315,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10177}]}}},"kind":{"TraitMethod":[29,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"backward_checked","attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *predecessor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == n.checked_add(m).and_then(|x| Step::backward_checked(a, x))`"},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == try { Step::backward_checked(a, n.checked_add(m)?) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::backward_checked(x, 1))`"},{"DocComment":" * Corollary: `Step::backward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":1551}],"output":{"Deduplicated":10178}},"item":{"id":318,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10177}]}}},"kind":{"TraitMethod":[29,4]}},null,null],"vtable":null},{"def_id":30,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["ZeroablePrimitive",0]}],"span":{"data":{"file_id":43,"beg":{"line":34,"col":0},"end":{"line":34,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A marker trait for primitive types which can be zero."},{"DocComment":""},{"DocComment":" This is an implementation detail for [NonZero]\\ which may disappear or be replaced at any time."},{"DocComment":""},{"DocComment":" # Safety"},{"DocComment":""},{"DocComment":" Types implementing this trait must be primitives that are valid when zeroed."},{"DocComment":""},{"DocComment":" The associated `Self::NonZeroInner` type must have the same size+align as `Self`,"},{"DocComment":" but with a niche and bit validity making it so the following `transmutes` are sound:"},{"DocComment":""},{"DocComment":" - `Self::NonZeroInner` to `Option`"},{"DocComment":" - `Option` to `Self`"},{"DocComment":""},{"DocComment":" (And, consequently, `Self::NonZeroInner` to `Self`.)"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_NonZeroInner"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":43,"beg":{"line":34,"col":44},"end":{"line":34,"col":48}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":43,"beg":{"line":34,"col":51},"end":{"line":34,"col":66}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":48,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":2,"span":{"data":{"file_id":43,"beg":{"line":36,"col":31},"end":{"line":36,"col":35}},"generated_from_span":null},"origin":{"TraitItem":0},"trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":31,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]}],"span":{"data":{"file_id":38,"beg":{"line":283,"col":0},"end":{"line":283,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conversion into an [`Iterator`]."},{"DocComment":""},{"DocComment":" By implementing `IntoIterator` for a type, you define how it will be"},{"DocComment":" converted to an iterator. This is common for types which describe a"},{"DocComment":" collection of some kind."},{"DocComment":""},{"DocComment":" One benefit of implementing `IntoIterator` is that your type will [work"},{"DocComment":" with Rust's `for` loop syntax](crate::iter#for-loops-and-intoiterator)."},{"DocComment":""},{"DocComment":" See also: [`FromIterator`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"},{"DocComment":" Implementing `IntoIterator` for your type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // and we'll implement IntoIterator"},{"DocComment":" impl IntoIterator for MyCollection {"},{"DocComment":" type Item = i32;"},{"DocComment":" type IntoIter = std::vec::IntoIter;"},{"DocComment":""},{"DocComment":" fn into_iter(self) -> Self::IntoIter {"},{"DocComment":" self.0.into_iter()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Now we can make a new collection..."},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" // ... add some stuff to it ..."},{"DocComment":" c.add(0);"},{"DocComment":" c.add(1);"},{"DocComment":" c.add(2);"},{"DocComment":""},{"DocComment":" // ... and then turn it into an Iterator:"},{"DocComment":" for (i, n) in c.into_iter().enumerate() {"},{"DocComment":" assert_eq!(i as i32, n);"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It is common to use `IntoIterator` as a trait bound. This allows"},{"DocComment":" the input collection type to change, so long as it is still an"},{"DocComment":" iterator. Additional bounds can be specified by restricting on"},{"DocComment":" `Item`:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" fn collect_as_strings(collection: T) -> Vec"},{"DocComment":" where"},{"DocComment":" T: IntoIterator,"},{"DocComment":" T::Item: std::fmt::Debug,"},{"DocComment":" {"},{"DocComment":" collection"},{"DocComment":" .into_iter()"},{"DocComment":" .map(|item| format!(\"{item:?}\"))"},{"DocComment":" .collect()"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"IntoIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Item"},{"index":2,"name":"Self_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":291,"col":19},"end":{"line":291,"col":46}},"generated_from_span":null},"origin":{"TraitItem":1},"trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10112},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null,null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"into_iter","attr_info":{"attributes":[{"DocComment":" Creates an iterator from a value."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"Deduplicated":10112}},"item":{"id":340,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10179,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[31,0]}}],"vtable":{"id":{"Adt":67},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":32,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]}],"span":{"data":{"file_id":50,"beg":{"line":163,"col":0},"end":{"line":163,"col":48}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The version of the call operator that takes a mutable receiver."},{"DocComment":""},{"DocComment":" Instances of `FnMut` can be called repeatedly and may mutate state."},{"DocComment":""},{"DocComment":" `FnMut` is implemented automatically by closures which take mutable"},{"DocComment":" references to captured variables, as well as all types that implement"},{"DocComment":" [`Fn`], e.g., (safe) [function pointers] (since `FnMut` is a supertrait of"},{"DocComment":" [`Fn`]). Additionally, for any type `F` that implements `FnMut`, `&mut F`"},{"DocComment":" implements `FnMut`, too."},{"DocComment":""},{"DocComment":" Since [`FnOnce`] is a supertrait of `FnMut`, any instance of `FnMut` can be"},{"DocComment":" used where a [`FnOnce`] is expected, and since [`Fn`] is a subtrait of"},{"DocComment":" `FnMut`, any instance of [`Fn`] can be used where `FnMut` is expected."},{"DocComment":""},{"DocComment":" Use `FnMut` as a bound when you want to accept a parameter of function-like"},{"DocComment":" type and need to call it repeatedly, while allowing it to mutate state."},{"DocComment":" If you don't want the parameter to mutate state, use [`Fn`] as a"},{"DocComment":" bound; if you don't need to call it repeatedly, use [`FnOnce`]."},{"DocComment":""},{"DocComment":" See the [chapter on closures in *The Rust Programming Language*][book] for"},{"DocComment":" some more information on this topic."},{"DocComment":""},{"DocComment":" Also of note is the special syntax for `Fn` traits (e.g."},{"DocComment":" `Fn(usize, bool) -> usize`). Those interested in the technical details of"},{"DocComment":" this can refer to [the relevant section in the *Rustonomicon*][nomicon]."},{"DocComment":""},{"DocComment":" [book]: ../../book/ch13-01-closures.html"},{"DocComment":" [function pointers]: fn"},{"DocComment":" [nomicon]: ../../nomicon/hrtb.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## Calling a mutably capturing closure"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x = 5;"},{"DocComment":" {"},{"DocComment":" let mut square_x = || x *= x;"},{"DocComment":" square_x();"},{"DocComment":" }"},{"DocComment":" assert_eq!(x, 25);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Using a `FnMut` parameter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" fn do_twice(mut func: F)"},{"DocComment":" where F: FnMut()"},{"DocComment":" {"},{"DocComment":" func();"},{"DocComment":" func();"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut x: usize = 1;"},{"DocComment":" {"},{"DocComment":" let add_two_to_x = || x += 2;"},{"DocComment":" do_twice(add_two_to_x);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(x, 5);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"fn_mut"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Self_Clause0_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":50,"beg":{"line":163,"col":36},"end":{"line":163,"col":48}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"call_mut","attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":10142},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"item":{"id":341,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10180,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[32,0]}}],"vtable":{"id":{"Adt":68},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":33,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]}],"span":{"data":{"file_id":50,"beg":{"line":242,"col":0},"end":{"line":242,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The version of the call operator that takes a by-value receiver."},{"DocComment":""},{"DocComment":" Instances of `FnOnce` can be called, but might not be callable multiple"},{"DocComment":" times. Because of this, if the only thing known about a type is that it"},{"DocComment":" implements `FnOnce`, it can only be called once."},{"DocComment":""},{"DocComment":" `FnOnce` is implemented automatically by closures that might consume captured"},{"DocComment":" variables, as well as all types that implement [`FnMut`], e.g., (safe)"},{"DocComment":" [function pointers] (since `FnOnce` is a supertrait of [`FnMut`])."},{"DocComment":""},{"DocComment":" Since both [`Fn`] and [`FnMut`] are subtraits of `FnOnce`, any instance of"},{"DocComment":" [`Fn`] or [`FnMut`] can be used where a `FnOnce` is expected."},{"DocComment":""},{"DocComment":" Use `FnOnce` as a bound when you want to accept a parameter of function-like"},{"DocComment":" type and only need to call it once. If you need to call the parameter"},{"DocComment":" repeatedly, use [`FnMut`] as a bound; if you also need it to not mutate"},{"DocComment":" state, use [`Fn`]."},{"DocComment":""},{"DocComment":" See the [chapter on closures in *The Rust Programming Language*][book] for"},{"DocComment":" some more information on this topic."},{"DocComment":""},{"DocComment":" Also of note is the special syntax for `Fn` traits (e.g."},{"DocComment":" `Fn(usize, bool) -> usize`). Those interested in the technical details of"},{"DocComment":" this can refer to [the relevant section in the *Rustonomicon*][nomicon]."},{"DocComment":""},{"DocComment":" [book]: ../../book/ch13-01-closures.html"},{"DocComment":" [function pointers]: fn"},{"DocComment":" [nomicon]: ../../nomicon/hrtb.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## Using a `FnOnce` parameter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" fn consume_with_relish(func: F)"},{"DocComment":" where F: FnOnce() -> String"},{"DocComment":" {"},{"DocComment":" // `func` consumes its captured variables, so it cannot be run more"},{"DocComment":" // than once."},{"DocComment":" println!(\"Consumed: {}\", func());"},{"DocComment":""},{"DocComment":" println!(\"Delicious!\");"},{"DocComment":""},{"DocComment":" // Attempting to invoke `func()` again will throw a `use of moved"},{"DocComment":" // value` error for `func`."},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let x = String::from(\"x\");"},{"DocComment":" let consume_and_return_x = move || x;"},{"DocComment":" consume_with_relish(consume_and_return_x);"},{"DocComment":""},{"DocComment":" // `consume_and_return_x` can no longer be invoked at this point"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"fn_once"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"call_once","attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"item":{"id":342,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10181,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[33,0]}}],"vtable":{"id":{"Adt":69},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":34,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]}],"span":{"data":{"file_id":38,"beg":{"line":134,"col":0},"end":{"line":134,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conversion from an [`Iterator`]."},{"DocComment":""},{"DocComment":" By implementing `FromIterator` for a type, you define how it will be"},{"DocComment":" created from an iterator. This is common for types which describe a"},{"DocComment":" collection of some kind."},{"DocComment":""},{"DocComment":" If you want to create a collection from the contents of an iterator, the"},{"DocComment":" [`Iterator::collect()`] method is preferred. However, when you need to"},{"DocComment":" specify the container type, [`FromIterator::from_iter()`] can be more"},{"DocComment":" readable than using a turbofish (e.g. `::>()`). See the"},{"DocComment":" [`Iterator::collect()`] documentation for more examples of its use."},{"DocComment":""},{"DocComment":" See also: [`IntoIterator`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Using [`Iterator::collect()`] to implicitly use `FromIterator`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v: Vec = five_fives.collect();"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Using [`FromIterator::from_iter()`] as a more readable alternative to"},{"DocComment":" [`Iterator::collect()`]:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::collections::VecDeque;"},{"DocComment":" let first = (0..10).collect::>();"},{"DocComment":" let second = VecDeque::from_iter(0..10);"},{"DocComment":""},{"DocComment":" assert_eq!(first, second);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Implementing `FromIterator` for your type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // and we'll implement FromIterator"},{"DocComment":" impl FromIterator for MyCollection {"},{"DocComment":" fn from_iter>(iter: I) -> Self {"},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" for i in iter {"},{"DocComment":" c.add(i);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" c"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Now we can make a new iterator..."},{"DocComment":" let iter = (0..5).into_iter();"},{"DocComment":""},{"DocComment":" // ... and make a MyCollection out of it"},{"DocComment":" let c = MyCollection::from_iter(iter);"},{"DocComment":""},{"DocComment":" assert_eq!(c.0, vec![0, 1, 2, 3, 4]);"},{"DocComment":""},{"DocComment":" // collect works too!"},{"DocComment":""},{"DocComment":" let iter = (0..5).into_iter();"},{"DocComment":" let c: MyCollection = iter.collect();"},{"DocComment":""},{"DocComment":" assert_eq!(c.0, vec![0, 1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"FromIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":152,"col":20},"end":{"line":152,"col":42}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10077},{"HashConsedValue":[1459,{"TypeVar":{"Bound":[1,1]}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_iter","attr_info":{"attributes":[{"DocComment":" Creates a value from an iterator."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1436}],"output":{"Deduplicated":10076}},"item":{"id":343,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":1436},{"HashConsedValue":[1458,{"TypeVar":{"Bound":[0,1]}}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10182,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":34,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10183,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10077},{"Deduplicated":1459}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[34,0]}}],"vtable":null},{"def_id":35,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]}],"span":{"data":{"file_id":66,"beg":{"line":133,"col":0},"end":{"line":133,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The `?` operator and `try {}` blocks."},{"DocComment":""},{"DocComment":" `try_*` methods typically involve a type implementing this trait. For"},{"DocComment":" example, the closures passed to [`Iterator::try_fold`] and"},{"DocComment":" [`Iterator::try_for_each`] must return such a type."},{"DocComment":""},{"DocComment":" `Try` types are typically those containing two or more categories of values,"},{"DocComment":" some subset of which are so commonly handled via early returns that it's"},{"DocComment":" worth providing a terse (but still visible) syntax to make that easy."},{"DocComment":""},{"DocComment":" This is most often seen for error handling with [`Result`] and [`Option`]."},{"DocComment":" The quintessential implementation of this trait is on [`ControlFlow`]."},{"DocComment":""},{"DocComment":" # Using `Try` in Generic Code"},{"DocComment":""},{"DocComment":" `Iterator::try_fold` was stabilized to call back in Rust 1.27, but"},{"DocComment":" this trait is much newer. To illustrate the various associated types and"},{"DocComment":" methods, let's implement our own version."},{"DocComment":""},{"DocComment":" As a reminder, an infallible version of a fold looks something like this:"},{"DocComment":" ```"},{"DocComment":" fn simple_fold("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> A,"},{"DocComment":" ) -> A {"},{"DocComment":" for x in iter {"},{"DocComment":" accum = f(accum, x);"},{"DocComment":" }"},{"DocComment":" accum"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" So instead of `f` returning just an `A`, we'll need it to return some other"},{"DocComment":" type that produces an `A` in the \"don't short circuit\" path. Conveniently,"},{"DocComment":" that's also the type we need to return from the function."},{"DocComment":""},{"DocComment":" Let's add a new generic parameter `R` for that type, and bound it to the"},{"DocComment":" output type that we want:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::Try;"},{"DocComment":" fn simple_try_fold_1>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" todo!()"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If we get through the entire iterator, we need to wrap up the accumulator"},{"DocComment":" into the return type using [`Try::from_output`]:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::{ControlFlow, Try};"},{"DocComment":" fn simple_try_fold_2>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" let cf = f(accum, x).branch();"},{"DocComment":" match cf {"},{"DocComment":" ControlFlow::Continue(a) => accum = a,"},{"DocComment":" ControlFlow::Break(_) => todo!(),"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" We'll also need [`FromResidual::from_residual`] to turn the residual back"},{"DocComment":" into the original type. But because it's a supertrait of `Try`, we don't"},{"DocComment":" need to mention it in the bounds. All types which implement `Try` can be"},{"DocComment":" recreated from their corresponding residual, so we'll just call it:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::{ControlFlow, Try};"},{"DocComment":" pub fn simple_try_fold_3>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" let cf = f(accum, x).branch();"},{"DocComment":" match cf {"},{"DocComment":" ControlFlow::Continue(a) => accum = a,"},{"DocComment":" ControlFlow::Break(r) => return R::from_residual(r),"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" But this \"call `branch`, then `match` on it, and `return` if it was a"},{"DocComment":" `Break`\" is exactly what happens inside the `?` operator. So rather than"},{"DocComment":" do all this manually, we can just use `?` instead:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::Try;"},{"DocComment":" fn simple_try_fold>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" accum = f(accum, x)?;"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Try"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":66,"beg":{"line":133,"col":21},"end":{"line":133,"col":41}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"HashConsedValue":[10185,{"TraitType":[{"HashConsedValue":[10184,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]},1,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":66,"beg":{"line":160,"col":19},"end":{"line":160,"col":41}},"generated_from_span":null},"origin":{"TraitItem":1},"trait_":{"regions":[],"skip_binder":{"id":36,"generics":{"regions":[],"types":[{"Deduplicated":10185},{"HashConsedValue":[10186,{"TraitType":[{"Deduplicated":10184},0,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]},{"HashConsedValue":[10187,{"TraitType":[{"Deduplicated":10184},2,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Output","attr_info":{"attributes":[{"DocComment":" The type of the value produced by `?` when *not* short-circuiting."}],"inline":null,"rename":null,"public":false},"default":null,"implied_clauses":[]},"kind":{"TraitType":[35,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Residual","attr_info":{"attributes":[{"DocComment":" The type of the value passed to [`FromResidual::from_residual`]"},{"DocComment":" as part of `?` when short-circuiting."},{"DocComment":""},{"DocComment":" This represents the possible values of the `Self` type which are *not*"},{"DocComment":" represented by the `Output` type."},{"DocComment":""},{"DocComment":" # Note to Implementors"},{"DocComment":""},{"DocComment":" The choice of this type is critical to interconversion."},{"DocComment":" Unlike the `Output` type, which will often be a raw generic type,"},{"DocComment":" this type is typically a newtype of some sort to \"color\" the type"},{"DocComment":" so that it's distinguishable from the residuals of other types."},{"DocComment":""},{"DocComment":" This is why `Result::Residual` is not `E`, but `Result`."},{"DocComment":" That way it's distinct from `ControlFlow::Residual`, for example,"},{"DocComment":" and thus `?` on `ControlFlow` cannot be used in a method returning `Result`."},{"DocComment":""},{"DocComment":" If you're making a generic type `Foo` that implements `Try`,"},{"DocComment":" then typically you can use `Foo` as its `Residual`"},{"DocComment":" type: that type will have a \"hole\" in the correct place, and will maintain the"},{"DocComment":" \"foo-ness\" of the residual so other types need to opt-in to interconversion."}],"inline":null,"rename":null,"public":false},"default":null,"implied_clauses":[]},"kind":{"TraitType":[35,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Self_Clause1_TryType","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"default":null,"implied_clauses":[]},"kind":{"TraitType":[35,2]}}],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_output","attr_info":{"attributes":[{"DocComment":" Constructs the type from its `Output` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method"},{"DocComment":" such that applying the `?` operator will get back the original value:"},{"DocComment":" `Try::from_output(x).branch() --> ControlFlow::Continue(x)`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::Try;"},{"DocComment":""},{"DocComment":" assert_eq!( as Try>::from_output(3), Ok(3));"},{"DocComment":" assert_eq!( as Try>::from_output(4), Some(4));"},{"DocComment":" assert_eq!("},{"DocComment":" as Try>::from_output(5),"},{"DocComment":" std::ops::ControlFlow::Continue(5),"},{"DocComment":" );"},{"DocComment":""},{"DocComment":" # fn make_question_mark_work() -> Option<()> {"},{"DocComment":" assert_eq!(Option::from_output(4)?, 4);"},{"DocComment":" # None }"},{"DocComment":" # make_question_mark_work();"},{"DocComment":""},{"DocComment":" // This is used, for example, on the accumulator in `try_fold`:"},{"DocComment":" let r = std::iter::empty().try_fold(4, |_, ()| -> Option<_> { unreachable!() });"},{"DocComment":" assert_eq!(r, Some(4));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10186}],"output":{"Deduplicated":10076}},"item":{"id":344,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10184}]}}},"kind":{"TraitMethod":[35,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"branch","attr_info":{"attributes":[{"DocComment":" Used in `?` to decide whether the operator should produce a value"},{"DocComment":" (because this returned [`ControlFlow::Continue`])"},{"DocComment":" or propagate a value back to the caller"},{"DocComment":" (because this returned [`ControlFlow::Break`])."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, Try};"},{"DocComment":""},{"DocComment":" assert_eq!(Ok::<_, String>(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(Err::(3).branch(), ControlFlow::Break(Err(3)));"},{"DocComment":""},{"DocComment":" assert_eq!(Some(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(None::.branch(), ControlFlow::Break(None));"},{"DocComment":""},{"DocComment":" assert_eq!(ControlFlow::::Continue(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::Break(3).branch(),"},{"DocComment":" ControlFlow::Break(ControlFlow::Break(3)),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"HashConsedValue":[10188,{"Adt":{"id":{"Adt":70},"generics":{"regions":[],"types":[{"Deduplicated":10185},{"Deduplicated":10186}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":345,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10184}]}}},"kind":{"TraitMethod":[35,1]}}],"vtable":null},{"def_id":36,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Residual",0]}],"span":{"data":{"file_id":66,"beg":{"line":364,"col":0},"end":{"line":364,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Allows retrieving the canonical type implementing [`Try`] that has this type"},{"DocComment":" as its residual and allows it to hold an `O` as its output."},{"DocComment":""},{"DocComment":" If you think of the `Try` trait as splitting a type into its [`Try::Output`]"},{"DocComment":" and [`Try::Residual`] components, this allows putting them back together."},{"DocComment":""},{"DocComment":" For example,"},{"DocComment":" `Result: Try>`,"},{"DocComment":" and in the other direction,"},{"DocComment":" ` as Residual>::TryType = Result`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"O"},{"index":2,"name":"Self_TryType"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[{"regions":[],"skip_binder":{"trait_ref":{"HashConsedValue":[10190,{"kind":{"ParentClause":[{"HashConsedValue":[10189,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":36,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]},0]},"trait_decl_ref":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]},"type_id":0,"ty":{"Deduplicated":10077}}},{"regions":[],"skip_binder":{"trait_ref":{"Deduplicated":10190},"type_id":1,"ty":{"Deduplicated":10076}}}]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":66,"beg":{"line":368,"col":18},"end":{"line":368,"col":58}},"generated_from_span":null},"origin":{"TraitItem":0},"trait_":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":37,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]}],"span":{"data":{"file_id":38,"beg":{"line":397,"col":0},"end":{"line":397,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Extend a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" Iterators produce a series of values, and collections can also be thought"},{"DocComment":" of as a series of values. The `Extend` trait bridges this gap, allowing you"},{"DocComment":" to extend a collection by including the contents of that iterator. When"},{"DocComment":" extending a collection with an already existing key, that entry is updated"},{"DocComment":" or, in the case of collections that permit multiple entries with equal"},{"DocComment":" keys, that entry is inserted."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"The first three letters are: \");"},{"DocComment":""},{"DocComment":" message.extend(&['a', 'b', 'c']);"},{"DocComment":""},{"DocComment":" assert_eq!(\"abc\", &message[29..32]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Implementing `Extend`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // since MyCollection has a list of i32s, we implement Extend for i32"},{"DocComment":" impl Extend for MyCollection {"},{"DocComment":""},{"DocComment":" // This is a bit simpler with the concrete type signature: we can call"},{"DocComment":" // extend on anything which can be turned into an Iterator which gives"},{"DocComment":" // us i32s. Because we need i32s to put into MyCollection."},{"DocComment":" fn extend>(&mut self, iter: T) {"},{"DocComment":""},{"DocComment":" // The implementation is very straightforward: loop through the"},{"DocComment":" // iterator, and add() each element to ourselves."},{"DocComment":" for elem in iter {"},{"DocComment":" self.add(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" c.add(5);"},{"DocComment":" c.add(6);"},{"DocComment":" c.add(7);"},{"DocComment":""},{"DocComment":" // let's extend our collection with three more numbers"},{"DocComment":" c.extend(vec![1, 2, 3]);"},{"DocComment":""},{"DocComment":" // we've added these elements onto the end"},{"DocComment":" assert_eq!(\"MyCollection([5, 6, 7, 1, 2, 3])\", format!(\"{c:?}\"));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":416,"col":17},"end":{"line":416,"col":39}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10077},{"Deduplicated":1459}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"extend","attr_info":{"attributes":[{"DocComment":" Extends a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" As this is the only required method for this trait, the [trait-level] docs"},{"DocComment":" contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: Extend"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"abc\");"},{"DocComment":""},{"DocComment":" message.extend(['d', 'e', 'f'].iter());"},{"DocComment":""},{"DocComment":" assert_eq!(\"abcdef\", &message);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142},{"Deduplicated":1436}],"output":{"Deduplicated":1443}},"item":{"id":346,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":1436},{"Deduplicated":1458}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10191,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":37,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]},{"Deduplicated":10183}]}}},"kind":{"TraitMethod":[37,0]}},null,null,null],"vtable":null},{"def_id":38,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]}],"span":{"data":{"file_id":67,"beg":{"line":43,"col":0},"end":{"line":43,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator able to yield elements from both ends."},{"DocComment":""},{"DocComment":" Something that implements `DoubleEndedIterator` has one extra capability"},{"DocComment":" over something that implements [`Iterator`]: the ability to also take"},{"DocComment":" `Item`s from the back, as well as the front."},{"DocComment":""},{"DocComment":" It is important to note that both back and forth work on the same range,"},{"DocComment":" and do not cross: iteration is over when they meet in the middle."},{"DocComment":""},{"DocComment":" In a similar fashion to the [`Iterator`] protocol, once a"},{"DocComment":" `DoubleEndedIterator` returns [`None`] from a [`next_back()`], calling it"},{"DocComment":" again may or may not ever return [`Some`] again. [`next()`] and"},{"DocComment":" [`next_back()`] are interchangeable for this purpose."},{"DocComment":""},{"DocComment":" [`next_back()`]: DoubleEndedIterator::next_back"},{"DocComment":" [`next()`]: Iterator::next"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"DoubleEndedIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":67,"beg":{"line":43,"col":37},"end":{"line":43,"col":53}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"next_back","attr_info":{"attributes":[{"DocComment":" Removes and returns an element from the end of the iterator."},{"DocComment":""},{"DocComment":" Returns `None` when there are no more elements."},{"DocComment":""},{"DocComment":" The [trait-level] docs contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: DoubleEndedIterator"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Remarks"},{"DocComment":""},{"DocComment":" The elements yielded by `DoubleEndedIterator`'s methods may differ from"},{"DocComment":" the ones yielded by [`Iterator`]'s methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let vec = vec![(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b')];"},{"DocComment":" let uniq_by_fst_comp = || {"},{"DocComment":" let mut seen = std::collections::HashSet::new();"},{"DocComment":" vec.iter().copied().filter(move |x| seen.insert(x.0))"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" assert_eq!(uniq_by_fst_comp().last(), Some((2, 'a')));"},{"DocComment":" assert_eq!(uniq_by_fst_comp().next_back(), Some((2, 'b')));"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().fold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(1, 'a'), (2, 'a')]"},{"DocComment":" );"},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().rfold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(2, 'b'), (1, 'c')]"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10142}],"output":{"Deduplicated":10163}},"item":{"id":350,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10192,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":38,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[38,0]}},null,null,null,null,null],"vtable":{"id":{"Adt":71},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":39,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]}],"span":{"data":{"file_id":68,"beg":{"line":86,"col":0},"end":{"line":86,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that knows its exact length."},{"DocComment":""},{"DocComment":" Many [`Iterator`]s don't know how many times they will iterate, but some do."},{"DocComment":" If an iterator knows how many times it can iterate, providing access to"},{"DocComment":" that information can be useful. For example, if you want to iterate"},{"DocComment":" backwards, a good start is to know where the end is."},{"DocComment":""},{"DocComment":" When implementing an `ExactSizeIterator`, you must also implement"},{"DocComment":" [`Iterator`]. When doing so, the implementation of [`Iterator::size_hint`]"},{"DocComment":" *must* return the exact size of the iterator."},{"DocComment":""},{"DocComment":" The [`len`] method has a default implementation, so you usually shouldn't"},{"DocComment":" implement it. However, you may be able to provide a more performant"},{"DocComment":" implementation than the default, so overriding it in this case makes sense."},{"DocComment":""},{"DocComment":" Note that this trait is a safe trait and as such does *not* and *cannot*"},{"DocComment":" guarantee that the returned length is correct. This means that `unsafe`"},{"DocComment":" code **must not** rely on the correctness of [`Iterator::size_hint`]. The"},{"DocComment":" unstable and unsafe [`TrustedLen`](super::marker::TrustedLen) trait gives"},{"DocComment":" this additional guarantee."},{"DocComment":""},{"DocComment":" [`len`]: ExactSizeIterator::len"},{"DocComment":""},{"DocComment":" # When *shouldn't* an adapter be `ExactSizeIterator`?"},{"DocComment":""},{"DocComment":" If an adapter makes an iterator *longer*, then it's usually incorrect for"},{"DocComment":" that adapter to implement `ExactSizeIterator`. The inner exact-sized"},{"DocComment":" iterator might already be `usize::MAX`-long, and thus the length of the"},{"DocComment":" longer adapted iterator would no longer be exactly representable in `usize`."},{"DocComment":""},{"DocComment":" This is why [`Chain`](crate::iter::Chain) isn't `ExactSizeIterator`,"},{"DocComment":" even when `A` and `B` are both `ExactSizeIterator`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // a finite range knows exactly how many times it will iterate"},{"DocComment":" let five = 0..5;"},{"DocComment":""},{"DocComment":" assert_eq!(5, five.len());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" In the [module-level docs], we implemented an [`Iterator`], `Counter`."},{"DocComment":" Let's implement `ExactSizeIterator` for it as well:"},{"DocComment":""},{"DocComment":" [module-level docs]: crate::iter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # struct Counter {"},{"DocComment":" # count: usize,"},{"DocComment":" # }"},{"DocComment":" # impl Counter {"},{"DocComment":" # fn new() -> Counter {"},{"DocComment":" # Counter { count: 0 }"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" # impl Iterator for Counter {"},{"DocComment":" # type Item = usize;"},{"DocComment":" # fn next(&mut self) -> Option {"},{"DocComment":" # self.count += 1;"},{"DocComment":" # if self.count < 6 {"},{"DocComment":" # Some(self.count)"},{"DocComment":" # } else {"},{"DocComment":" # None"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" impl ExactSizeIterator for Counter {"},{"DocComment":" // We can easily calculate the remaining number of iterations."},{"DocComment":" fn len(&self) -> usize {"},{"DocComment":" 5 - self.count"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // And now we can use it!"},{"DocComment":""},{"DocComment":" let mut counter = Counter::new();"},{"DocComment":""},{"DocComment":" assert_eq!(5, counter.len());"},{"DocComment":" let _ = counter.next();"},{"DocComment":" assert_eq!(4, counter.len());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":68,"beg":{"line":86,"col":29},"end":{"line":86,"col":37}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[null,null],"vtable":{"id":{"Adt":72},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":40,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]}],"span":{"data":{"file_id":9,"beg":{"line":982,"col":0},"end":{"line":982,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for types that form a [total order](https://en.wikipedia.org/wiki/Total_order)."},{"DocComment":""},{"DocComment":" Implementations must be consistent with the [`PartialOrd`] implementation, and ensure `max`,"},{"DocComment":" `min`, and `clamp` are consistent with `cmp`:"},{"DocComment":""},{"DocComment":" - `partial_cmp(a, b) == Some(cmp(a, b))`."},{"DocComment":" - `max(a, b) == max_by(a, b, cmp)` (ensured by the default implementation)."},{"DocComment":" - `min(a, b) == min_by(a, b, cmp)` (ensured by the default implementation)."},{"DocComment":" - For `a.clamp(min, max)`, see the [method docs](#method.clamp) (ensured by the default"},{"DocComment":" implementation)."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Corollaries"},{"DocComment":""},{"DocComment":" From the above and the requirements of `PartialOrd`, it follows that for all `a`, `b` and `c`:"},{"DocComment":""},{"DocComment":" - exactly one of `a < b`, `a == b` or `a > b` is true; and"},{"DocComment":" - `<` is transitive: `a < b` and `b < c` implies `a < c`. The same must hold for both `==` and"},{"DocComment":" `>`."},{"DocComment":""},{"DocComment":" Mathematically speaking, the `<` operator defines a strict [weak order]. In cases where `==`"},{"DocComment":" conforms to mathematical equality, it also defines a strict [total order]."},{"DocComment":""},{"DocComment":" [weak order]: https://en.wikipedia.org/wiki/Weak_ordering"},{"DocComment":" [total order]: https://en.wikipedia.org/wiki/Total_order"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`."},{"DocComment":""},{"DocComment":" When `derive`d on structs, it will produce a"},{"DocComment":" [lexicographic](https://en.wikipedia.org/wiki/Lexicographic_order) ordering based on the"},{"DocComment":" top-to-bottom declaration order of the struct's members."},{"DocComment":""},{"DocComment":" When `derive`d on enums, variants are ordered primarily by their discriminants. Secondarily,"},{"DocComment":" they are ordered by their fields. By default, the discriminant is smallest for variants at the"},{"DocComment":" top, and largest for variants at the bottom. Here's an example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, Eq, PartialOrd, Ord)]"},{"DocComment":" enum E {"},{"DocComment":" Top,"},{"DocComment":" Bottom,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Top < E::Bottom);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, manually setting the discriminants can override this default behavior:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, Eq, PartialOrd, Ord)]"},{"DocComment":" enum E {"},{"DocComment":" Top = 2,"},{"DocComment":" Bottom = 1,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Bottom < E::Top);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Lexicographical comparison"},{"DocComment":""},{"DocComment":" Lexicographical comparison is an operation with the following properties:"},{"DocComment":" - Two sequences are compared element by element."},{"DocComment":" - The first mismatching element defines which sequence is lexicographically less or greater"},{"DocComment":" than the other."},{"DocComment":" - If one sequence is a prefix of another, the shorter sequence is lexicographically less than"},{"DocComment":" the other."},{"DocComment":" - If two sequences have equivalent elements and are of the same length, then the sequences are"},{"DocComment":" lexicographically equal."},{"DocComment":" - An empty sequence is lexicographically less than any non-empty sequence."},{"DocComment":" - Two empty sequences are lexicographically equal."},{"DocComment":""},{"DocComment":" ## How can I implement `Ord`?"},{"DocComment":""},{"DocComment":" `Ord` requires that the type also be [`PartialOrd`], [`PartialEq`], and [`Eq`]."},{"DocComment":""},{"DocComment":" Because `Ord` implies a stronger ordering relationship than [`PartialOrd`], and both `Ord` and"},{"DocComment":" [`PartialOrd`] must agree, you must choose how to implement `Ord` **first**. You can choose to"},{"DocComment":" derive it, or implement it manually. If you derive it, you should derive all four traits. If you"},{"DocComment":" implement it manually, you should manually implement all four traits, based on the"},{"DocComment":" implementation of `Ord`."},{"DocComment":""},{"DocComment":" Here's an example where you want to define the `Character` comparison by `health` and"},{"DocComment":" `experience` only, disregarding the field `mana`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" mana: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> Ordering {"},{"DocComment":" self.experience"},{"DocComment":" .cmp(&other.experience)"},{"DocComment":" .then(self.health.cmp(&other.health))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.health == other.health && self.experience == other.experience"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If all you need is to `slice::sort` a type by a field value, it can be simpler to use"},{"DocComment":" `slice::sort_by_key`."},{"DocComment":""},{"DocComment":" ## Examples of incorrect `Ord` implementations"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> std::cmp::Ordering {"},{"DocComment":" if self.health < other.health {"},{"DocComment":" Ordering::Less"},{"DocComment":" } else if self.health > other.health {"},{"DocComment":" Ordering::Greater"},{"DocComment":" } else {"},{"DocComment":" Ordering::Equal"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.health == other.health"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":""},{"DocComment":" let a = Character { health: 4.5 };"},{"DocComment":" let b = Character { health: f32::NAN };"},{"DocComment":""},{"DocComment":" // Mistake: floating-point values do not form a total order and using the built-in comparison"},{"DocComment":" // operands to implement `Ord` irregardless of that reality does not change it. Use"},{"DocComment":" // `f32::total_cmp` if you need a total order for floating-point values."},{"DocComment":""},{"DocComment":" // Reflexivity requirement of `Ord` is not given."},{"DocComment":" assert!(a == a);"},{"DocComment":" assert!(b != b);"},{"DocComment":""},{"DocComment":" // Antisymmetry requirement of `Ord` is not given. Only one of a < c and c < a is allowed to be"},{"DocComment":" // true, not both or neither."},{"DocComment":" assert_eq!((a < b) as u8 + (b < a) as u8, 0);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> std::cmp::Ordering {"},{"DocComment":" if self.health < 50 {"},{"DocComment":" self.health.cmp(&other.health)"},{"DocComment":" } else {"},{"DocComment":" self.experience.cmp(&other.experience)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // For performance reasons implementing `PartialEq` this way is not the idiomatic way, but it"},{"DocComment":" // ensures consistent behavior between `PartialEq`, `PartialOrd` and `Ord` in this example."},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.cmp(other) == Ordering::Equal"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":""},{"DocComment":" let a = Character {"},{"DocComment":" health: 3,"},{"DocComment":" experience: 5,"},{"DocComment":" };"},{"DocComment":" let b = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 77,"},{"DocComment":" };"},{"DocComment":" let c = Character {"},{"DocComment":" health: 143,"},{"DocComment":" experience: 2,"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" // Mistake: The implementation of `Ord` compares different fields depending on the value of"},{"DocComment":" // `self.health`, the resulting order is not total."},{"DocComment":""},{"DocComment":" // Transitivity requirement of `Ord` is not given. If a is smaller than b and b is smaller than"},{"DocComment":" // c, by transitive property a must also be smaller than c."},{"DocComment":" assert!(a < b && b < c && c < a);"},{"DocComment":""},{"DocComment":" // Antisymmetry requirement of `Ord` is not given. Only one of a < c and c < a is allowed to be"},{"DocComment":" // true, not both or neither."},{"DocComment":" assert_eq!((a < c) as u8 + (c < a) as u8, 2);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The documentation of [`PartialOrd`] contains further examples, for example it's wrong for"},{"DocComment":" [`PartialOrd`] and [`PartialEq`] to disagree."},{"DocComment":""},{"DocComment":" [`cmp`]: Ord::cmp"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Ord"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":982,"col":21},"end":{"line":982,"col":31}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":9,"beg":{"line":982,"col":34},"end":{"line":982,"col":58}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"cmp","attr_info":{"attributes":[{"DocComment":" This method returns an [`Ordering`] between `self` and `other`."},{"DocComment":""},{"DocComment":" By convention, `self.cmp(&other)` returns the ordering matching the expression"},{"DocComment":" `self other` if true."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(5.cmp(&10), Ordering::Less);"},{"DocComment":" assert_eq!(10.cmp(&5), Ordering::Greater);"},{"DocComment":" assert_eq!(5.cmp(&5), Ordering::Equal);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"Deduplicated":10138}],"output":{"Deduplicated":6088}},"item":{"id":358,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10193,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[40,0]}},null,null,null],"vtable":null},{"def_id":41,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]}],"span":{"data":{"file_id":24,"beg":{"line":40,"col":0},"end":{"line":40,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait to represent types that can be created by multiplying elements of an"},{"DocComment":" iterator."},{"DocComment":""},{"DocComment":" This trait is used to implement [`Iterator::product()`]. Types which implement"},{"DocComment":" this trait can be generated by using the [`product()`] method on an iterator."},{"DocComment":" Like [`FromIterator`], this trait should rarely be called directly."},{"DocComment":""},{"DocComment":" [`product()`]: Iterator::product"},{"DocComment":" [`FromIterator`]: iter::FromIterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":24,"beg":{"line":44,"col":18},"end":{"line":44,"col":36}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"product","attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by multiplying"},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1436}],"output":{"Deduplicated":10076}},"item":{"id":362,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10194,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":41,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]},{"Deduplicated":10162}]}}},"kind":{"TraitMethod":[41,0]}}],"vtable":null},{"def_id":42,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]}],"span":{"data":{"file_id":9,"beg":{"line":1366,"col":0},"end":{"line":1367,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for types that form a [partial order](https://en.wikipedia.org/wiki/Partial_order)."},{"DocComment":""},{"DocComment":" The `lt`, `le`, `gt`, and `ge` methods of this trait can be called using the `<`, `<=`, `>`, and"},{"DocComment":" `>=` operators, respectively."},{"DocComment":""},{"DocComment":" This trait should **only** contain the comparison logic for a type **if one plans on only"},{"DocComment":" implementing `PartialOrd` but not [`Ord`]**. Otherwise the comparison logic should be in [`Ord`]"},{"DocComment":" and this trait implemented with `Some(self.cmp(other))`."},{"DocComment":""},{"DocComment":" The methods of this trait must be consistent with each other and with those of [`PartialEq`]."},{"DocComment":" The following conditions must hold:"},{"DocComment":""},{"DocComment":" 1. `a == b` if and only if `partial_cmp(a, b) == Some(Equal)`."},{"DocComment":" 2. `a < b` if and only if `partial_cmp(a, b) == Some(Less)`"},{"DocComment":" 3. `a > b` if and only if `partial_cmp(a, b) == Some(Greater)`"},{"DocComment":" 4. `a <= b` if and only if `a < b || a == b`"},{"DocComment":" 5. `a >= b` if and only if `a > b || a == b`"},{"DocComment":" 6. `a != b` if and only if `!(a == b)`."},{"DocComment":""},{"DocComment":" Conditions 2–5 above are ensured by the default implementation. Condition 6 is already ensured"},{"DocComment":" by [`PartialEq`]."},{"DocComment":""},{"DocComment":" If [`Ord`] is also implemented for `Self` and `Rhs`, it must also be consistent with"},{"DocComment":" `partial_cmp` (see the documentation of that trait for the exact requirements). It's easy to"},{"DocComment":" accidentally make them disagree by deriving some of the traits and manually implementing others."},{"DocComment":""},{"DocComment":" The comparison relations must satisfy the following conditions (for all `a`, `b`, `c` of type"},{"DocComment":" `A`, `B`, `C`):"},{"DocComment":""},{"DocComment":" - **Transitivity**: if `A: PartialOrd` and `B: PartialOrd` and `A: PartialOrd`, then `a"},{"DocComment":" < b` and `b < c` implies `a < c`. The same must hold for both `==` and `>`. This must also"},{"DocComment":" work for longer chains, such as when `A: PartialOrd`, `B: PartialOrd`, `C:"},{"DocComment":" PartialOrd`, and `A: PartialOrd` all exist."},{"DocComment":" - **Duality**: if `A: PartialOrd` and `B: PartialOrd`, then `a < b` if and only if `b >"},{"DocComment":" a`."},{"DocComment":""},{"DocComment":" Note that the `B: PartialOrd` (dual) and `A: PartialOrd` (transitive) impls are not forced"},{"DocComment":" to exist, but these requirements apply whenever they do exist."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Cross-crate considerations"},{"DocComment":""},{"DocComment":" Upholding the requirements stated above can become tricky when one crate implements `PartialOrd`"},{"DocComment":" for a type of another crate (i.e., to allow comparing one of its own types with a type from the"},{"DocComment":" standard library). The recommendation is to never implement this trait for a foreign type. In"},{"DocComment":" other words, such a crate should do `impl PartialOrd for LocalType`, but it should"},{"DocComment":" *not* do `impl PartialOrd for ForeignType`."},{"DocComment":""},{"DocComment":" This avoids the problem of transitive chains that criss-cross crate boundaries: for all local"},{"DocComment":" types `T`, you may assume that no other crate will add `impl`s that allow comparing `T < U`. In"},{"DocComment":" other words, if other crates add `impl`s that allow building longer transitive chains `U1 < ..."},{"DocComment":" < T < V1 < ...`, then all the types that appear to the right of `T` must be types that the crate"},{"DocComment":" defining `T` already knows about. This rules out transitive chains where downstream crates can"},{"DocComment":" add new `impl`s that \"stitch together\" comparisons of foreign types in ways that violate"},{"DocComment":" transitivity."},{"DocComment":""},{"DocComment":" Not having such foreign `impl`s also avoids forward compatibility issues where one crate adding"},{"DocComment":" more `PartialOrd` implementations can cause build failures in downstream crates."},{"DocComment":""},{"DocComment":" ## Corollaries"},{"DocComment":""},{"DocComment":" The following corollaries follow from the above requirements:"},{"DocComment":""},{"DocComment":" - irreflexivity of `<` and `>`: `!(a < a)`, `!(a > a)`"},{"DocComment":" - transitivity of `>`: if `a > b` and `b > c` then `a > c`"},{"DocComment":" - duality of `partial_cmp`: `partial_cmp(a, b) == partial_cmp(b, a).map(Ordering::reverse)`"},{"DocComment":""},{"DocComment":" ## Strict and non-strict partial orders"},{"DocComment":""},{"DocComment":" The `<` and `>` operators behave according to a *strict* partial order. However, `<=` and `>=`"},{"DocComment":" do **not** behave according to a *non-strict* partial order. That is because mathematically, a"},{"DocComment":" non-strict partial order would require reflexivity, i.e. `a <= a` would need to be true for"},{"DocComment":" every `a`. This isn't always the case for types that implement `PartialOrd`, for example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = f64::NAN;"},{"DocComment":" assert_eq!(a <= a, false);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`."},{"DocComment":""},{"DocComment":" When `derive`d on structs, it will produce a"},{"DocComment":" [lexicographic](https://en.wikipedia.org/wiki/Lexicographic_order) ordering based on the"},{"DocComment":" top-to-bottom declaration order of the struct's members."},{"DocComment":""},{"DocComment":" When `derive`d on enums, variants are primarily ordered by their discriminants. Secondarily,"},{"DocComment":" they are ordered by their fields. By default, the discriminant is smallest for variants at the"},{"DocComment":" top, and largest for variants at the bottom. Here's an example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, PartialOrd)]"},{"DocComment":" enum E {"},{"DocComment":" Top,"},{"DocComment":" Bottom,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Top < E::Bottom);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, manually setting the discriminants can override this default behavior:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, PartialOrd)]"},{"DocComment":" enum E {"},{"DocComment":" Top = 2,"},{"DocComment":" Bottom = 1,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Bottom < E::Top);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I implement `PartialOrd`?"},{"DocComment":""},{"DocComment":" `PartialOrd` only requires implementation of the [`partial_cmp`] method, with the others"},{"DocComment":" generated from default implementations."},{"DocComment":""},{"DocComment":" However it remains possible to implement the others separately for types which do not have a"},{"DocComment":" total order. For example, for floating point numbers, `NaN < 0 == false` and `NaN >= 0 == false`"},{"DocComment":" (cf. IEEE 754-2008 section 5.11)."},{"DocComment":""},{"DocComment":" `PartialOrd` requires your type to be [`PartialEq`]."},{"DocComment":""},{"DocComment":" If your type is [`Ord`], you can implement [`partial_cmp`] by using [`cmp`]:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Person {"},{"DocComment":" id: u32,"},{"DocComment":" name: String,"},{"DocComment":" height: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Person {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Person {"},{"DocComment":" fn cmp(&self, other: &Self) -> Ordering {"},{"DocComment":" self.height.cmp(&other.height)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Person {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.height == other.height"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Person {}"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You may also find it useful to use [`partial_cmp`] on your type's fields. Here is an example of"},{"DocComment":" `Person` types who have a floating-point `height` field that is the only field to be used for"},{"DocComment":" sorting:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Person {"},{"DocComment":" id: u32,"},{"DocComment":" name: String,"},{"DocComment":" height: f64,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Person {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" self.height.partial_cmp(&other.height)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Person {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.height == other.height"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Examples of incorrect `PartialOrd` implementations"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(PartialEq, Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.health.cmp(&other.health))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let a = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 5,"},{"DocComment":" };"},{"DocComment":" let b = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 77,"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" // Mistake: `PartialEq` and `PartialOrd` disagree with each other."},{"DocComment":""},{"DocComment":" assert_eq!(a.partial_cmp(&b).unwrap(), Ordering::Equal); // a == b according to `PartialOrd`."},{"DocComment":" assert_ne!(a, b); // a != b according to `PartialEq`."},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: u32 = 0;"},{"DocComment":" let y: u32 = 1;"},{"DocComment":""},{"DocComment":" assert_eq!(x < y, true);"},{"DocComment":" assert_eq!(x.lt(&y), true);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`partial_cmp`]: PartialOrd::partial_cmp"},{"DocComment":" [`cmp`]: Ord::cmp"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"partial_ord"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":1367,"col":4},"end":{"line":1367,"col":26}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"partial_cmp","attr_info":{"attributes":[{"DocComment":" This method returns an ordering between `self` and `other` values if one exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&2.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Less));"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Equal));"},{"DocComment":""},{"DocComment":" let result = 2.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Greater));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" When comparison is impossible:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let result = f64::NAN.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, None);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134},{"Deduplicated":10136}],"output":{"Deduplicated":6382}},"item":{"id":363,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10195,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[42,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":{"Adt":73},"generics":{"regions":[],"types":[{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}},{"def_id":43,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]}],"span":{"data":{"file_id":48,"beg":{"line":576,"col":0},"end":{"line":576,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Like [`TrustedRandomAccess`] but without any of the requirements / guarantees around"},{"DocComment":" coercions to supertypes after `__iterator_get_unchecked` (they aren’t allowed here!), and"},{"DocComment":" without the requirement that subtypes / supertypes implement `TrustedRandomAccessNoCoerce`."},{"DocComment":""},{"DocComment":" This trait was created in PR #85874 to fix soundness issue #85873 without performance regressions."},{"DocComment":" It is subject to change as we might want to build a more generally useful (for performance"},{"DocComment":" optimizations) and more sophisticated trait or trait hierarchy that replaces or extends"},{"DocComment":" [`TrustedRandomAccess`] and `TrustedRandomAccessNoCoerce`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[{"name":"MAY_HAVE_SIDE_EFFECT","attr_info":{"attributes":[{"DocComment":" `true` if getting an iterator element may have side effects."},{"DocComment":" Remember to take inner iterators into account."}],"inline":null,"rename":null,"public":true},"ty":{"Deduplicated":1470},"default":null}],"types":[],"methods":[null],"vtable":null},{"def_id":44,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["Into",0]}],"span":{"data":{"file_id":21,"beg":{"line":450,"col":0},"end":{"line":450,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A value-to-value conversion that consumes the input value. The"},{"DocComment":" opposite of [`From`]."},{"DocComment":""},{"DocComment":" One should avoid implementing [`Into`] and implement [`From`] instead."},{"DocComment":" Implementing [`From`] automatically provides one with an implementation of [`Into`]"},{"DocComment":" thanks to the blanket implementation in the standard library."},{"DocComment":""},{"DocComment":" Prefer using [`Into`] over [`From`] when specifying trait bounds on a generic function"},{"DocComment":" to ensure that types that only implement [`Into`] can be used as well."},{"DocComment":""},{"DocComment":" **Note: This trait must not fail**. If the conversion can fail, use [`TryInto`]."},{"DocComment":""},{"DocComment":" # Generic Implementations"},{"DocComment":""},{"DocComment":" - [`From`]` for U` implies `Into for T`"},{"DocComment":" - [`Into`] is reflexive, which means that `Into for T` is implemented"},{"DocComment":""},{"DocComment":" # Implementing [`Into`] for conversions to external types in old versions of Rust"},{"DocComment":""},{"DocComment":" Prior to Rust 1.41, if the destination type was not part of the current crate"},{"DocComment":" then you couldn't implement [`From`] directly."},{"DocComment":" For example, take this code:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(non_local_definitions)]"},{"DocComment":" struct Wrapper(Vec);"},{"DocComment":" impl From> for Vec {"},{"DocComment":" fn from(w: Wrapper) -> Vec {"},{"DocComment":" w.0"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":" This will fail to compile in older versions of the language because Rust's orphaning rules"},{"DocComment":" used to be a little bit more strict. To bypass this, you could implement [`Into`] directly:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct Wrapper(Vec);"},{"DocComment":" impl Into> for Wrapper {"},{"DocComment":" fn into(self) -> Vec {"},{"DocComment":" self.0"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It is important to understand that [`Into`] does not provide a [`From`] implementation"},{"DocComment":" (as [`From`] does with [`Into`]). Therefore, you should always try to implement [`From`]"},{"DocComment":" and then fall back to [`Into`] if [`From`] can't be implemented."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" [`String`] implements [`Into`]`<`[`Vec`]`<`[`u8`]`>>`:"},{"DocComment":""},{"DocComment":" In order to express that we want a generic function to take all arguments that can be"},{"DocComment":" converted to a specified type `T`, we can use a trait bound of [`Into`]``."},{"DocComment":" For example: The function `is_hello` takes all arguments that can be converted into a"},{"DocComment":" [`Vec`]`<`[`u8`]`>`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" fn is_hello>>(s: T) {"},{"DocComment":" let bytes = b\"hello\".to_vec();"},{"DocComment":" assert_eq!(bytes, s.into());"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let s = \"hello\".to_string();"},{"DocComment":" is_hello(s);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`Vec`]: ../../std/vec/struct.Vec.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Into"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"into","attr_info":{"attributes":[{"DocComment":" Converts this type into the (usually inferred) input type."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076}],"output":{"Deduplicated":10077}},"item":{"id":389,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10196,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[44,0]}}],"vtable":null},{"def_id":45,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]}],"span":{"data":{"file_id":76,"beg":{"line":254,"col":0},"end":{"line":254,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The bitwise OR operator `|`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" An implementation of `BitOr` for a wrapper around `bool`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::BitOr;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Scalar(bool);"},{"DocComment":""},{"DocComment":" impl BitOr for Scalar {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" // rhs is the \"right-hand side\" of the expression `a | b`"},{"DocComment":" fn bitor(self, rhs: Self) -> Self::Output {"},{"DocComment":" Self(self.0 | rhs.0)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Scalar(true) | Scalar(true), Scalar(true));"},{"DocComment":" assert_eq!(Scalar(true) | Scalar(false), Scalar(true));"},{"DocComment":" assert_eq!(Scalar(false) | Scalar(true), Scalar(true));"},{"DocComment":" assert_eq!(Scalar(false) | Scalar(false), Scalar(false));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" An implementation of `BitOr` for a wrapper around `Vec`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::BitOr;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct BooleanVector(Vec);"},{"DocComment":""},{"DocComment":" impl BitOr for BooleanVector {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn bitor(self, Self(rhs): Self) -> Self::Output {"},{"DocComment":" let Self(lhs) = self;"},{"DocComment":" assert_eq!(lhs.len(), rhs.len());"},{"DocComment":" Self("},{"DocComment":" lhs.iter()"},{"DocComment":" .zip(rhs.iter())"},{"DocComment":" .map(|(x, y)| *x | *y)"},{"DocComment":" .collect()"},{"DocComment":" )"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let bv1 = BooleanVector(vec![true, true, false, false]);"},{"DocComment":" let bv2 = BooleanVector(vec![true, false, true, false]);"},{"DocComment":" let expected = BooleanVector(vec![true, true, true, false]);"},{"DocComment":" assert_eq!(bv1 | bv2, expected);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"bitor"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"bitor","attr_info":{"attributes":[{"DocComment":" Performs the `|` operation."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(true | false, true);"},{"DocComment":" assert_eq!(false | false, false);"},{"DocComment":" assert_eq!(5u8 | 1u8, 5);"},{"DocComment":" assert_eq!(5u8 | 2u8, 7);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"item":{"id":390,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10197,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[45,0]}}],"vtable":{"id":{"Adt":75},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":46,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]}],"span":{"data":{"file_id":34,"beg":{"line":109,"col":4},"end":{"line":109,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[],"vtable":{"id":{"Adt":76},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":47,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]}],"span":{"data":{"file_id":76,"beg":{"line":150,"col":0},"end":{"line":150,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The bitwise AND operator `&`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" An implementation of `BitAnd` for a wrapper around `bool`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::BitAnd;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Scalar(bool);"},{"DocComment":""},{"DocComment":" impl BitAnd for Scalar {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" // rhs is the \"right-hand side\" of the expression `a & b`"},{"DocComment":" fn bitand(self, rhs: Self) -> Self::Output {"},{"DocComment":" Self(self.0 & rhs.0)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Scalar(true) & Scalar(true), Scalar(true));"},{"DocComment":" assert_eq!(Scalar(true) & Scalar(false), Scalar(false));"},{"DocComment":" assert_eq!(Scalar(false) & Scalar(true), Scalar(false));"},{"DocComment":" assert_eq!(Scalar(false) & Scalar(false), Scalar(false));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" An implementation of `BitAnd` for a wrapper around `Vec`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::BitAnd;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct BooleanVector(Vec);"},{"DocComment":""},{"DocComment":" impl BitAnd for BooleanVector {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn bitand(self, Self(rhs): Self) -> Self::Output {"},{"DocComment":" let Self(lhs) = self;"},{"DocComment":" assert_eq!(lhs.len(), rhs.len());"},{"DocComment":" Self("},{"DocComment":" lhs.iter()"},{"DocComment":" .zip(rhs.iter())"},{"DocComment":" .map(|(x, y)| *x & *y)"},{"DocComment":" .collect()"},{"DocComment":" )"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let bv1 = BooleanVector(vec![true, true, false, false]);"},{"DocComment":" let bv2 = BooleanVector(vec![true, false, true, false]);"},{"DocComment":" let expected = BooleanVector(vec![true, false, false, false]);"},{"DocComment":" assert_eq!(bv1 & bv2, expected);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"bitand"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"bitand","attr_info":{"attributes":[{"DocComment":" Performs the `&` operation."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(true & false, false);"},{"DocComment":" assert_eq!(true & true, true);"},{"DocComment":" assert_eq!(5u8 & 1u8, 1);"},{"DocComment":" assert_eq!(5u8 & 2u8, 0);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10076},{"Deduplicated":10077}],"output":{"Deduplicated":10112}},"item":{"id":403,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10198,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[47,0]}}],"vtable":{"id":{"Adt":77},"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}},{"def_id":48,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]}],"span":{"data":{"file_id":43,"beg":{"line":47,"col":12},"end":{"line":47,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[],"vtable":{"id":{"Adt":78},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":49,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]}],"span":{"data":{"file_id":66,"beg":{"line":310,"col":0},"end":{"line":310,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to specify which residuals can be converted into which [`crate::ops::Try`] types."},{"DocComment":""},{"DocComment":" Every `Try` type needs to be recreatable from its own associated"},{"DocComment":" `Residual` type, but can also have additional `FromResidual` implementations"},{"DocComment":" to support interconversion with other `Try` types."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"FromResidual"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"R"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_residual","attr_info":{"attributes":[{"DocComment":" Constructs the type from a compatible `Residual` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method such"},{"DocComment":" that applying the `?` operator will get back an equivalent residual:"},{"DocComment":" `FromResidual::from_residual(r).branch() --> ControlFlow::Break(r)`."},{"DocComment":" (The residual is not mandated to be *identical* when interconversion is involved.)"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, FromResidual};"},{"DocComment":""},{"DocComment":" assert_eq!(Result::::from_residual(Err(3_u8)), Err(3));"},{"DocComment":" assert_eq!(Option::::from_residual(None), None);"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::from_residual(ControlFlow::Break(5)),"},{"DocComment":" ControlFlow::Break(5),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10077}],"output":{"Deduplicated":10076}},"item":{"id":404,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10199,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[49,0]}}],"vtable":null},{"def_id":50,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]}],"span":{"data":{"file_id":18,"beg":{"line":39,"col":0},"end":{"line":42,"col":1}},"generated_from_span":null},"source_text":"pub trait IsIdentity {\n /// Return true if this element is the identity element of the curve.\n fn is_identity(&self) -> bool;\n}","attr_info":{"attributes":[{"DocComment":" Trait for testing if a curve point is equivalent to the identity point."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"is_identity","attr_info":{"attributes":[{"DocComment":" Return true if this element is the identity element of the curve."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10134}],"output":{"Deduplicated":1470}},"item":{"id":417,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10200,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[50,0]}}],"vtable":{"id":{"Adt":79},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}],"trait_impls":[{"def_id":0,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":0}}],"span":{"data":{"file_id":1,"beg":{"line":52,"col":0},"end":{"line":52,"col":27}},"generated_from_span":null},"source_text":"impl Eq for FieldElement {}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10078,{"kind":{"TraitImpl":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":427,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":1,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}}],"span":{"data":{"file_id":1,"beg":{"line":54,"col":0},"end":{"line":58,"col":1}},"generated_from_span":null},"source_text":"impl PartialEq for FieldElement {\n fn eq(&self, other: &FieldElement) -> bool {\n self.ct_eq(other).into()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":2,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":0,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":2,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":2}}],"span":{"data":{"file_id":1,"beg":{"line":60,"col":0},"end":{"line":67,"col":1}},"generated_from_span":null},"source_text":"impl ConstantTimeEq for FieldElement {\n /// Test equality between two `FieldElement`s. Since the\n /// internal representation is not canonical, the field elements\n /// are normalized to wire format before comparison.\n fn ct_eq(&self, other: &FieldElement) -> Choice {\n self.to_bytes().ct_eq(&other.to_bytes())\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":5,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":3,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":3}}],"span":{"data":{"file_id":1,"beg":{"line":69,"col":0},"end":{"line":73,"col":1}},"generated_from_span":null},"source_text":"impl Default for FieldElement {\n fn default() -> Self {\n FieldElement::ZERO\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":8,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":4,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":4}}],"span":{"data":{"file_id":5,"beg":{"line":42,"col":9},"end":{"line":42,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10079,{"kind":{"TraitImpl":{"id":6,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":6,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":6}}],"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":17,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":7,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}}],"span":{"data":{"file_id":5,"beg":{"line":45,"col":0},"end":{"line":49,"col":1}},"generated_from_span":null},"source_text":"impl Debug for FieldElement51 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":20,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":8,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}}],"span":{"data":{"file_id":5,"beg":{"line":54,"col":0},"end":{"line":60,"col":1}},"generated_from_span":null},"source_text":"impl<'a> AddAssign<&'a FieldElement51> for FieldElement51 {\n fn add_assign(&mut self, _rhs: &'a FieldElement51) {\n for i in 0..5 {\n self.0[i] += _rhs.0[i];\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10080}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":21,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":2,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}}],"span":{"data":{"file_id":5,"beg":{"line":62,"col":0},"end":{"line":69,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Add<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n fn add(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n let mut output = *self;\n output += _rhs;\n output\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10081},{"Deduplicated":10080},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":22,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":3,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}}],"span":{"data":{"file_id":5,"beg":{"line":71,"col":0},"end":{"line":76,"col":1}},"generated_from_span":null},"source_text":"impl<'a> SubAssign<&'a FieldElement51> for FieldElement51 {\n fn sub_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) - _rhs;\n self.0 = result.0;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10080}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":23,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}}],"vtable":{"id":4,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":11,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}}],"span":{"data":{"file_id":5,"beg":{"line":78,"col":0},"end":{"line":98,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Sub<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n fn sub(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n // To avoid underflow, first add a multiple of p.\n // Choose 16*p = p << 4 to be larger than 54-bit _rhs.\n //\n // If we could statically track the bitlengths of the limbs\n // of every FieldElement51, we could choose a multiple of p\n // just bigger than _rhs and avoid having to do a reduction.\n //\n // Since we don't yet have type-level integers to do this, we\n // have to add an explicit reduction call here.\n FieldElement51::reduce([\n (self.0[0] + 36028797018963664u64) - _rhs.0[0],\n (self.0[1] + 36028797018963952u64) - _rhs.0[1],\n (self.0[2] + 36028797018963952u64) - _rhs.0[2],\n (self.0[3] + 36028797018963952u64) - _rhs.0[3],\n (self.0[4] + 36028797018963952u64) - _rhs.0[4],\n ])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10081},{"Deduplicated":10080},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":24,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":5,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":12,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}}],"span":{"data":{"file_id":5,"beg":{"line":100,"col":0},"end":{"line":105,"col":1}},"generated_from_span":null},"source_text":"impl<'a> MulAssign<&'a FieldElement51> for FieldElement51 {\n fn mul_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) * _rhs;\n self.0 = result.0;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10080}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":25,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":6,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":13,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}}],"span":{"data":{"file_id":5,"beg":{"line":107,"col":0},"end":{"line":210,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Mul<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n\n #[rustfmt::skip] // keep alignment of c* calculations\n fn mul(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n /// Helper function to multiply two 64-bit integers with 128\n /// bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 { (x as u128) * (y as u128) }\n\n // Alias self, _rhs for more readable formulas\n let a: &[u64; 5] = &self.0;\n let b: &[u64; 5] = &_rhs.0;\n\n // Precondition: assume input limbs a[i], b[i] are bounded as\n //\n // a[i], b[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // 64-bit precomputations to avoid 128-bit multiplications.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let b1_19 = b[1] * 19;\n let b2_19 = b[2] * 19;\n let b3_19 = b[3] * 19;\n let b4_19 = b[4] * 19;\n\n // Multiply to get 128-bit coefficients of output\n let c0: u128 = m(a[0], b[0]) + m(a[4], b1_19) + m(a[3], b2_19) + m(a[2], b3_19) + m(a[1], b4_19);\n let mut c1: u128 = m(a[1], b[0]) + m(a[0], b[1]) + m(a[4], b2_19) + m(a[3], b3_19) + m(a[2], b4_19);\n let mut c2: u128 = m(a[2], b[0]) + m(a[1], b[1]) + m(a[0], b[2]) + m(a[4], b3_19) + m(a[3], b4_19);\n let mut c3: u128 = m(a[3], b[0]) + m(a[2], b[1]) + m(a[1], b[2]) + m(a[0], b[3]) + m(a[4], b4_19);\n let mut c4: u128 = m(a[4], b[0]) + m(a[3], b[1]) + m(a[2], b[2]) + m(a[1], b[3]) + m(a[0] , b[4]);\n\n // How big are the c[i]? We have\n //\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54)); debug_assert!(b[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54)); debug_assert!(b[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54)); debug_assert!(b[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54)); debug_assert!(b[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54)); debug_assert!(b[4] < (1 << 54));\n\n // Casting to u64 and back tells the compiler that the carry is\n // bounded by 2^64, so that the addition is a u128 + u64 rather\n // than u128 + u128.\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n let mut out = [0u64; 5];\n\n c1 += ((c0 >> 51) as u64) as u128;\n out[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n out[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n out[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n out[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n out[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need out[0] + carry * 19 < 2^64.\n //\n // c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)\n // < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n out[0] += carry * 19;\n\n // Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n out[1] += out[0] >> 51;\n out[0] &= LOW_51_BIT_MASK;\n\n // Now out[i] < 2^(51 + epsilon) for all i.\n FieldElement51(out)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10081},{"Deduplicated":10080},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":26,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":7,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}}],"span":{"data":{"file_id":5,"beg":{"line":212,"col":0},"end":{"line":219,"col":1}},"generated_from_span":null},"source_text":"impl Neg for &FieldElement51 {\n type Output = FieldElement51;\n fn neg(self) -> FieldElement51 {\n let mut output = *self;\n output.negate();\n output\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10080},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":27,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":8,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":15,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}}],"span":{"data":{"file_id":5,"beg":{"line":221,"col":0},"end":{"line":251,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for FieldElement51 {\n fn conditional_select(\n a: &FieldElement51,\n b: &FieldElement51,\n choice: Choice,\n ) -> FieldElement51 {\n FieldElement51([\n u64::conditional_select(&a.0[0], &b.0[0], choice),\n u64::conditional_select(&a.0[1], &b.0[1], choice),\n u64::conditional_select(&a.0[2], &b.0[2], choice),\n u64::conditional_select(&a.0[3], &b.0[3], choice),\n u64::conditional_select(&a.0[4], &b.0[4], choice),\n ])\n }\n\n fn conditional_swap(a: &mut FieldElement51, b: &mut FieldElement51, choice: Choice) {\n u64::conditional_swap(&mut a.0[0], &mut b.0[0], choice);\n u64::conditional_swap(&mut a.0[1], &mut b.0[1], choice);\n u64::conditional_swap(&mut a.0[2], &mut b.0[2], choice);\n u64::conditional_swap(&mut a.0[3], &mut b.0[3], choice);\n u64::conditional_swap(&mut a.0[4], &mut b.0[4], choice);\n }\n\n fn conditional_assign(&mut self, other: &FieldElement51, choice: Choice) {\n self.0[0].conditional_assign(&other.0[0], choice);\n self.0[1].conditional_assign(&other.0[1], choice);\n self.0[2].conditional_assign(&other.0[2], choice);\n self.0[3].conditional_assign(&other.0[3], choice);\n self.0[4].conditional_assign(&other.0[4], choice);\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10082,{"kind":{"TraitImpl":{"id":4,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":28,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":29,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":30,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":16,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":16}}],"span":{"data":{"file_id":6,"beg":{"line":153,"col":9},"end":{"line":153,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10083,{"kind":{"TraitImpl":{"id":18,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":18,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":18}}],"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":39,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":19,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":19}}],"span":{"data":{"file_id":6,"beg":{"line":167,"col":9},"end":{"line":167,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10084,{"kind":{"TraitImpl":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":21,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":21}}],"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":40,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":22,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":22}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":9},"end":{"line":182,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10085,{"kind":{"TraitImpl":{"id":24,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":24,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":24}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":41,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":25,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":25}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10086,{"kind":{"TraitImpl":{"id":27,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1842},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":42,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":26,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":26}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":17,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":12,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":27,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1842},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":43,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":13,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":28,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":28}}],"span":{"data":{"file_id":6,"beg":{"line":204,"col":9},"end":{"line":204,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10087,{"kind":{"TraitImpl":{"id":30,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":30,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":30}}],"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":44,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":31,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":31}}],"span":{"data":{"file_id":6,"beg":{"line":229,"col":0},"end":{"line":237,"col":1}},"generated_from_span":null},"source_text":"impl Identity for ProjectivePoint {\n fn identity() -> ProjectivePoint {\n ProjectivePoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":45,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":32,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":32}}],"span":{"data":{"file_id":6,"beg":{"line":239,"col":0},"end":{"line":248,"col":1}},"generated_from_span":null},"source_text":"impl Identity for ProjectiveNielsPoint {\n fn identity() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::ONE,\n Y_minus_X: FieldElement::ONE,\n Z: FieldElement::ONE,\n T2d: FieldElement::ZERO,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":46,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":33,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":33}}],"span":{"data":{"file_id":6,"beg":{"line":250,"col":0},"end":{"line":254,"col":1}},"generated_from_span":null},"source_text":"impl Default for ProjectiveNielsPoint {\n fn default() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":47,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":34,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":34}}],"span":{"data":{"file_id":6,"beg":{"line":256,"col":0},"end":{"line":264,"col":1}},"generated_from_span":null},"source_text":"impl Identity for AffineNielsPoint {\n fn identity() -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: FieldElement::ONE,\n y_minus_x: FieldElement::ONE,\n xy2d: FieldElement::ZERO,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":48,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":35,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":35}}],"span":{"data":{"file_id":6,"beg":{"line":266,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"source_text":"impl Default for AffineNielsPoint {\n fn default() -> AffineNielsPoint {\n AffineNielsPoint::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":49,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":36,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}}],"span":{"data":{"file_id":6,"beg":{"line":276,"col":0},"end":{"line":289,"col":1}},"generated_from_span":null},"source_text":"impl ValidityCheck for ProjectivePoint {\n fn is_valid(&self) -> bool {\n // Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,\n // homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ = self.Z.square();\n let ZZZZ = ZZ.square();\n let lhs = &(&YY - &XX) * &ZZ;\n let rhs = &ZZZZ + &(&constants::EDWARDS_D * &(&XX * &YY));\n\n lhs == rhs\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":50,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[19,0]}}],"vtable":{"id":14,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":37,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}}],"span":{"data":{"file_id":6,"beg":{"line":295,"col":0},"end":{"line":311,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for ProjectiveNielsPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::conditional_select(&a.Y_plus_X, &b.Y_plus_X, choice),\n Y_minus_X: FieldElement::conditional_select(&a.Y_minus_X, &b.Y_minus_X, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T2d: FieldElement::conditional_select(&a.T2d, &b.T2d, choice),\n }\n }\n\n fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.Y_plus_X.conditional_assign(&other.Y_plus_X, choice);\n self.Y_minus_X.conditional_assign(&other.Y_minus_X, choice);\n self.Z.conditional_assign(&other.Z, choice);\n self.T2d.conditional_assign(&other.T2d, choice);\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10088,{"kind":{"TraitImpl":{"id":28,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":51,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":52,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":428,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":38,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}}],"span":{"data":{"file_id":6,"beg":{"line":313,"col":0},"end":{"line":327,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for AffineNielsPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n AffineNielsPoint {\n y_plus_x: FieldElement::conditional_select(&a.y_plus_x, &b.y_plus_x, choice),\n y_minus_x: FieldElement::conditional_select(&a.y_minus_x, &b.y_minus_x, choice),\n xy2d: FieldElement::conditional_select(&a.xy2d, &b.xy2d, choice),\n }\n }\n\n fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.y_plus_x.conditional_assign(&other.y_plus_x, choice);\n self.y_minus_x.conditional_assign(&other.y_minus_x, choice);\n self.xy2d.conditional_assign(&other.xy2d, choice);\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10089,{"kind":{"TraitImpl":{"id":22,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":56,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":57,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":429,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":39,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}}],"span":{"data":{"file_id":6,"beg":{"line":411,"col":0},"end":{"line":430,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Add<&'a ProjectiveNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn add(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.Y_plus_X;\n let MM = &Y_minus_X * &other.Y_minus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &ZZ2 + &TT2d,\n T: &ZZ2 - &TT2d,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10091},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":62,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":15,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":40,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}}],"span":{"data":{"file_id":6,"beg":{"line":433,"col":0},"end":{"line":452,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Sub<&'a ProjectiveNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn sub(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.Y_minus_X;\n let MP = &Y_minus_X * &other.Y_plus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &ZZ2 - &TT2d,\n T: &ZZ2 + &TT2d,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10091},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":63,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":16,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":41,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}}],"span":{"data":{"file_id":6,"beg":{"line":455,"col":0},"end":{"line":473,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Add<&'a AffineNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn add(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.y_plus_x;\n let MM = &Y_minus_X * &other.y_minus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &Z2 + &Txy2d,\n T: &Z2 - &Txy2d,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10092},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":64,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":17,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":42,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}}],"span":{"data":{"file_id":6,"beg":{"line":476,"col":0},"end":{"line":494,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Sub<&'a AffineNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn sub(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.y_minus_x;\n let MP = &Y_minus_X * &other.y_plus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &Z2 - &Txy2d,\n T: &Z2 + &Txy2d,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10092},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":65,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":18,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":43,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}}],"span":{"data":{"file_id":6,"beg":{"line":500,"col":0},"end":{"line":511,"col":1}},"generated_from_span":null},"source_text":"impl Neg for &ProjectiveNielsPoint {\n type Output = ProjectiveNielsPoint;\n\n fn neg(self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: self.Y_minus_X,\n Y_minus_X: self.Y_plus_X,\n Z: self.Z,\n T2d: -(&self.T2d),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10091},{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":66,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":19,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":44,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}}],"span":{"data":{"file_id":6,"beg":{"line":513,"col":0},"end":{"line":523,"col":1}},"generated_from_span":null},"source_text":"impl Neg for &AffineNielsPoint {\n type Output = AffineNielsPoint;\n\n fn neg(self) -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: self.y_minus_x,\n y_minus_x: self.y_plus_x,\n xy2d: -(&self.xy2d),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10092},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":67,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":20,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":45,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}}],"span":{"data":{"file_id":6,"beg":{"line":529,"col":0},"end":{"line":537,"col":1}},"generated_from_span":null},"source_text":"impl Debug for ProjectivePoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectivePoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":68,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":46,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}}],"span":{"data":{"file_id":6,"beg":{"line":539,"col":0},"end":{"line":547,"col":1}},"generated_from_span":null},"source_text":"impl Debug for CompletedPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"CompletedPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":69,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":22,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":47,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}}],"span":{"data":{"file_id":6,"beg":{"line":549,"col":0},"end":{"line":557,"col":1}},"generated_from_span":null},"source_text":"impl Debug for AffineNielsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"AffineNielsPoint{{\\n\\ty_plus_x: {:?},\\n\\ty_minus_x: {:?},\\n\\txy2d: {:?}\\n}}\",\n &self.y_plus_x, &self.y_minus_x, &self.xy2d\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":70,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":48,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}}],"span":{"data":{"file_id":6,"beg":{"line":559,"col":0},"end":{"line":567,"col":1}},"generated_from_span":null},"source_text":"impl Debug for ProjectiveNielsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectiveNielsPoint{{\\n\\tY_plus_X: {:?},\\n\\tY_minus_X: {:?},\\n\\tZ: {:?},\\n\\tT2d: {:?}\\n}}\",\n &self.Y_plus_X, &self.Y_minus_X, &self.Z, &self.T2d\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":71,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":24,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":49,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":49}}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":9},"end":{"line":174,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10093,{"kind":{"TraitImpl":{"id":51,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":51,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":51}}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":72,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":52,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":52}}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":73,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"Deduplicated":2163}]}},"kind":{"TraitMethod":[20,0]}},null],"vtable":null},{"def_id":53,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":53}}],"span":{"data":{"file_id":7,"beg":{"line":177,"col":0},"end":{"line":181,"col":1}},"generated_from_span":null},"source_text":"impl ConstantTimeEq for CompressedEdwardsY {\n fn ct_eq(&self, other: &CompressedEdwardsY) -> Choice {\n self.as_bytes().ct_eq(other.as_bytes())\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":76,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":54,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":54}}],"span":{"data":{"file_id":7,"beg":{"line":183,"col":0},"end":{"line":183,"col":33}},"generated_from_span":null},"source_text":"impl Eq for CompressedEdwardsY {}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10094,{"kind":{"TraitImpl":{"id":55,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":430,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":55,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}}],"span":{"data":{"file_id":7,"beg":{"line":184,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"source_text":"impl PartialEq for CompressedEdwardsY {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":77,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":25,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":56,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}}],"span":{"data":{"file_id":7,"beg":{"line":190,"col":0},"end":{"line":194,"col":1}},"generated_from_span":null},"source_text":"impl Debug for CompressedEdwardsY {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"CompressedEdwardsY: {:?}\", self.as_bytes())\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":78,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":26,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":57,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":57}}],"span":{"data":{"file_id":7,"beg":{"line":260,"col":0},"end":{"line":266,"col":1}},"generated_from_span":null},"source_text":"impl TryFrom<&[u8]> for CompressedEdwardsY {\n type Error = TryFromSliceError;\n\n fn try_from(slice: &[u8]) -> Result {\n Self::from_slice(slice)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":10095},{"Deduplicated":2275}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":82,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[22,0]}}],"vtable":null},{"def_id":58,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":58}}],"span":{"data":{"file_id":7,"beg":{"line":388,"col":9},"end":{"line":388,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10096,{"kind":{"TraitImpl":{"id":60,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":60,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":60}}],"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":83,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":61,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":61}}],"span":{"data":{"file_id":7,"beg":{"line":401,"col":0},"end":{"line":408,"col":1}},"generated_from_span":null},"source_text":"impl Identity for CompressedEdwardsY {\n fn identity() -> CompressedEdwardsY {\n CompressedEdwardsY([\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":84,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":62,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":62}}],"span":{"data":{"file_id":7,"beg":{"line":410,"col":0},"end":{"line":414,"col":1}},"generated_from_span":null},"source_text":"impl Default for CompressedEdwardsY {\n fn default() -> CompressedEdwardsY {\n CompressedEdwardsY::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":85,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":63,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":63}}],"span":{"data":{"file_id":7,"beg":{"line":428,"col":0},"end":{"line":437,"col":1}},"generated_from_span":null},"source_text":"impl Identity for EdwardsPoint {\n fn identity() -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n T: FieldElement::ZERO,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":87,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":64,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":64}}],"span":{"data":{"file_id":7,"beg":{"line":439,"col":0},"end":{"line":443,"col":1}},"generated_from_span":null},"source_text":"impl Default for EdwardsPoint {\n fn default() -> EdwardsPoint {\n EdwardsPoint::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":88,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":65,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}}],"span":{"data":{"file_id":7,"beg":{"line":473,"col":0},"end":{"line":480,"col":1}},"generated_from_span":null},"source_text":"impl ValidityCheck for EdwardsPoint {\n fn is_valid(&self) -> bool {\n let point_on_curve = self.as_projective().is_valid();\n let on_segre_image = (&self.X * &self.Y) == (&self.Z * &self.T);\n\n point_on_curve && on_segre_image\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":89,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[19,0]}}],"vtable":{"id":27,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":66,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}}],"span":{"data":{"file_id":7,"beg":{"line":486,"col":0},"end":{"line":495,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for EdwardsPoint {\n fn conditional_select(a: &EdwardsPoint, b: &EdwardsPoint, choice: Choice) -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::conditional_select(&a.X, &b.X, choice),\n Y: FieldElement::conditional_select(&a.Y, &b.Y, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T: FieldElement::conditional_select(&a.T, &b.T, choice),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10097,{"kind":{"TraitImpl":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":90,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":431,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":432,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":67,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":67}}],"span":{"data":{"file_id":7,"beg":{"line":501,"col":0},"end":{"line":512,"col":1}},"generated_from_span":null},"source_text":"impl ConstantTimeEq for EdwardsPoint {\n fn ct_eq(&self, other: &EdwardsPoint) -> Choice {\n // We would like to check that the point (X/Z, Y/Z) is equal to\n // the point (X'/Z', Y'/Z') without converting into affine\n // coordinates (x, y) and (x', y'), which requires two inversions.\n // We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to\n // (xZ)Z' = (x'Z')Z, and similarly for the y-coordinate.\n\n (&self.X * &other.Z).ct_eq(&(&other.X * &self.Z))\n & (&self.Y * &other.Z).ct_eq(&(&other.Y * &self.Z))\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":91,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":68,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}}],"span":{"data":{"file_id":7,"beg":{"line":514,"col":0},"end":{"line":518,"col":1}},"generated_from_span":null},"source_text":"impl PartialEq for EdwardsPoint {\n fn eq(&self, other: &EdwardsPoint) -> bool {\n self.ct_eq(other).into()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":92,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":28,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":69,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":69}}],"span":{"data":{"file_id":7,"beg":{"line":520,"col":0},"end":{"line":520,"col":27}},"generated_from_span":null},"source_text":"impl Eq for EdwardsPoint {}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10098,{"kind":{"TraitImpl":{"id":68,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":433,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":70,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}}],"span":{"data":{"file_id":7,"beg":{"line":783,"col":0},"end":{"line":788,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Add<&'a EdwardsPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn add(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self + &other.as_projective_niels()).as_extended()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":100,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":29,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":71,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}}],"span":{"data":{"file_id":8,"beg":{"line":17,"col":8},"end":{"line":22,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":101,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":30,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":72,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}}],"span":{"data":{"file_id":8,"beg":{"line":24,"col":8},"end":{"line":29,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10099},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":102,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":31,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":73,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}}],"span":{"data":{"file_id":8,"beg":{"line":31,"col":8},"end":{"line":36,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":103,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":32,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":74,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}}],"span":{"data":{"file_id":7,"beg":{"line":796,"col":0},"end":{"line":800,"col":1}},"generated_from_span":null},"source_text":"impl<'a> AddAssign<&'a EdwardsPoint> for EdwardsPoint {\n fn add_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) + _rhs;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10099}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":104,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":33,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":75,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}}],"span":{"data":{"file_id":8,"beg":{"line":43,"col":8},"end":{"line":47,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":105,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":34,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":76,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}}],"span":{"data":{"file_id":7,"beg":{"line":804,"col":0},"end":{"line":809,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Sub<&'a EdwardsPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn sub(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self - &other.as_projective_niels()).as_extended()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":106,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":35,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":77,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}}],"span":{"data":{"file_id":8,"beg":{"line":54,"col":8},"end":{"line":59,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":107,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":36,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":78,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}}],"span":{"data":{"file_id":8,"beg":{"line":61,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10099},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":108,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":37,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":79,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}}],"span":{"data":{"file_id":8,"beg":{"line":68,"col":8},"end":{"line":73,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":109,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":80,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}}],"span":{"data":{"file_id":7,"beg":{"line":817,"col":0},"end":{"line":821,"col":1}},"generated_from_span":null},"source_text":"impl<'a> SubAssign<&'a EdwardsPoint> for EdwardsPoint {\n fn sub_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) - _rhs;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10099}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":110,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}}],"vtable":{"id":39,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":81,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}}],"span":{"data":{"file_id":8,"beg":{"line":80,"col":8},"end":{"line":84,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":111,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}}],"vtable":{"id":40,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":82,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":82}}],"span":{"data":{"file_id":7,"beg":{"line":825,"col":0},"end":{"line":835,"col":1}},"generated_from_span":null},"source_text":"impl Sum for EdwardsPoint\nwhere\n T: Borrow,\n{\n fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(EdwardsPoint::identity(), |acc, item| acc + item.borrow())\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":827,"col":7},"end":{"line":827,"col":27}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":24,"beg":{"line":22,"col":14},"end":{"line":22,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":112,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"Deduplicated":10100},{"HashConsedValue":[10101,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}]}]}},"kind":{"TraitMethod":[24,0]}}],"vtable":null},{"def_id":83,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}}],"span":{"data":{"file_id":7,"beg":{"line":841,"col":0},"end":{"line":852,"col":1}},"generated_from_span":null},"source_text":"impl Neg for &EdwardsPoint {\n type Output = EdwardsPoint;\n\n fn neg(self) -> EdwardsPoint {\n EdwardsPoint {\n X: -(&self.X),\n Y: self.Y,\n Z: self.Z,\n T: -(&self.T),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":113,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":41,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":84,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}}],"span":{"data":{"file_id":7,"beg":{"line":854,"col":0},"end":{"line":860,"col":1}},"generated_from_span":null},"source_text":"impl Neg for EdwardsPoint {\n type Output = EdwardsPoint;\n\n fn neg(self) -> EdwardsPoint {\n -&self\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":114,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":42,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":85,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}}],"span":{"data":{"file_id":7,"beg":{"line":866,"col":0},"end":{"line":871,"col":1}},"generated_from_span":null},"source_text":"impl<'a> MulAssign<&'a Scalar> for EdwardsPoint {\n fn mul_assign(&mut self, scalar: &'a Scalar) {\n let result = (self as &EdwardsPoint) * scalar;\n *self = result;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10102}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":115,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":43,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":86,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}}],"span":{"data":{"file_id":8,"beg":{"line":117,"col":8},"end":{"line":121,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":2689}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":116,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":44,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":87,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}}],"span":{"data":{"file_id":8,"beg":{"line":91,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10102},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":117,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":45,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":88,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}}],"span":{"data":{"file_id":8,"beg":{"line":98,"col":8},"end":{"line":103,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10099},{"Deduplicated":2689},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":118,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":46,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":89,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}}],"span":{"data":{"file_id":8,"beg":{"line":105,"col":8},"end":{"line":110,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":2689},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":119,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":47,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":90,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}}],"span":{"data":{"file_id":8,"beg":{"line":91,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":120,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":48,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":91,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}}],"span":{"data":{"file_id":8,"beg":{"line":98,"col":8},"end":{"line":103,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10102},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":121,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":49,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":92,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}}],"span":{"data":{"file_id":8,"beg":{"line":105,"col":8},"end":{"line":110,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":50,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":93,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}}],"span":{"data":{"file_id":7,"beg":{"line":878,"col":0},"end":{"line":887,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Mul<&'a Scalar> for &EdwardsPoint {\n type Output = EdwardsPoint;\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, scalar: &'a Scalar) -> EdwardsPoint {\n crate::backend::variable_base_mul(self, scalar)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10090},{"Deduplicated":10102},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":123,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":51,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":94,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}}],"span":{"data":{"file_id":7,"beg":{"line":889,"col":0},"end":{"line":899,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Mul<&'a EdwardsPoint> for &Scalar {\n type Output = EdwardsPoint;\n\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, point: &'a EdwardsPoint) -> EdwardsPoint {\n point * self\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10103},{"Deduplicated":10099},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":124,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":52,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":95,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}}],"span":{"data":{"file_id":7,"beg":{"line":1465,"col":0},"end":{"line":1473,"col":1}},"generated_from_span":null},"source_text":"impl Debug for EdwardsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"EdwardsPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":134,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":53,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":96,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":96}}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":9},"end":{"line":11,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10104,{"kind":{"TraitImpl":{"id":98,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":98,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":98}}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":165,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":99,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":166,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":61,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":100,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":100}}],"span":{"data":{"file_id":19,"beg":{"line":17,"col":0},"end":{"line":21,"col":1}},"generated_from_span":null},"source_text":"impl ConstantTimeEq for AffinePoint {\n fn ct_eq(&self, other: &Self) -> Choice {\n self.x.ct_eq(&other.x) & self.y.ct_eq(&other.y)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":167,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":101,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}}],"span":{"data":{"file_id":19,"beg":{"line":23,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for AffinePoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n Self {\n x: FieldElement::conditional_select(&a.x, &b.x, choice),\n y: FieldElement::conditional_select(&a.y, &b.y, choice),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10105,{"kind":{"TraitImpl":{"id":96,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":168,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":434,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":435,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":102,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":102}}],"span":{"data":{"file_id":19,"beg":{"line":32,"col":0},"end":{"line":36,"col":1}},"generated_from_span":null},"source_text":"impl Default for AffinePoint {\n fn default() -> AffinePoint {\n AffinePoint::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":169,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":103,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":103}}],"span":{"data":{"file_id":19,"beg":{"line":38,"col":0},"end":{"line":45,"col":1}},"generated_from_span":null},"source_text":"impl Identity for AffinePoint {\n fn identity() -> AffinePoint {\n AffinePoint {\n x: FieldElement::ZERO,\n y: FieldElement::ONE,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":170,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":104,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}}],"span":{"data":{"file_id":19,"beg":{"line":47,"col":0},"end":{"line":51,"col":1}},"generated_from_span":null},"source_text":"impl PartialEq for AffinePoint {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":4121},{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":171,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":62,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":105,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":105}}],"span":{"data":{"file_id":19,"beg":{"line":53,"col":0},"end":{"line":53,"col":26}},"generated_from_span":null},"source_text":"impl Eq for AffinePoint {}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10106,{"kind":{"TraitImpl":{"id":104,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":4121},{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":436,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":106,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}}],"span":{"data":{"file_id":19,"beg":{"line":78,"col":0},"end":{"line":85,"col":1}},"generated_from_span":null},"source_text":"impl Mul for Scalar {\n type Output = EdwardsPoint;\n\n #[inline]\n fn mul(self, rhs: AffinePoint) -> EdwardsPoint {\n self * &rhs\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":4121},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":174,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":63,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":107,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}}],"span":{"data":{"file_id":19,"beg":{"line":87,"col":0},"end":{"line":94,"col":1}},"generated_from_span":null},"source_text":"impl Mul<&AffinePoint> for Scalar {\n type Output = EdwardsPoint;\n\n #[inline]\n fn mul(self, rhs: &AffinePoint) -> EdwardsPoint {\n rhs.to_edwards() * self\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":10107},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":175,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":64,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":108,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Impl":{"Trait":108}}],"span":{"data":{"file_id":21,"beg":{"line":767,"col":0},"end":{"line":769,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"U"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":21,"beg":{"line":769,"col":7},"end":{"line":769,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":135,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"Deduplicated":10108}]}},"kind":{"TraitMethod":[44,0]}}],"vtable":null},{"def_id":109,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":109}}],"span":{"data":{"file_id":11,"beg":{"line":138,"col":0},"end":{"line":138,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1470},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":282,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}}],"vtable":null},{"def_id":110,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":110}}],"span":{"data":{"file_id":11,"beg":{"line":289,"col":0},"end":{"line":289,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":11,"beg":{"line":289,"col":8},"end":{"line":289,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":136,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10110}]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":111,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":111}}],"span":{"data":{"file_id":11,"beg":{"line":346,"col":8},"end":{"line":346,"col":36}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":283,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":112,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":112}}],"span":{"data":{"file_id":11,"beg":{"line":236,"col":0},"end":{"line":236,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":284,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}}],"vtable":null},{"def_id":113,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}}],"span":{"data":{"file_id":11,"beg":{"line":174,"col":0},"end":{"line":174,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1496},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":138,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[45,0]}}],"vtable":{"id":69,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":114,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}}],"span":{"data":{"file_id":22,"beg":{"line":383,"col":0},"end":{"line":385,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10111},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":385,"col":9},"end":{"line":385,"col":25}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10109},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":141,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10113}]}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":70,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10113}]}}},{"def_id":115,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}}],"span":{"data":{"file_id":34,"beg":{"line":11,"col":0},"end":{"line":13,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10109},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":34,"beg":{"line":13,"col":7},"end":{"line":13,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10077},{"Deduplicated":10109},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":289,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10112}],"const_generics":[],"trait_refs":[{"Deduplicated":10114}]}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":71,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"Deduplicated":10114}]}}},{"def_id":116,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}}],"span":{"data":{"file_id":34,"beg":{"line":631,"col":0},"end":{"line":631,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10109},{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10115,{"kind":{"TraitImpl":{"id":132,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":46,"generics":{"regions":[],"types":[{"Deduplicated":3073}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":296,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":297,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":298,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,2]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":299,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,3]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":300,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,4]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":301,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,5]}}],"vtable":{"id":72,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}},{"def_id":117,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}}],"span":{"data":{"file_id":15,"beg":{"line":2871,"col":8},"end":{"line":2871,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":2871,"col":31},"end":{"line":2871,"col":34}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":302,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10117}]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":73,"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10117}]}}},{"def_id":118,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}}],"span":{"data":{"file_id":15,"beg":{"line":3121,"col":0},"end":{"line":3121,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10109}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":3121,"col":8},"end":{"line":3121,"col":13}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":303,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10117}]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":74,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10117}]}}},{"def_id":119,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}}],"span":{"data":{"file_id":36,"beg":{"line":83,"col":12},"end":{"line":83,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":304,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":75,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":120,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}}],"span":{"data":{"file_id":38,"beg":{"line":317,"col":0},"end":{"line":317,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":317,"col":14},"end":{"line":317,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":10118}],"consts":[],"types":[null,null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":146,"generics":{"regions":[],"types":[{"Deduplicated":10076},{"Deduplicated":10077}],"const_generics":[],"trait_refs":[{"Deduplicated":10118}]}},"kind":{"TraitMethod":[31,0]}}],"vtable":{"id":76,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10118}]}}},{"def_id":121,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}}],"span":{"data":{"file_id":39,"beg":{"line":980,"col":0},"end":{"line":980,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10119},{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"A"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":39,"beg":{"line":980,"col":8},"end":{"line":980,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":147,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10120}]}},"kind":{"TraitMethod":[25,0]}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"vtable":{"id":77,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10120}]}}},{"def_id":122,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}}],"span":{"data":{"file_id":39,"beg":{"line":266,"col":12},"end":{"line":266,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[7157,{"kind":{"TraitImpl":{"id":133,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10121,{"kind":{"TraitImpl":{"id":134,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":321,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":322,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":325,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,4]}},null,null],"vtable":null},{"def_id":123,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}}],"span":{"data":{"file_id":11,"beg":{"line":511,"col":8},"end":{"line":537,"col":10}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10122,{"kind":{"TraitImpl":{"id":135,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":155,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":156,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":157,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":124,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":124}}],"span":{"data":{"file_id":22,"beg":{"line":348,"col":0},"end":{"line":348,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The hash of an array is the same as that of the corresponding slice,"},{"DocComment":" as required by the `Borrow` implementation."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::BuildHasher;"},{"DocComment":""},{"DocComment":" let b = std::hash::RandomState::new();"},{"DocComment":" let a: [u8; 3] = [0xa8, 0x3c, 0x09];"},{"DocComment":" let s: &[u8] = &[0xa8, 0x3c, 0x09];"},{"DocComment":" assert_eq!(b.hash_one(a), b.hash_one(s));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10111}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":348,"col":8},"end":{"line":348,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":192,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10076},{"Deduplicated":1436}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10123},{"Deduplicated":2163}]}},"kind":{"TraitMethod":[20,0]}},null],"vtable":null},{"def_id":125,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}}],"span":{"data":{"file_id":20,"beg":{"line":810,"col":12},"end":{"line":810,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":334,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"Deduplicated":2163}]}},"kind":{"TraitMethod":[20,0]}},null],"vtable":null},{"def_id":126,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}}],"span":{"data":{"file_id":22,"beg":{"line":355,"col":0},"end":{"line":355,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10111}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":355,"col":8},"end":{"line":355,"col":18}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":336,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[{"Deduplicated":10076}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10117}]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":78,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10117}]}}},{"def_id":127,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}}],"span":{"data":{"file_id":36,"beg":{"line":83,"col":12},"end":{"line":83,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":337,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":79,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":128,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}}],"span":{"data":{"file_id":11,"beg":{"line":159,"col":0},"end":{"line":159,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1496},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":196,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[47,0]}}],"vtable":{"id":80,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":129,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":129}}],"span":{"data":{"file_id":43,"beg":{"line":63,"col":12},"end":{"line":63,"col":56}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":30,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10124,{"kind":{"TraitImpl":{"id":136,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10125,{"kind":{"TraitImpl":{"id":137,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":48,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10126,{"kind":{"TraitImpl":{"id":138,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":130,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}}],"span":{"data":{"file_id":39,"beg":{"line":266,"col":12},"end":{"line":266,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10127,{"kind":{"TraitImpl":{"id":139,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10128,{"kind":{"TraitImpl":{"id":140,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":381,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":382,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":385,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,4]}},null,null],"vtable":null},{"def_id":131,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}}],"span":{"data":{"file_id":18,"beg":{"line":47,"col":0},"end":{"line":54,"col":1}},"generated_from_span":null},"source_text":"impl IsIdentity for T\nwhere\n T: ConstantTimeEq + Identity,\n{\n fn is_identity(&self) -> bool {\n self.ct_eq(&T::identity()).into()\n }\n}","attr_info":{"attributes":[{"DocComment":" Implement generic identity equality testing for a point representations"},{"DocComment":" which have constant-time equality testing and a defined identity"},{"DocComment":" constructor."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":18,"beg":{"line":49,"col":7},"end":{"line":49,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":18,"beg":{"line":49,"col":24},"end":{"line":49,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":280,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10110},{"Deduplicated":10129}]}},"kind":{"TraitMethod":[50,0]}}],"vtable":{"id":81,"generics":{"regions":[],"types":[{"Deduplicated":10076}],"const_generics":[],"trait_refs":[{"Deduplicated":10110},{"Deduplicated":10129}]}}},{"def_id":132,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":132}}],"span":{"data":{"file_id":34,"beg":{"line":120,"col":4},"end":{"line":120,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":46,"generics":{"regions":[],"types":[{"Deduplicated":3073}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":83,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":133,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":133}}],"span":{"data":{"file_id":14,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":391,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":134,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}}],"span":{"data":{"file_id":9,"beg":{"line":1997,"col":12},"end":{"line":1997,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10130,{"kind":{"TraitImpl":{"id":141,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":392,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[42,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":84,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":135,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":135}}],"span":{"data":{"file_id":13,"beg":{"line":57,"col":25},"end":{"line":57,"col":62}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10131,{"kind":{"TraitImpl":{"id":142,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":136,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":136}}],"span":{"data":{"file_id":13,"beg":{"line":57,"col":25},"end":{"line":57,"col":62}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":7157}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":137,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":137}}],"span":{"data":{"file_id":43,"beg":{"line":56,"col":12},"end":{"line":56,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":48,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":87,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":138,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":138}}],"span":{"data":{"file_id":77,"beg":{"line":17,"col":24},"end":{"line":17,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10132,{"kind":{"TraitImpl":{"id":143,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":139,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":139}}],"span":{"data":{"file_id":14,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":407,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":140,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}}],"span":{"data":{"file_id":9,"beg":{"line":1997,"col":12},"end":{"line":1997,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10133,{"kind":{"TraitImpl":{"id":144,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":408,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[42,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":88,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":141,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}}],"span":{"data":{"file_id":9,"beg":{"line":1876,"col":12},"end":{"line":1876,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":419,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":89,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":142,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":142}}],"span":{"data":{"file_id":14,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":421,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":143,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":143}}],"span":{"data":{"file_id":77,"beg":{"line":17,"col":17},"end":{"line":17,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":424,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":144,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":144}}],"span":{"data":{"file_id":9,"beg":{"line":1876,"col":12},"end":{"line":1876,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":425,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":90,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}],"ordered_decls":[{"Type":{"NonRec":11}},{"TraitDecl":{"NonRec":21}},{"TraitDecl":{"NonRec":20}},{"Fun":{"NonRec":192}},{"Type":{"NonRec":15}},{"Type":{"NonRec":13}},{"Type":{"NonRec":14}},{"Type":{"NonRec":16}},{"TraitDecl":{"NonRec":8}},{"Fun":{"NonRec":336}},{"TraitImpl":{"NonRec":126}},{"TraitDecl":{"NonRec":27}},{"Fun":{"NonRec":141}},{"TraitDecl":{"NonRec":23}},{"Fun":{"NonRec":197}},{"TraitDecl":{"NonRec":5}},{"Fun":{"NonRec":18}},{"Fun":{"NonRec":391}},{"TraitImpl":{"NonRec":133}},{"Fun":{"NonRec":407}},{"TraitImpl":{"NonRec":139}},{"TraitDecl":{"NonRec":1}},{"Fun":{"NonRec":3}},{"TraitDecl":{"NonRec":0}},{"Fun":{"NonRec":1}},{"Type":{"NonRec":58}},{"Type":{"NonRec":22}},{"TraitDecl":{"NonRec":42}},{"Fun":{"NonRec":363}},{"Fun":{"NonRec":419}},{"TraitImpl":{"NonRec":141}},{"Fun":{"NonRec":425}},{"TraitImpl":{"NonRec":144}},{"Fun":{"NonRec":392}},{"TraitImpl":{"NonRec":134}},{"Fun":{"NonRec":408}},{"TraitImpl":{"NonRec":140}},{"TraitDecl":{"NonRec":26}},{"Fun":{"NonRec":281}},{"TraitDecl":{"NonRec":22}},{"Fun":{"NonRec":195}},{"Fun":{"NonRec":135}},{"TraitDecl":{"NonRec":3}},{"Fun":{"NonRec":137}},{"Type":{"NonRec":17}},{"Type":{"NonRec":19}},{"Fun":{"NonRec":143}},{"Fun":{"NonRec":140}},{"Fun":{"NonRec":144}},{"Fun":{"NonRec":332}},{"Fun":{"NonRec":302}},{"Fun":{"NonRec":402}},{"Global":{"NonRec":73}},{"TraitImpl":{"NonRec":117}},{"Fun":{"NonRec":303}},{"TraitImpl":{"NonRec":118}},{"Fun":{"NonRec":304}},{"TraitImpl":{"NonRec":119}},{"Fun":{"NonRec":337}},{"TraitImpl":{"NonRec":127}},{"Fun":{"NonRec":142}},{"Fun":{"NonRec":74}},{"Fun":{"NonRec":176}},{"Fun":{"NonRec":177}},{"Fun":{"NonRec":334}},{"TraitImpl":{"NonRec":125}},{"TraitDecl":{"NonRec":29}},{"Fun":{"NonRec":314}},{"Fun":{"NonRec":315}},{"Fun":{"NonRec":318}},{"Fun":{"NonRec":325}},{"Fun":{"NonRec":322}},{"Fun":{"NonRec":321}},{"TraitImpl":{"NonRec":122}},{"Fun":{"NonRec":385}},{"Fun":{"NonRec":382}},{"Fun":{"NonRec":381}},{"TraitImpl":{"NonRec":130}},{"Type":{"NonRec":21}},{"TraitDecl":{"NonRec":25}},{"Fun":{"NonRec":147}},{"TraitImpl":{"NonRec":121}},{"TraitDecl":{"NonRec":24}},{"Fun":{"NonRec":198}},{"Fun":{"NonRec":146}},{"Fun":{"NonRec":199}},{"TraitDecl":{"NonRec":17}},{"TraitDecl":{"NonRec":4}},{"TraitDecl":{"NonRec":7}},{"Fun":{"NonRec":139}},{"TraitDecl":{"NonRec":10}},{"Fun":{"NonRec":148}},{"TraitDecl":{"NonRec":12}},{"Fun":{"NonRec":150}},{"TraitDecl":{"NonRec":14}},{"Fun":{"NonRec":152}},{"TraitDecl":{"NonRec":15}},{"Fun":{"NonRec":154}},{"TraitDecl":{"NonRec":9}},{"Fun":{"NonRec":145}},{"TraitDecl":{"NonRec":11}},{"Fun":{"NonRec":149}},{"TraitDecl":{"NonRec":13}},{"Fun":{"NonRec":151}},{"Fun":{"NonRec":288}},{"Type":{"NonRec":18}},{"TraitDecl":{"NonRec":46}},{"TraitDecl":{"NonRec":28}},{"Fun":{"NonRec":289}},{"TraitImpl":{"NonRec":115}},{"TraitImpl":{"NonRec":132}},{"Fun":{"NonRec":290}},{"Fun":{"NonRec":291}},{"Fun":{"NonRec":292}},{"Fun":{"NonRec":293}},{"Fun":{"NonRec":294}},{"Fun":{"NonRec":295}},{"Fun":{"NonRec":301}},{"Fun":{"NonRec":300}},{"Fun":{"NonRec":299}},{"Fun":{"NonRec":298}},{"Fun":{"NonRec":297}},{"Fun":{"NonRec":296}},{"TraitImpl":{"NonRec":116}},{"Type":{"NonRec":9}},{"Fun":{"NonRec":333}},{"Fun":{"NonRec":282}},{"TraitImpl":{"NonRec":109}},{"Fun":{"NonRec":196}},{"Fun":{"NonRec":138}},{"Fun":{"NonRec":284}},{"TraitImpl":{"NonRec":112}},{"TraitDecl":{"NonRec":2}},{"Fun":{"NonRec":6}},{"Fun":{"NonRec":136}},{"Fun":{"NonRec":283}},{"TraitImpl":{"NonRec":111}},{"TraitDecl":{"NonRec":16}},{"Fun":{"NonRec":53}},{"Fun":{"NonRec":54}},{"Fun":{"NonRec":55}},{"Fun":{"NonRec":155}},{"Fun":{"NonRec":156}},{"Fun":{"NonRec":157}},{"Type":{"NonRec":1}},{"Type":{"NonRec":2}},{"Fun":{"NonRec":39}},{"TraitImpl":{"NonRec":18}},{"TraitImpl":{"NonRec":16}},{"Type":{"NonRec":3}},{"Fun":{"NonRec":40}},{"TraitImpl":{"NonRec":21}},{"TraitImpl":{"NonRec":19}},{"Type":{"NonRec":4}},{"Fun":{"NonRec":41}},{"TraitImpl":{"NonRec":24}},{"TraitImpl":{"NonRec":22}},{"Fun":{"NonRec":329}},{"Global":{"NonRec":58}},{"Fun":{"NonRec":33}},{"Fun":{"NonRec":35}},{"Fun":{"NonRec":5}},{"Fun":{"NonRec":2}},{"Fun":{"NonRec":43}},{"TraitImpl":{"NonRec":27}},{"Fun":{"NonRec":42}},{"TraitImpl":{"NonRec":25}},{"TraitImpl":{"NonRec":26}},{"Type":{"NonRec":5}},{"Fun":{"NonRec":44}},{"TraitImpl":{"NonRec":30}},{"TraitImpl":{"NonRec":28}},{"TraitDecl":{"NonRec":18}},{"Fun":{"NonRec":31}},{"Fun":{"NonRec":159}},{"Global":{"NonRec":10}},{"Fun":{"NonRec":158}},{"Global":{"NonRec":9}},{"Fun":{"NonRec":45}},{"TraitImpl":{"NonRec":31}},{"Fun":{"NonRec":46}},{"TraitImpl":{"NonRec":32}},{"Fun":{"NonRec":47}},{"TraitImpl":{"NonRec":33}},{"Fun":{"NonRec":48}},{"TraitImpl":{"NonRec":34}},{"Fun":{"NonRec":49}},{"TraitImpl":{"NonRec":35}},{"TraitDecl":{"NonRec":19}},{"Fun":{"NonRec":330}},{"Global":{"NonRec":59}},{"Fun":{"NonRec":162}},{"Fun":{"NonRec":36}},{"Fun":{"NonRec":37}},{"Fun":{"NonRec":328}},{"Global":{"NonRec":57}},{"Fun":{"NonRec":153}},{"Fun":{"NonRec":26}},{"Fun":{"NonRec":24}},{"Fun":{"NonRec":21}},{"Fun":{"NonRec":22}},{"Fun":{"NonRec":422}},{"Global":{"NonRec":85}},{"Fun":{"NonRec":50}},{"TraitImpl":{"NonRec":36}},{"Fun":{"NonRec":29}},{"Fun":{"NonRec":52}},{"Fun":{"NonRec":28}},{"Fun":{"NonRec":51}},{"Fun":{"NonRec":428}},{"TraitImpl":{"NonRec":37}},{"Fun":{"NonRec":57}},{"Fun":{"NonRec":56}},{"Fun":{"NonRec":429}},{"TraitImpl":{"NonRec":38}},{"Type":{"NonRec":7}},{"Fun":{"NonRec":58}},{"Fun":{"NonRec":59}},{"Fun":{"NonRec":60}},{"Fun":{"NonRec":38}},{"Fun":{"NonRec":61}},{"Fun":{"NonRec":62}},{"TraitImpl":{"NonRec":39}},{"Fun":{"NonRec":63}},{"TraitImpl":{"NonRec":40}},{"Fun":{"NonRec":64}},{"TraitImpl":{"NonRec":41}},{"Fun":{"NonRec":65}},{"TraitImpl":{"NonRec":42}},{"Fun":{"NonRec":32}},{"Fun":{"NonRec":27}},{"Fun":{"NonRec":66}},{"TraitImpl":{"NonRec":43}},{"Fun":{"NonRec":67}},{"TraitImpl":{"NonRec":44}},{"Fun":{"NonRec":20}},{"Fun":{"NonRec":401}},{"Global":{"NonRec":1}},{"TraitImpl":{"NonRec":7}},{"Fun":{"NonRec":68}},{"TraitImpl":{"NonRec":45}},{"Fun":{"NonRec":69}},{"TraitImpl":{"NonRec":46}},{"Fun":{"NonRec":70}},{"TraitImpl":{"NonRec":47}},{"Fun":{"NonRec":71}},{"TraitImpl":{"NonRec":48}},{"Type":{"NonRec":12}},{"Fun":{"NonRec":374}},{"Fun":{"NonRec":377}},{"Fun":{"NonRec":405}},{"Fun":{"NonRec":423}},{"Global":{"NonRec":86}},{"Fun":{"NonRec":418}},{"Global":{"NonRec":82}},{"Fun":{"NonRec":376}},{"Global":{"NonRec":67}},{"Fun":{"NonRec":17}},{"TraitImpl":{"NonRec":6}},{"TraitImpl":{"NonRec":4}},{"TraitImpl":{"NonRec":8}},{"TraitImpl":{"NonRec":9}},{"Fun":{"NonRec":23}},{"TraitImpl":{"NonRec":10}},{"TraitImpl":{"NonRec":11}},{"Fun":{"NonRec":25}},{"TraitImpl":{"NonRec":12}},{"TraitImpl":{"NonRec":13}},{"TraitImpl":{"NonRec":14}},{"Fun":{"NonRec":30}},{"TraitImpl":{"NonRec":15}},{"Fun":{"NonRec":160}},{"Global":{"NonRec":11}},{"Fun":{"NonRec":161}},{"Fun":{"NonRec":34}},{"Fun":{"NonRec":375}},{"Fun":{"NonRec":378}},{"Fun":{"NonRec":406}},{"Type":{"NonRec":74}},{"Fun":{"NonRec":373}},{"Fun":{"NonRec":276}},{"Fun":{"NonRec":278}},{"Fun":{"NonRec":93}},{"Fun":{"NonRec":100}},{"Fun":{"NonRec":103}},{"Fun":{"NonRec":123}},{"Fun":{"NonRec":124}},{"Fun":{"NonRec":121}},{"Fun":{"NonRec":125}},{"Fun":{"NonRec":379}},{"Fun":{"NonRec":380}},{"Fun":{"NonRec":279}},{"Fun":{"NonRec":388}},{"Global":{"NonRec":68}},{"Type":{"NonRec":10}},{"Fun":{"NonRec":165}},{"TraitImpl":{"NonRec":98}},{"TraitImpl":{"NonRec":96}},{"Fun":{"NonRec":166}},{"TraitImpl":{"NonRec":99}},{"Fun":{"NonRec":167}},{"TraitImpl":{"NonRec":100}},{"Fun":{"NonRec":168}},{"Fun":{"NonRec":435}},{"Fun":{"NonRec":434}},{"TraitImpl":{"NonRec":101}},{"Fun":{"NonRec":170}},{"Fun":{"NonRec":169}},{"TraitImpl":{"NonRec":102}},{"TraitImpl":{"NonRec":103}},{"Fun":{"NonRec":171}},{"TraitImpl":{"NonRec":104}},{"Fun":{"NonRec":436}},{"TraitImpl":{"NonRec":105}},{"Fun":{"NonRec":172}},{"Fun":{"NonRec":9}},{"Type":{"NonRec":6}},{"Fun":{"NonRec":173}},{"Fun":{"NonRec":119}},{"Fun":{"NonRec":175}},{"Fun":{"NonRec":174}},{"TraitImpl":{"NonRec":106}},{"TraitImpl":{"NonRec":107}},{"Fun":{"NonRec":72}},{"TraitImpl":{"NonRec":51}},{"TraitImpl":{"NonRec":49}},{"Fun":{"NonRec":73}},{"TraitImpl":{"NonRec":52}},{"Fun":{"NonRec":79}},{"Fun":{"NonRec":76}},{"TraitImpl":{"NonRec":53}},{"Fun":{"NonRec":77}},{"TraitImpl":{"NonRec":55}},{"Fun":{"NonRec":430}},{"TraitImpl":{"NonRec":54}},{"Fun":{"NonRec":78}},{"TraitImpl":{"NonRec":56}},{"Fun":{"NonRec":80}},{"Fun":{"NonRec":194}},{"Fun":{"NonRec":193}},{"Fun":{"NonRec":81}},{"Fun":{"NonRec":86}},{"Fun":{"NonRec":82}},{"TraitImpl":{"NonRec":57}},{"Fun":{"NonRec":83}},{"TraitImpl":{"NonRec":60}},{"TraitImpl":{"NonRec":58}},{"Fun":{"NonRec":84}},{"TraitImpl":{"NonRec":61}},{"Fun":{"NonRec":85}},{"TraitImpl":{"NonRec":62}},{"Fun":{"NonRec":87}},{"TraitImpl":{"NonRec":63}},{"Fun":{"NonRec":88}},{"TraitImpl":{"NonRec":64}},{"Fun":{"NonRec":94}},{"Fun":{"NonRec":89}},{"TraitImpl":{"NonRec":65}},{"Fun":{"NonRec":90}},{"Fun":{"NonRec":432}},{"Fun":{"NonRec":431}},{"TraitImpl":{"NonRec":66}},{"Fun":{"NonRec":91}},{"TraitImpl":{"NonRec":67}},{"Fun":{"NonRec":92}},{"TraitImpl":{"NonRec":68}},{"Fun":{"NonRec":433}},{"TraitImpl":{"NonRec":69}},{"Fun":{"NonRec":11}},{"Fun":{"NonRec":13}},{"Fun":{"NonRec":95}},{"Fun":{"NonRec":96}},{"Type":{"NonRec":32}},{"Fun":{"NonRec":97}},{"Fun":{"NonRec":98}},{"Fun":{"NonRec":99}},{"TraitImpl":{"NonRec":70}},{"Fun":{"NonRec":104}},{"TraitImpl":{"NonRec":74}},{"Fun":{"NonRec":106}},{"TraitImpl":{"NonRec":76}},{"Fun":{"NonRec":110}},{"TraitImpl":{"NonRec":80}},{"Fun":{"NonRec":112}},{"TraitImpl":{"NonRec":82}},{"Fun":{"NonRec":113}},{"TraitImpl":{"NonRec":83}},{"Fun":{"NonRec":114}},{"TraitImpl":{"NonRec":84}},{"Fun":{"NonRec":115}},{"TraitImpl":{"NonRec":85}},{"TraitImpl":{"NonRec":93}},{"TraitImpl":{"NonRec":94}},{"Fun":{"NonRec":277}},{"Fun":{"NonRec":122}},{"Fun":{"NonRec":126}},{"Fun":{"NonRec":127}},{"Fun":{"NonRec":128}},{"Fun":{"NonRec":129}},{"Fun":{"NonRec":131}},{"Fun":{"NonRec":130}},{"Fun":{"NonRec":163}},{"Fun":{"NonRec":280}},{"Fun":{"NonRec":132}},{"Fun":{"NonRec":118}},{"Fun":{"NonRec":133}},{"Fun":{"NonRec":134}},{"TraitImpl":{"NonRec":95}},{"Type":{"NonRec":0}},{"TraitImpl":{"NonRec":1}},{"Fun":{"NonRec":427}},{"TraitImpl":{"NonRec":0}},{"TraitImpl":{"NonRec":2}},{"Fun":{"NonRec":8}},{"TraitImpl":{"NonRec":3}},{"Fun":{"NonRec":10}},{"Fun":{"NonRec":12}},{"Fun":{"NonRec":14}},{"Fun":{"NonRec":15}},{"Fun":{"NonRec":16}},{"Fun":{"NonRec":101}},{"TraitImpl":{"NonRec":71}},{"Fun":{"NonRec":102}},{"TraitImpl":{"NonRec":72}},{"TraitImpl":{"NonRec":73}},{"Fun":{"NonRec":105}},{"TraitImpl":{"NonRec":75}},{"Fun":{"NonRec":107}},{"TraitImpl":{"NonRec":77}},{"Fun":{"NonRec":108}},{"TraitImpl":{"NonRec":78}},{"Fun":{"NonRec":109}},{"TraitImpl":{"NonRec":79}},{"Fun":{"NonRec":111}},{"TraitImpl":{"NonRec":81}},{"Fun":{"NonRec":117}},{"TraitImpl":{"NonRec":87}},{"Fun":{"NonRec":120}},{"TraitImpl":{"NonRec":90}},{"TraitImpl":{"NonRec":88}},{"TraitImpl":{"NonRec":91}},{"TraitImpl":{"NonRec":89}},{"TraitImpl":{"NonRec":92}},{"Fun":{"NonRec":116}},{"TraitImpl":{"NonRec":86}},{"Fun":{"NonRec":164}}]},"has_errors":false} \ No newline at end of file +{"charon_version":"0.1.212","translated":{"crate_name":"curve25519","options":{"ullbc":false,"precise_drops":false,"skip_borrowck":false,"mir":null,"rustc_args":[],"targets":[],"monomorphize":false,"monomorphize_mut":null,"start_from":["crate::field","crate::backend::serial::u64::field","crate::backend::serial::curve_models","crate::edwards"],"start_from_if_exists":[],"start_from_attribute":null,"start_from_pub":false,"include":[],"opaque":["crate::field::_::internal_invert_batch","crate::backend::serial::scalar_mul::variable_base","crate::backend::serial::scalar_mul::vartime_triple_base","crate::scalar::_::non_adjacent_form_128","crate::backend::serial::scalar_mul::straus","crate::backend::serial::scalar_mul::precomputed_straus","crate::backend::serial::scalar_mul::pippenger","crate::backend::vector","crate::backend::get_selected_backend","crate::backend::scalar_fits_in_128_bits","crate::edwards::decompress","crate::edwards::_::sum","crate::edwards::_::from_slice"],"exclude":[],"extract_opaque_bodies":false,"translate_all_methods":false,"duplicate_defaulted_methods":true,"lift_associated_types":["*"],"hide_marker_traits":true,"remove_adt_clauses":true,"hide_allocator":true,"remove_unused_self_clauses":true,"desugar_drops":false,"ops_to_function_calls":true,"index_to_function_calls":true,"treat_box_as_builtin":true,"raw_consts":false,"unsized_strings":false,"reconstruct_fallible_operations":true,"reconstruct_asserts":true,"unbind_item_vars":true,"print_original_ullbc":false,"print_ullbc":false,"print_built_llbc":false,"print_llbc":false,"dest_dir":null,"dest_file":"/home/oho/GitClone/Claude/FormalVerification/anza-ed25519-verified/verification/CurveField.llbc","no_dedup_serialized_ast":false,"format":null,"no_serialize":false,"no_typecheck":false,"no_normalize":false,"abort_on_error":false,"error_on_warnings":false,"preset":"Aeneas"},"target_information":[{"key":"x86_64-unknown-linux-gnu","value":{"target_pointer_size":8,"is_little_endian":true}}],"files":[{"id":0,"name":{"Local":"curve25519/solana-ed25519/src/lib.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n#![no_std]\n#![cfg_attr(docsrs, feature(doc_cfg))]\n#![cfg_attr(docsrs, doc(auto_cfg(hide(docsrs))))]\n//------------------------------------------------------------------------\n// Documentation:\n//------------------------------------------------------------------------\n#![doc(\n html_logo_url = \"https://cdn.jsdelivr.net/gh/dalek-cryptography/curve25519/docs/assets/dalek-logo-clear.png\"\n)]\n#![doc = include_str!(\"../README.md\")]\n//------------------------------------------------------------------------\n// Linting:\n//------------------------------------------------------------------------\n#![cfg_attr(allow_unused_unsafe, allow(unused_unsafe))]\n#![warn(\n clippy::mod_module_files,\n clippy::unwrap_used,\n missing_docs,\n rust_2018_idioms,\n unused_lifetimes,\n unused_qualifications\n)]\n\n//------------------------------------------------------------------------\n// External dependencies:\n//------------------------------------------------------------------------\n\n#[cfg(feature = \"alloc\")]\n#[allow(unused_imports)]\n#[macro_use]\nextern crate alloc;\n\n// TODO: move std-dependent tests to `tests/`\n#[cfg(any(test, feature = \"std\"))]\n#[macro_use]\nextern crate std;\n\n#[cfg(feature = \"digest\")]\npub use digest;\n\n// Internal macros. Must come first!\n#[macro_use]\npub(crate) mod macros;\n\n//------------------------------------------------------------------------\n// curve25519 public modules\n//------------------------------------------------------------------------\n\n// Scalar arithmetic mod l = 2^252 + ..., the order of the Ristretto group\npub mod scalar;\n\n// Point operations on the Montgomery form of Curve25519\npub mod montgomery;\n\n// Point operations on the Edwards form of Curve25519\npub mod edwards;\n\n// Point operations on the short Weierstrass form of Curve25519\npub mod short_weierstrass;\n\n// Group operations on the Ristretto group\npub mod ristretto;\n\n// Useful constants, like the Ed25519 basepoint\npub mod constants;\n\n// External (and internal) traits.\npub mod traits;\n\n//------------------------------------------------------------------------\n// ed25519 public modules\n//------------------------------------------------------------------------\n\npub mod ed_sigs;\n\n//------------------------------------------------------------------------\n// curve25519 internal modules\n//------------------------------------------------------------------------\n\n// Finite field arithmetic mod p = 2^255 - 19\npub(crate) mod field;\n\n// Arithmetic backends (using u32, u64, etc) live here\n#[cfg(docsrs)]\npub mod backend;\n#[cfg(not(docsrs))]\npub(crate) mod backend;\n\n// Generic code for window lookups\npub(crate) mod window;\n\n#[cfg(feature = \"lizard\")]\nmod lizard;\n\npub use crate::{\n edwards::EdwardsPoint, montgomery::MontgomeryPoint, ristretto::RistrettoPoint, scalar::Scalar,\n};\n\n// Build time diagnostics for validation\n#[cfg(curve25519_diagnostics = \"build\")]\nmod diagnostics;\n"},{"id":1,"name":{"Local":"curve25519/solana-ed25519/src/field.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis agora lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - Isis Agora Lovecruft \n// - Henry de Valence \n\n//! Field arithmetic modulo \\\\(p = 2\\^{255} - 19\\\\).\n//!\n//! The `curve25519::field` module provides a type alias\n//! `curve25519::field::FieldElement` to a field element type\n//! defined in the `backend` module; either `FieldElement51` or\n//! `FieldElement2625`.\n//!\n//! Field operations defined in terms of machine\n//! operations, such as field multiplication or squaring, are defined in\n//! the backend implementation.\n//!\n//! Field operations defined in terms of other field operations, such as\n//! field inversion or square roots, are defined here.\n\n#![allow(unused_qualifications)]\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\n\nuse crate::backend;\nuse crate::constants;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\n#[cfg(feature = \"digest\")]\nuse digest::{\n Digest, FixedOutput, HashMarker,\n array::{Array, typenum::U64},\n block_api::BlockSizeUser,\n typenum::{IsGreater, True},\n};\n\n/// A `FieldElement` represents an element of the field\n/// \\\\( \\mathbb Z / (2\\^{255} - 19)\\\\).\n///\n/// The `FieldElement` type is pinned to the 64-bit serial implementation.\npub(crate) type FieldElement = backend::serial::u64::field::FieldElement51;\n\nimpl Eq for FieldElement {}\n\nimpl PartialEq for FieldElement {\n fn eq(&self, other: &FieldElement) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl ConstantTimeEq for FieldElement {\n /// Test equality between two `FieldElement`s. Since the\n /// internal representation is not canonical, the field elements\n /// are normalized to wire format before comparison.\n fn ct_eq(&self, other: &FieldElement) -> Choice {\n self.to_bytes().ct_eq(&other.to_bytes())\n }\n}\n\nimpl Default for FieldElement {\n fn default() -> Self {\n FieldElement::ZERO\n }\n}\n\nimpl FieldElement {\n /// Load a `FieldElement` from 64 bytes, by reducing modulo q.\n #[cfg(feature = \"digest\")]\n pub(crate) fn from_bytes_wide(bytes: &[u8; 64]) -> Self {\n let mut fl = [0u8; 32];\n let mut gl = [0u8; 32];\n fl.copy_from_slice(&bytes[..32]);\n gl.copy_from_slice(&bytes[32..]);\n // Mask off the top bits of both halves, since from_bytes masks them off anyway. We'll add\n // them back in later.\n let fl_top_bit = (fl[31] >> 7) as u16;\n let gl_top_bit = (gl[31] >> 7) as u16;\n fl[31] &= 0x7f;\n gl[31] &= 0x7f;\n\n // Interpret both sides as field elements\n let mut fe_f = Self::from_bytes(&fl);\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut fe_g = Self::from_bytes(&gl);\n\n // The full field elem is now fe_f + 2²⁵⁵ fl_top_bit + 2²⁵⁶ fe_g + 2⁵¹¹ gl_top_bit\n\n // Add the masked off bits back to fe_f. fl_top_bit, if set, is 2^255 ≡ 19 (mod q).\n // gl_top_bit, if set, is 2^511 ≡ 722 (mod q)\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut top_bits_sum = {\n // This only need to be a u16 because the max value is 741\n let addend: u16 = fl_top_bit * 19 + gl_top_bit * 722;\n let mut addend_bytes = [0u8; 32];\n addend_bytes[..2].copy_from_slice(&addend.to_le_bytes());\n let top_bits_sum = Self::from_bytes(&addend_bytes);\n\n #[cfg(feature = \"zeroize\")]\n addend_bytes.zeroize();\n\n top_bits_sum\n };\n fe_f += &top_bits_sum;\n\n // Now add the high half into fe_f. The RHS is multiplied by 2^256 ≡ 38 (mod q)\n const THIRTY_EIGHT: FieldElement = FieldElement::from_bytes(&[\n 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ]);\n fe_f += &(&THIRTY_EIGHT * &fe_g);\n\n #[cfg(feature = \"zeroize\")]\n {\n fl.zeroize();\n gl.zeroize();\n fe_g.zeroize();\n top_bits_sum.zeroize();\n }\n\n fe_f\n }\n\n /// Determine if this `FieldElement` is negative, in the sense\n /// used in the ed25519 paper: `x` is negative if the low bit is\n /// set.\n ///\n /// # Return\n ///\n /// If negative, return `Choice(1)`. Otherwise, return `Choice(0)`.\n pub(crate) fn is_negative(&self) -> Choice {\n let bytes = self.to_bytes();\n (bytes[0] & 1).into()\n }\n\n /// Determine if this `FieldElement` is zero.\n ///\n /// # Return\n ///\n /// If zero, return `Choice(1)`. Otherwise, return `Choice(0)`.\n pub(crate) fn is_zero(&self) -> Choice {\n let zero = [0u8; 32];\n let bytes = self.to_bytes();\n\n bytes.ct_eq(&zero)\n }\n\n /// Compute (self^(2^250-1), self^11), used as a helper function\n /// within invert() and pow22523().\n #[rustfmt::skip] // keep alignment of explanatory comments\n fn pow22501(&self) -> (FieldElement, FieldElement) {\n // Instead of managing which temporary variables are used\n // for what, we define as many as we need and leave stack\n // allocation to the compiler\n //\n // Each temporary variable t_i is of the form (self)^e_i.\n // Squaring t_i corresponds to multiplying e_i by 2,\n // so the pow2k function shifts e_i left by k places.\n // Multiplying t_i and t_j corresponds to adding e_i + e_j.\n //\n // Temporary t_i Nonzero bits of e_i\n //\n let t0 = self.square(); // 1 e_0 = 2^1\n let t1 = t0.square().square(); // 3 e_1 = 2^3\n let t2 = self * &t1; // 3,0 e_2 = 2^3 + 2^0\n let t3 = &t0 * &t2; // 3,1,0\n let t4 = t3.square(); // 4,2,1\n let t5 = &t2 * &t4; // 4,3,2,1,0\n let t6 = t5.pow2k(5); // 9,8,7,6,5\n let t7 = &t6 * &t5; // 9,8,7,6,5,4,3,2,1,0\n let t8 = t7.pow2k(10); // 19..10\n let t9 = &t8 * &t7; // 19..0\n let t10 = t9.pow2k(20); // 39..20\n let t11 = &t10 * &t9; // 39..0\n let t12 = t11.pow2k(10); // 49..10\n let t13 = &t12 * &t7; // 49..0\n let t14 = t13.pow2k(50); // 99..50\n let t15 = &t14 * &t13; // 99..0\n let t16 = t15.pow2k(100); // 199..100\n let t17 = &t16 * &t15; // 199..0\n let t18 = t17.pow2k(50); // 249..50\n let t19 = &t18 * &t13; // 249..0\n\n (t19, t3)\n }\n\n /// Given a slice of pub(crate)lic `FieldElements`, replace each with its inverse.\n ///\n /// When an input `FieldElement` is zero, its value is unchanged.\n #[cfg(feature = \"alloc\")]\n pub(crate) fn invert_batch_alloc(inputs: &mut [FieldElement]) {\n let n = inputs.len();\n let mut scratch = vec![FieldElement::ONE; n];\n\n Self::internal_invert_batch(inputs, &mut scratch);\n\n #[cfg(feature = \"zeroize\")]\n scratch.zeroize();\n }\n\n /// Given a slice of pub(crate)lic `FieldElements`, replace each with its inverse. `scratch` can\n /// contain anything, so long as its length is the same as `inputs`.\n ///\n /// When an input `FieldElement` is zero, its value is unchanged.\n ///\n /// # Panics\n /// Panics when `scratch.len() != inputs.len()`\n fn internal_invert_batch(inputs: &mut [FieldElement], scratch: &mut [FieldElement]) {\n // Montgomery’s Trick and Fast Implementation of Masked AES\n // Genelle, Prouff and Quisquater\n // Section 3.2\n\n debug_assert_eq!(inputs.len(), scratch.len());\n\n // Keep an accumulator of all of the previous products\n let mut acc = FieldElement::ONE;\n\n // Pass through the input vector, recording the previous\n // products in the scratch space\n for (input, scratch) in inputs.iter().zip(scratch.iter_mut()) {\n *scratch = acc;\n // acc <- acc * input, but skipping zeros (constant-time)\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut product = &acc * input;\n acc.conditional_assign(&product, !input.is_zero());\n\n #[cfg(feature = \"zeroize\")]\n product.zeroize();\n }\n\n // acc is nonzero because we skipped zeros in inputs\n assert!(bool::from(!acc.is_zero()));\n\n // Compute the inverse of all products\n acc = acc.invert();\n\n // Pass through the vector backwards to compute the inverses\n // in place\n for (input, scratch) in inputs.iter_mut().rev().zip(scratch.iter_mut().rev()) {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut tmp = &acc * input;\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut inverse = &acc * scratch;\n // input <- acc * scratch, then acc <- tmp\n // Again, we skip zeros in a constant-time way\n let nz = !input.is_zero();\n input.conditional_assign(&inverse, nz);\n acc.conditional_assign(&tmp, nz);\n\n #[cfg(feature = \"zeroize\")]\n {\n tmp.zeroize();\n inverse.zeroize();\n }\n }\n\n #[cfg(feature = \"zeroize\")]\n {\n acc.zeroize();\n scratch.zeroize();\n }\n }\n\n /// Given a nonzero field element, compute its inverse.\n ///\n /// The inverse is computed as self^(p-2), since\n /// x^(p-2)x = x^(p-1) = 1 (mod p).\n ///\n /// This function returns zero on input zero.\n #[rustfmt::skip] // keep alignment of explanatory comments\n #[allow(clippy::let_and_return)]\n pub(crate) fn invert(&self) -> FieldElement {\n // The bits of p-2 = 2^255 -19 -2 are 11010111111...11.\n //\n // nonzero bits of exponent\n let (t19, t3) = self.pow22501(); // t19: 249..0 ; t3: 3,1,0\n let t20 = t19.pow2k(5); // 254..5\n let t21 = &t20 * &t3; // 254..5,3,1,0\n\n t21\n }\n\n /// Raise this field element to the power (p-5)/8 = 2^252 -3.\n #[rustfmt::skip] // keep alignment of explanatory comments\n #[allow(clippy::let_and_return)]\n pub(crate) fn pow_p58(&self) -> FieldElement {\n // The bits of (p-5)/8 are 101111.....11.\n //\n // nonzero bits of exponent\n let (t19, _) = self.pow22501(); // 249..0\n let t20 = t19.pow2k(2); // 251..2\n let t21 = self * &t20; // 251..2,0\n\n t21\n }\n\n /// Given `FieldElements` `u` and `v`, compute either `sqrt(u/v)`\n /// or `sqrt(i*u/v)` in constant time.\n ///\n /// This function always returns the nonnegative square root.\n ///\n /// # Return\n ///\n /// - `(Choice(1), +sqrt(u/v)) ` if `v` is nonzero and `u/v` is square;\n /// - `(Choice(1), zero) ` if `u` is zero;\n /// - `(Choice(0), zero) ` if `v` is zero and `u` is nonzero;\n /// - `(Choice(0), +sqrt(i*u/v))` if `u/v` is nonsquare (so `i*u/v` is square).\n ///\n pub(crate) fn sqrt_ratio_i(u: &FieldElement, v: &FieldElement) -> (Choice, FieldElement) {\n // Using the same trick as in ed25519 decoding, we merge the\n // inversion, the square root, and the square test as follows.\n //\n // To compute sqrt(α), we can compute β = α^((p+3)/8).\n // Then β^2 = ±α, so multiplying β by sqrt(-1) if necessary\n // gives sqrt(α).\n //\n // To compute 1/sqrt(α), we observe that\n // 1/β = α^(p-1 - (p+3)/8) = α^((7p-11)/8)\n // = α^3 * (α^7)^((p-5)/8).\n //\n // We can therefore compute sqrt(u/v) = sqrt(u)/sqrt(v)\n // by first computing\n // r = u^((p+3)/8) v^(p-1-(p+3)/8)\n // = u u^((p-5)/8) v^3 (v^7)^((p-5)/8)\n // = (uv^3) (uv^7)^((p-5)/8).\n //\n // If v is nonzero and u/v is square, then r^2 = ±u/v,\n // so vr^2 = ±u.\n // If vr^2 = u, then sqrt(u/v) = r.\n // If vr^2 = -u, then sqrt(u/v) = r*sqrt(-1).\n //\n // If v is zero, r is also zero.\n\n let v3 = &v.square() * v;\n let v7 = &v3.square() * v;\n let mut r = &(u * &v3) * &(u * &v7).pow_p58();\n let check = v * &r.square();\n\n let i = &constants::SQRT_M1;\n\n let correct_sign_sqrt = check.ct_eq(u);\n let flipped_sign_sqrt = check.ct_eq(&(-u));\n let flipped_sign_sqrt_i = check.ct_eq(&(&(-u) * i));\n\n let r_prime = &constants::SQRT_M1 * &r;\n r.conditional_assign(&r_prime, flipped_sign_sqrt | flipped_sign_sqrt_i);\n\n // Choose the nonnegative square root.\n //\n // NOTE: written as negate-then-conditional-assign rather than\n // `r.conditional_negate(r_is_negative)`: semantically identical and\n // still constant-time, but it avoids subtle's `ConditionallyNegatable`\n // blanket impl (whose `for<'a> &'a T: Neg` bound breaks the Aeneas\n // verification toolchain; see verification/field/README.md).\n let r_is_negative = r.is_negative();\n let r_neg = -&r;\n r.conditional_assign(&r_neg, r_is_negative);\n\n let was_nonzero_square = correct_sign_sqrt | flipped_sign_sqrt;\n\n (was_nonzero_square, r)\n }\n\n /// Attempt to compute `sqrt(1/self)` in constant time.\n ///\n /// Convenience wrapper around `sqrt_ratio_i`.\n ///\n /// This function always returns the nonnegative square root.\n ///\n /// # Return\n ///\n /// - `(Choice(1), +sqrt(1/self)) ` if `self` is a nonzero square;\n /// - `(Choice(0), zero) ` if `self` is zero;\n /// - `(Choice(0), +sqrt(i/self)) ` if `self` is a nonzero nonsquare;\n ///\n pub(crate) fn invsqrt(&self) -> (Choice, FieldElement) {\n FieldElement::sqrt_ratio_i(&FieldElement::ONE, self)\n }\n\n #[cfg(feature = \"digest\")]\n /// Hashes the given message and domain separator to produce `COUNT` [`FieldElement`]s, per RFC\n /// 9380. The hash's input is the concatenation of the elements of `msg`. Likewise for the\n /// domain separator with `domain_sep`. At least one element of `domain_sep`, MUST be nonempty,\n /// its concatenation MUST NOT exceed 255 bytes, and `COUNT` MUST be 1 or 2.\n ///\n /// The specification names SHA-512 as an example of a secure hash to use with this function,\n /// but you may use any 512-bit hash within reason (see the\n /// [`spec`](https://www.rfc-editor.org/rfc/rfc9380.html#section-5.2) for details).\n ///\n /// # Panics\n /// Panics if `domain_sep.collect().len() == 0` or `> 255`. Also panics if `COUNT > 2` or\n /// `COUNT == 0`.\n pub fn hash_to_field(\n msg: &[&[u8]],\n domain_sep: &[&[u8]],\n ) -> [Self; COUNT]\n where\n D: BlockSizeUser + Default + FixedOutput + HashMarker,\n D::BlockSize: IsGreater,\n {\n // We only use `hash_to_field` for Elligator2, which uses 0 < COUNT <= 2\n assert!(COUNT == 1 || COUNT == 2);\n\n // §5.2, we generate count * m * L = COUNT * 1 * (256 + 128)/8 bytes\n let len_in_bytes = COUNT * 48;\n // Buffer should hold however many digests we need to produce len_in_bytes bytes.\n // len_in_bytes is at most 2*48=96, and the digest is 64B. So that's 2 digests, or 128B\n let mut buf = [0u8; 128];\n // We can call this without worrying about panics: len_in_bytes is at most 96, and buf is\n // bigger than it. Further, if `domain_sep` is too large, that's also a panic condition of\n // this function so it's fine\n let uniform_bytes = expand_msg_xmd::(msg, domain_sep, &mut buf, len_in_bytes);\n\n let mut result = [FieldElement::ONE; COUNT];\n for i in 0..COUNT {\n let mut bytes_wide = [0u8; 64];\n bytes_wide[..48].copy_from_slice(&uniform_bytes[48 * i..48 * (i + 1)]);\n bytes_wide[..48].reverse();\n\n result[i] = FieldElement::from_bytes_wide(&bytes_wide);\n }\n\n result\n }\n}\n\n/// Hashes the concatenation of the elements of `msg` with domain separator equal to the\n/// concatenation of `domain_sep`. The output is an `outlen`-length slice into `buf`. Follows\n/// https://www.rfc-editor.org/rfc/rfc9380.html#section-5.3.1\n///\n/// # Panics\n/// Panics if the domain separator is empty, if the total length of the domain separator is more\n/// than 255 bytes, if `outlen` is more than `255 * D::output_size()`, if `outlen is more than\n/// 65535, or if `dst.len() < outlen`.\n#[cfg(feature = \"digest\")]\nfn expand_msg_xmd<'a, D>(\n msg: &[&[u8]],\n domain_sep: &[&[u8]],\n buf: &'a mut [u8],\n outlen: usize,\n) -> &'a [u8]\nwhere\n D: BlockSizeUser + Default + FixedOutput + HashMarker,\n{\n use core::iter::once;\n\n // The notation we use in this function is the same as in the spec\n let len_in_bytes = u16::try_from(outlen).expect(\"outlen must not exceed 65535\");\n\n assert!(buf.len() >= outlen);\n let ell = u8::try_from((len_in_bytes as usize).div_ceil(D::output_size()))\n .expect(\"output length cannot exceed 255 times digest size\");\n let domain_sep_len = u8::try_from(domain_sep.iter().map(|c| c.len()).sum::())\n .expect(\"unexpected overflow from domain separator's size.\");\n assert_ne!(\n domain_sep_len, 0,\n \"domain separator MUST have nonzero length.\"\n );\n\n let domain_sep_len_slice = &[domain_sep_len][..];\n let dst_prime = domain_sep.iter().copied().chain(once(domain_sep_len_slice));\n let z_pad = Array::::default();\n let l_i_b_str = len_in_bytes.to_be_bytes();\n\n // Collect the components of msg_prime\n let msg_prime = once(z_pad.as_slice())\n .chain(msg.iter().copied())\n .chain(once(l_i_b_str.as_slice()))\n .chain(once(&[0u8][..]))\n .chain(dst_prime.clone());\n // Hash all of msg_prime\n let b_0 = msg_prime\n .fold(D::new(), |h, slice| h.chain_update(slice))\n .finalize();\n\n // Collect the input components for the b_1 hash\n let b_1_input = once(b_0.as_slice())\n .chain(once(&[1u8][..]))\n .chain(dst_prime.clone());\n let b_1 = b_1_input\n .fold(D::new(), |h, slice| h.chain_update(slice))\n .finalize();\n // Write b_1 to the output buffer\n buf[..D::output_size()].copy_from_slice(&b_1);\n\n for i in 2..=ell {\n // Get the last digest we produced\n let i_ = i as usize;\n let last_b = &buf[(i_ - 2) * D::output_size()..(i_ - 1) * D::output_size()];\n // XOR it with b_0\n let mut xor_bs = b_0.clone();\n xor_bs\n .as_mut_slice()\n .iter_mut()\n .zip(last_b)\n .for_each(|(l, r)| *l ^= *r);\n\n // Hash (b_0 ^ b_{i-1}) || i || dst_prime\n let i_slice = &[i][..];\n let b_i_input = once(xor_bs.as_slice())\n .chain(once(i_slice))\n .chain(dst_prime.clone());\n let b_i = b_i_input\n .fold(D::new(), |h, slice| h.chain_update(slice))\n .finalize();\n\n // Write b_i to the output buffer\n buf[(i_ - 1) * D::output_size()..i_ * D::output_size()].copy_from_slice(&b_i);\n }\n\n &buf[..outlen]\n}\n\n#[cfg(test)]\nmod test {\n use crate::field::*;\n use subtle::ConditionallyNegatable;\n\n /// Random element a of GF(2^255-19), from Sage\n /// a = 1070314506888354081329385823235218444233221\\\n /// 2228051251926706380353716438957572\n static A_BYTES: [u8; 32] = [\n 0x04, 0xfe, 0xdf, 0x98, 0xa7, 0xfa, 0x0a, 0x68, 0x84, 0x92, 0xbd, 0x59, 0x08, 0x07, 0xa7,\n 0x03, 0x9e, 0xd1, 0xf6, 0xf2, 0xe1, 0xd9, 0xe2, 0xa4, 0xa4, 0x51, 0x47, 0x36, 0xf3, 0xc3,\n 0xa9, 0x17,\n ];\n\n /// Byte representation of a**2\n static ASQ_BYTES: [u8; 32] = [\n 0x75, 0x97, 0x24, 0x9e, 0xe6, 0x06, 0xfe, 0xab, 0x24, 0x04, 0x56, 0x68, 0x07, 0x91, 0x2d,\n 0x5d, 0x0b, 0x0f, 0x3f, 0x1c, 0xb2, 0x6e, 0xf2, 0xe2, 0x63, 0x9c, 0x12, 0xba, 0x73, 0x0b,\n 0xe3, 0x62,\n ];\n\n /// Byte representation of 1/a\n static AINV_BYTES: [u8; 32] = [\n 0x96, 0x1b, 0xcd, 0x8d, 0x4d, 0x5e, 0xa2, 0x3a, 0xe9, 0x36, 0x37, 0x93, 0xdb, 0x7b, 0x4d,\n 0x70, 0xb8, 0x0d, 0xc0, 0x55, 0xd0, 0x4c, 0x1d, 0x7b, 0x90, 0x71, 0xd8, 0xe9, 0xb6, 0x18,\n 0xe6, 0x30,\n ];\n\n /// Byte representation of a^((p-5)/8)\n static AP58_BYTES: [u8; 32] = [\n 0x6a, 0x4f, 0x24, 0x89, 0x1f, 0x57, 0x60, 0x36, 0xd0, 0xbe, 0x12, 0x3c, 0x8f, 0xf5, 0xb1,\n 0x59, 0xe0, 0xf0, 0xb8, 0x1b, 0x20, 0xd2, 0xb5, 0x1f, 0x15, 0x21, 0xf9, 0xe3, 0xe1, 0x61,\n 0x21, 0x55,\n ];\n\n #[test]\n fn a_mul_a_vs_a_squared_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let asq = FieldElement::from_bytes(&ASQ_BYTES);\n assert_eq!(asq, &a * &a);\n }\n\n #[test]\n fn a_square_vs_a_squared_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let asq = FieldElement::from_bytes(&ASQ_BYTES);\n assert_eq!(asq, a.square());\n }\n\n #[test]\n fn a_square2_vs_a_squared_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let asq = FieldElement::from_bytes(&ASQ_BYTES);\n assert_eq!(a.square2(), &asq + &asq);\n }\n\n #[test]\n fn a_invert_vs_inverse_of_a_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let ainv = FieldElement::from_bytes(&AINV_BYTES);\n let should_be_inverse = a.invert();\n assert_eq!(ainv, should_be_inverse);\n assert_eq!(FieldElement::ONE, &a * &should_be_inverse);\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn invert_batch_a_matches_nonbatched() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let ap58 = FieldElement::from_bytes(&AP58_BYTES);\n let asq = FieldElement::from_bytes(&ASQ_BYTES);\n let ainv = FieldElement::from_bytes(&AINV_BYTES);\n let a0 = &a - &a;\n let a2 = &a + &a;\n let a_list = vec![a, ap58, asq, ainv, a0, a2];\n let mut ainv_list = a_list.clone();\n FieldElement::invert_batch_alloc(&mut ainv_list[..]);\n for i in 0..6 {\n assert_eq!(a_list[i].invert(), ainv_list[i]);\n }\n }\n\n #[test]\n fn sqrt_ratio_behavior() {\n let zero = FieldElement::ZERO;\n let one = FieldElement::ONE;\n let i = constants::SQRT_M1;\n let two = &one + &one; // 2 is nonsquare mod p.\n let four = &two + &two; // 4 is square mod p.\n\n // 0/0 should return (1, 0) since u is 0\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&zero, &zero);\n assert!(bool::from(choice));\n assert_eq!(sqrt, zero);\n assert!(bool::from(!sqrt.is_negative()));\n\n // 1/0 should return (0, 0) since v is 0, u is nonzero\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&one, &zero);\n assert!(bool::from(!choice));\n assert_eq!(sqrt, zero);\n assert!(bool::from(!sqrt.is_negative()));\n\n // 2/1 is nonsquare, so we expect (0, sqrt(i*2))\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&two, &one);\n assert!(bool::from(!choice));\n assert_eq!(sqrt.square(), &two * &i);\n assert!(bool::from(!sqrt.is_negative()));\n\n // 4/1 is square, so we expect (1, sqrt(4))\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&four, &one);\n assert!(bool::from(choice));\n assert_eq!(sqrt.square(), four);\n assert!(bool::from(!sqrt.is_negative()));\n\n // 1/4 is square, so we expect (1, 1/sqrt(4))\n let (choice, sqrt) = FieldElement::sqrt_ratio_i(&one, &four);\n assert!(bool::from(choice));\n assert_eq!(&sqrt.square() * &four, one);\n assert!(bool::from(!sqrt.is_negative()));\n }\n\n #[test]\n fn a_p58_vs_ap58_constant() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let ap58 = FieldElement::from_bytes(&AP58_BYTES);\n assert_eq!(ap58, a.pow_p58());\n }\n\n #[test]\n fn equality() {\n let a = FieldElement::from_bytes(&A_BYTES);\n let ainv = FieldElement::from_bytes(&AINV_BYTES);\n assert!(a == a);\n assert!(a != ainv);\n }\n\n /// Notice that the last element has the high bit set, which\n /// should be ignored\n static B_BYTES: [u8; 32] = [\n 113, 191, 169, 143, 91, 234, 121, 15, 241, 131, 217, 36, 230, 101, 92, 234, 8, 208, 170,\n 251, 97, 127, 70, 210, 58, 23, 166, 87, 240, 169, 184, 178,\n ];\n\n #[test]\n fn from_bytes_highbit_is_ignored() {\n let mut cleared_bytes = B_BYTES;\n cleared_bytes[31] &= 127u8;\n let with_highbit_set = FieldElement::from_bytes(&B_BYTES);\n let without_highbit_set = FieldElement::from_bytes(&cleared_bytes);\n assert_eq!(without_highbit_set, with_highbit_set);\n }\n\n #[test]\n fn conditional_negate() {\n let one = FieldElement::ONE;\n let minus_one = FieldElement::MINUS_ONE;\n let mut x = one;\n x.conditional_negate(Choice::from(1));\n assert_eq!(x, minus_one);\n x.conditional_negate(Choice::from(0));\n assert_eq!(x, minus_one);\n x.conditional_negate(Choice::from(1));\n assert_eq!(x, one);\n }\n\n #[test]\n fn encoding_is_canonical() {\n // Encode 1 wrongly as 1 + (2^255 - 19) = 2^255 - 18\n let one_encoded_wrongly_bytes: [u8; 32] = [\n 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0x7f,\n ];\n // Decode to a field element\n let one = FieldElement::from_bytes(&one_encoded_wrongly_bytes);\n // .. then check that the encoding is correct\n let one_bytes = one.to_bytes();\n assert_eq!(one_bytes[0], 1);\n for byte in &one_bytes[1..] {\n assert_eq!(*byte, 0);\n }\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn invert_batch_empty() {\n FieldElement::invert_batch_alloc(&mut []);\n }\n\n // The following two consts were generated with the following sage script:\n //\n // import random\n //\n // F = GF(2**255 - 19)\n // # Use a seed to make sure we produce the same test vectors every time\n // random.seed(\"Ozamataz Buckshank\")\n //\n // # Generates test vectors, each of the form (input_bytes, reduced_field_elem_bytes),\n // # where input_bytes is length input_bytes_len\n // def gen_example(input_bytes_len):\n // # Generate random bytes\n // input_bytes = [random.randint(0, 255) for _ in range(input_bytes_len)]\n //\n // # Now convert to a field element and get the reduced byte representation\n // elem = F(int.from_bytes(input_bytes, byteorder='little'))\n // reduced_bytes = list(int(elem).to_bytes(32, byteorder='little'))\n //\n // # Format input and output as hex strings\n // input_bytes_hex = ''.join(f'{byte:02x}' for byte in input_bytes)\n // reduced_bytes_hex = ''.join(f'{byte:02x}' for byte in reduced_bytes)\n // return f\"(\\\"{input_bytes_hex}\\\", \\\"{reduced_bytes_hex}\\\")\"\n //\n // print(\"SET 1: Input bytes are length 64\")\n // for _ in range(5):\n // print(gen_example(64))\n //\n // print(\"SET 2: Input bytes are length 48\")\n // for _ in range(5):\n // print(gen_example(48))\n\n /// Test vectors for FieldElement::from_bytes_wide. Elements are of the form (len-64 bytestring,\n /// reduced field element)\n #[cfg(feature = \"digest\")]\n const FROM_BYTES_WIDE_KAT_BIG: &[(&str, &str)] = &[\n (\n \"77b663085cac0e916f40dbeea5116f201816406e68ccf01b32a97162ae1d5bf95d0d01c2c72fbeeb27a63\\\n 5b85b715d5ce6f74118a60a7aec53c798ad648a482f\",\n \"62b38bd402c4498f5cead14643e54dd649e20a0810610e36a73f1f27a0a81f7e\",\n ),\n (\n \"d437c75ec79886650243a79c62933bb307eb12ff16d05db4a6a8a877f4a91abb6eeb64d2e20519c021799\\\n 3a1dc5639283a06639985a2c892208171503335afb5\",\n \"3d2ec29972783de9043e8b982278beaba9d7c5c3ebef257e7cd38168928f1c33\",\n ),\n (\n \"6daa9e1abe6c604fb6e841c04bf90a6ef88aef6b1eab17dd44f7207ef472cd2d54bac849f703e64f36e56\\\n 77e7e86b82be7d26aa220daf1f208bb36dcc1a12338\",\n \"28546a0e7303852bc6eead8312f06eeb48d9ca87f60bfeec98ba402ebb751703\",\n ),\n (\n \"c3920e326dbf806a50105be78263c1dc9390fb4741587b250cd758c2bfa3ed70faedbbc5f9b1d024e00fe\\\n 7d7daf796866853f42e72d638e6533c5eb5b7caf3c6\",\n \"40eaf38b802a7be1956ba7f3fe2d2ad717f23f40342deb5180cb55ae04bb1d79\",\n ),\n (\n \"23f143c72ead6c0f336b4e746a06921f0eb180002e8ce916d196de16216788617c6aeb90a074a85196f03\\\n 81375011248927c1215e9ec65b382a6ec556fb3f504\",\n \"b1bf354a04fd6d2e8321c24ecb3d3ed2c42e3f21c7b60ab8374effd7a709011e\",\n ),\n ];\n\n /// Test vectors for FieldElement::from_bytes_wide. Elements are of the form (len-48 bytestring,\n /// reduced field element)\n #[cfg(feature = \"digest\")]\n const FROM_BYTES_WIDE_KAT_MEDIUM: &[(&str, &str)] = &[\n (\n \"82e9cbe4928e3d0bbf1f91824a91acfb30d929f7a2fa5cbcc967c63ea0f3357c29c19f1bc9dcad69d85c1\\\n c6265970685\",\n \"989582fe6c540cbbdee7c612570aa7ba44d929f7a2fa5cbcc967c63ea0f3357c\",\n ),\n (\n \"5480494df4fb3a3b19da17e1c8b9192ccb09ec76720321977079300c42c17b9e95b01eb37ffe7048fcd1c\\\n 9e6094da6c4\",\n \"85b6d7e3e8c200fc8b050d234129c95ce809ec76720321977079300c42c17b1e\",\n ),\n (\n \"93ec8a480dde098f74bcd341ef4f248f6440cc6e631d7000784f66975a4fd628438bb1350ba4c1421fec3\\\n 670decced06\",\n \"8598e540b737c87718c9fae9f3b870966540cc6e631d7000784f66975a4fd628\",\n ),\n (\n \"fd0154ff9a5c4c9ee4e8183c23db97018e0e6201a812f6d4faedda50652d51f65c110b9a1a100a3fc3ff1\\\n c4ea3cf22e4\",\n \"b895f8dc8dc0caf9dfdf66d460adc2deaf0e6201a812f6d4faedda50652d5176\",\n ),\n (\n \"0e829dc955e0a1e0dbda9849cb2022b295275782348bd6308b3d0c5836f3ca0130911a17fd54054c3a0f8\\\n b2486f8ce85\",\n \"2e0f8f37e77d6c29831d3db6b404db8ea9275782348bd6308b3d0c5836f3ca01\",\n ),\n ];\n\n #[cfg(feature = \"digest\")]\n #[test]\n fn from_bytes_wide() {\n // Do the 64-byte input ones first\n for (input_bytes, expected_reduced) in FROM_BYTES_WIDE_KAT_BIG {\n let decoded_input =\n hex::decode(input_bytes).expect(\"64-byte reduction test vector hex must decode\");\n let decoded_input: [u8; 64] = decoded_input\n .as_slice()\n .try_into()\n .expect(\"64-byte reduction test vector must decode to 64 bytes\");\n let reduce_fe = FieldElement::from_bytes_wide(&decoded_input);\n assert_eq!(\n &reduce_fe.to_bytes(),\n hex::decode(expected_reduced)\n .expect(\"reduction result test vector hex must decode\")\n .as_slice()\n );\n }\n\n // Now do the 48-byte inputs\n for (input_bytes, expected_reduced) in FROM_BYTES_WIDE_KAT_MEDIUM {\n let mut padded_input_bytes = [0u8; 64];\n padded_input_bytes[..48].copy_from_slice(\n &hex::decode(input_bytes).expect(\"48-byte reduction test vector hex must decode\"),\n );\n let reduce_fe = FieldElement::from_bytes_wide(&padded_input_bytes);\n assert_eq!(\n &reduce_fe.to_bytes(),\n hex::decode(expected_reduced)\n .expect(\"reduction result test vector hex must decode\")\n .as_slice()\n );\n }\n }\n\n #[cfg(feature = \"digest\")]\n fn fe_from_test_vector(expected_hex: &str) -> FieldElement {\n let mut expected_hash =\n hex::decode(expected_hex).expect(\"hash-to-field test vector hex must decode\");\n expected_hash.reverse();\n let expected_hash: [u8; 32] = expected_hash\n .try_into()\n .expect(\"hash-to-field test vector must decode to 32 bytes\");\n FieldElement::from_bytes(&expected_hash)\n }\n\n /// Hash to field test vectors from\n /// https://www.rfc-editor.org/rfc/rfc9380.html#appendix-J.5.2\n /// These are of the form (input_msg, output_field_elem)\n #[cfg(feature = \"digest\")]\n const RFC_HASH_TO_FIELD_KAT: &[(&[u8], &str)] = &[\n (\n b\"\",\n \"7f3e7fb9428103ad7f52db32f9df32505d7b427d894c5093f7a0f0374a30641d\"\n ),\n (\n b\"abc\",\n \"09cfa30ad79bd59456594a0f5d3a76f6b71c6787b04de98be5cd201a556e253b\"\n ),\n (\n b\"abcdef0123456789\",\n \"475ccff99225ef90d78cc9338e9f6a6bb7b17607c0c4428937de75d33edba941\",\n ),\n (\n b\"q128_qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\\\n qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",\n \"049a1c8bd51bcb2aec339f387d1ff51428b88d0763a91bcdf6929814ac95d03d\"\n ),\n (\n b\"a512_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"3cb0178a8137cefa5b79a3a57c858d7eeeaa787b2781be4a362a2f0750d24fa0\"\n )\n ];\n\n #[test]\n #[cfg(feature = \"digest\")]\n fn hash_to_field() {\n use sha2::Sha512;\n let dst = \"QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_NU_\";\n\n for (msg, expected_hash_hex) in RFC_HASH_TO_FIELD_KAT {\n let fe = FieldElement::hash_to_field::(&[msg], &[dst.as_bytes()])[0];\n let expected_fe = fe_from_test_vector(expected_hash_hex);\n\n assert_eq!(fe, expected_fe);\n }\n }\n\n /// Hash to field test vectors from\n /// https://www.rfc-editor.org/rfc/rfc9380.html#appendix-J.5.1\n /// These are of the form (input_msg, output_field_elem, output_field_elem)\n #[cfg(feature = \"digest\")]\n const RFC_HASH_TO_FIELD_KAT_2: &[(&[u8], &str, &str)] = &[\n (\n b\"\",\n \"03fef4813c8cb5f98c6eef88fae174e6e7d5380de2b007799ac7ee712d203f3a\",\n \"780bdddd137290c8f589dc687795aafae35f6b674668d92bf92ae793e6a60c75\"\n ),\n (\n b\"abc\",\n \"5081955c4141e4e7d02ec0e36becffaa1934df4d7a270f70679c78f9bd57c227\",\n \"005bdc17a9b378b6272573a31b04361f21c371b256252ae5463119aa0b925b76\"\n ),\n (\n b\"abcdef0123456789\",\n \"285ebaa3be701b79871bcb6e225ecc9b0b32dff2d60424b4c50642636a78d5b3\",\n \"2e253e6a0ef658fedb8e4bd6a62d1544fd6547922acb3598ec6b369760b81b31\"\n ),\n (\n b\"q128_qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\\\n qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",\n \"4fedd25431c41f2a606952e2945ef5e3ac905a42cf64b8b4d4a83c533bf321af\",\n \"02f20716a5801b843987097a8276b6d869295b2e11253751ca72c109d37485a9\"\n ),\n (\n b\"a512_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"6e34e04a5106e9bd59f64aba49601bf09d23b27f7b594e56d5de06df4a4ea33b\",\n \"1c1c2cb59fc053f44b86c5d5eb8c1954b64976d0302d3729ff66e84068f5fd96\"\n )\n ];\n\n #[test]\n #[cfg(feature = \"digest\")]\n fn hash_to_field_2() {\n use sha2::Sha512;\n let dst = \"QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_RO_\";\n\n for (msg, expected_hash_hex_1, expected_hash_hex_2) in\n crate::field::test::RFC_HASH_TO_FIELD_KAT_2\n {\n let fe = FieldElement::hash_to_field::(&[msg], &[dst.as_bytes()]);\n\n let expected_fe_1 = fe_from_test_vector(expected_hash_hex_1);\n assert_eq!(fe[0], expected_fe_1);\n\n let expected_fe_2 = fe_from_test_vector(expected_hash_hex_2);\n assert_eq!(fe[1], expected_fe_2);\n }\n }\n}\n"},{"id":2,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/u64.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2018 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! The `u64` backend uses `u64`s and a `(u64, u64) -> u128` multiplier.\n//!\n//! On x86_64, the idiom `(x as u128) * (y as u128)` lowers to `MUL`\n//! instructions taking 64-bit inputs and producing 128-bit outputs. On\n//! other platforms, this implementation is not recommended.\n//!\n//! On Haswell and newer, the BMI2 extension provides `MULX`, and on\n//! Broadwell and newer, the ADX extension provides `ADCX` and `ADOX`\n//! (allowing the CPU to compute two carry chains in parallel). These\n//! will be used if available.\n\npub mod field;\n\npub mod scalar;\n\npub mod constants;\n"},{"id":3,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Serial implementations of field, scalar, point arithmetic.\n//!\n//! When the vector backend is disabled, the crate uses the mixed-model strategy\n//! for implementing point operations and scalar multiplication; see the\n//! [`curve_models`] and [`scalar_mul`] documentation for more information.\n//!\n//! When the vector backend is enabled, the field and scalar\n//! implementations are still used for non-vectorized operations.\n\n#[doc(hidden)]\npub mod u64;\n\npub mod curve_models;\n\npub mod scalar_mul;\n"},{"id":4,"name":{"Local":"curve25519/solana-ed25519/src/backend.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! **INTERNALS:** Pluggable implementations for different architectures.\n//!\n//! The backend code is split into two parts: a serial backend,\n//! and a vector backend.\n//!\n//! The [`serial`] backend contains 32- and 64-bit implementations of\n//! field arithmetic and scalar arithmetic, as well as implementations\n//! of point operations using the mixed-model strategy (passing\n//! between different curve models depending on the operation).\n//!\n//! The [`vector`] backend contains implementations of vectorized\n//! field arithmetic, used to implement point operations using a novel\n//! implementation strategy derived from parallel formulas of Hisil,\n//! Wong, Carter, and Dawson.\n//!\n//! Because the two strategies give rise to different curve models,\n//! it's not possible to reuse exactly the same scalar multiplication\n//! code (or to write it generically), so both serial and vector\n//! backends contain matching implementations of scalar multiplication\n//! algorithms. These are intended to be selected by a `#[cfg]`-based\n//! type alias.\n//!\n//! The [`vector`] backend is selected by the `simd_backend` cargo\n//! feature; it uses the [`serial`] backend for non-vectorized operations.\n\nuse crate::EdwardsPoint;\nuse crate::Scalar;\n\npub mod serial;\n\n#[cfg(target_arch = \"x86_64\")]\npub mod vector;\n\n#[derive(Copy, Clone)]\nenum BackendKind {\n #[cfg(target_arch = \"x86_64\")]\n Avx2,\n Serial,\n}\n\n#[inline]\nfn get_selected_backend() -> BackendKind {\n #[cfg(target_arch = \"x86_64\")]\n {\n cpufeatures::new!(cpuid_avx2, \"avx2\");\n let token_avx2: cpuid_avx2::InitToken = cpuid_avx2::init();\n if token_avx2.get() {\n return BackendKind::Avx2;\n }\n }\n\n BackendKind::Serial\n}\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub fn pippenger_optional_multiscalar_mul(scalars: I, points: J) -> Option\nwhere\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n J: IntoIterator>,\n{\n use crate::traits::VartimeMultiscalarMul;\n\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::pippenger::spec_avx2::Pippenger::optional_multiscalar_mul::(\n scalars, points,\n )\n }\n BackendKind::Serial => {\n serial::scalar_mul::pippenger::Pippenger::optional_multiscalar_mul::(\n scalars, points,\n )\n }\n }\n}\n\n#[cfg(feature = \"alloc\")]\npub(crate) enum VartimePrecomputedStraus {\n #[cfg(target_arch = \"x86_64\")]\n Avx2(vector::scalar_mul::precomputed_straus::spec_avx2::VartimePrecomputedStraus),\n Scalar(serial::scalar_mul::precomputed_straus::VartimePrecomputedStraus),\n}\n\n#[cfg(feature = \"alloc\")]\nimpl VartimePrecomputedStraus {\n pub fn new(static_points: I) -> Self\n where\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n {\n use crate::traits::VartimePrecomputedMultiscalarMul;\n\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => VartimePrecomputedStraus::Avx2(\n vector::scalar_mul::precomputed_straus::spec_avx2::VartimePrecomputedStraus::new(\n static_points,\n ),\n ),\n BackendKind::Serial => VartimePrecomputedStraus::Scalar(\n serial::scalar_mul::precomputed_straus::VartimePrecomputedStraus::new(\n static_points,\n ),\n ),\n }\n }\n\n /// Return the number of static points in the precomputation.\n pub fn len(&self) -> usize {\n use crate::traits::VartimePrecomputedMultiscalarMul;\n\n match self {\n #[cfg(target_arch = \"x86_64\")]\n VartimePrecomputedStraus::Avx2(inner) => inner.len(),\n VartimePrecomputedStraus::Scalar(inner) => inner.len(),\n }\n }\n\n /// Determine if the precomputation is empty.\n pub fn is_empty(&self) -> bool {\n use crate::traits::VartimePrecomputedMultiscalarMul;\n\n match self {\n #[cfg(target_arch = \"x86_64\")]\n VartimePrecomputedStraus::Avx2(inner) => inner.is_empty(),\n VartimePrecomputedStraus::Scalar(inner) => inner.is_empty(),\n }\n }\n\n pub fn optional_mixed_multiscalar_mul(\n &self,\n static_scalars: I,\n dynamic_scalars: J,\n dynamic_points: K,\n ) -> Option\n where\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n J: IntoIterator,\n J::Item: core::borrow::Borrow,\n K: IntoIterator>,\n {\n use crate::traits::VartimePrecomputedMultiscalarMul;\n\n match self {\n #[cfg(target_arch = \"x86_64\")]\n VartimePrecomputedStraus::Avx2(inner) => inner.optional_mixed_multiscalar_mul(\n static_scalars,\n dynamic_scalars,\n dynamic_points,\n ),\n VartimePrecomputedStraus::Scalar(inner) => inner.optional_mixed_multiscalar_mul(\n static_scalars,\n dynamic_scalars,\n dynamic_points,\n ),\n }\n }\n}\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub fn straus_multiscalar_mul(scalars: I, points: J) -> EdwardsPoint\nwhere\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n J: IntoIterator,\n J::Item: core::borrow::Borrow,\n{\n use crate::traits::MultiscalarMul;\n\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::straus::spec_avx2::Straus::multiscalar_mul::(scalars, points)\n }\n BackendKind::Serial => {\n serial::scalar_mul::straus::Straus::multiscalar_mul::(scalars, points)\n }\n }\n}\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub fn straus_optional_multiscalar_mul(scalars: I, points: J) -> Option\nwhere\n I: IntoIterator,\n I::Item: core::borrow::Borrow,\n J: IntoIterator>,\n{\n use crate::traits::VartimeMultiscalarMul;\n\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::straus::spec_avx2::Straus::optional_multiscalar_mul::(\n scalars, points,\n )\n }\n BackendKind::Serial => {\n serial::scalar_mul::straus::Straus::optional_multiscalar_mul::(scalars, points)\n }\n }\n}\n\n/// Perform constant-time, variable-base scalar multiplication.\npub fn variable_base_mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => vector::scalar_mul::variable_base::spec_avx2::mul(point, scalar),\n BackendKind::Serial => serial::scalar_mul::variable_base::mul(point, scalar),\n }\n}\n\n/// Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n#[allow(non_snake_case)]\npub fn vartime_double_base_mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => vector::scalar_mul::vartime_double_base::spec_avx2::mul(a, A, b),\n BackendKind::Serial => serial::scalar_mul::vartime_double_base::mul(a, A, b),\n }\n}\n\n/// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n///\n/// This function uses an optimized path when \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\),\n/// and falls back to general scalar multiplication otherwise.\n#[allow(non_snake_case)]\npub fn vartime_triple_base_mul_128_128_256(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n if !scalar_fits_in_128_bits(a1) || !scalar_fits_in_128_bits(a2) {\n return (a1 * A1) + (a2 * A2) + EdwardsPoint::mul_base(b);\n }\n\n vartime_triple_base_mul_128_128_256_prechecked(a1, A1, a2, A2, b)\n}\n\n/// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) using the optimized 128/128/256-bit path.\n///\n/// Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\).\n#[allow(non_snake_case)]\npub(crate) fn vartime_triple_base_mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::vartime_triple_base::spec_avx2::mul_128_128_256_prechecked(\n a1, A1, a2, A2, b,\n )\n }\n BackendKind::Serial => {\n serial::scalar_mul::vartime_triple_base::mul_128_128_256_prechecked(a1, A1, a2, A2, b)\n }\n }\n}\n\n#[inline]\nfn scalar_fits_in_128_bits(scalar: &Scalar) -> bool {\n scalar.as_bytes()[16..32].iter().all(|&byte| byte == 0)\n}\n"},{"id":5,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/u64/field.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Field arithmetic modulo \\\\(p = 2\\^{255} - 19\\\\), using \\\\(64\\\\)-bit\n//! limbs with \\\\(128\\\\)-bit products.\n\nuse core::fmt::Debug;\nuse core::ops::Neg;\nuse core::ops::{Add, AddAssign};\nuse core::ops::{Mul, MulAssign};\nuse core::ops::{Sub, SubAssign};\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::DefaultIsZeroes;\n\n/// A `FieldElement51` represents an element of the field\n/// \\\\( \\mathbb Z / (2\\^{255} - 19)\\\\).\n///\n/// In the 64-bit implementation, a `FieldElement` is represented in\n/// radix \\\\(2\\^{51}\\\\) as five `u64`s; the coefficients are allowed to\n/// grow up to \\\\(2\\^{54}\\\\) between reductions modulo \\\\(p\\\\).\n///\n/// # Note\n///\n/// The `curve25519::field` module provides a type alias\n/// `curve25519::field::FieldElement` to either `FieldElement51`\n/// or `FieldElement2625`.\n///\n/// The backend-specific type `FieldElement51` should not be used\n/// outside of the `curve25519::field` module.\n#[derive(Copy, Clone)]\npub struct FieldElement51(pub(crate) [u64; 5]);\n\nimpl Debug for FieldElement51 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl DefaultIsZeroes for FieldElement51 {}\n\nimpl<'a> AddAssign<&'a FieldElement51> for FieldElement51 {\n fn add_assign(&mut self, _rhs: &'a FieldElement51) {\n for i in 0..5 {\n self.0[i] += _rhs.0[i];\n }\n }\n}\n\nimpl<'a> Add<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n fn add(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n let mut output = *self;\n output += _rhs;\n output\n }\n}\n\nimpl<'a> SubAssign<&'a FieldElement51> for FieldElement51 {\n fn sub_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) - _rhs;\n self.0 = result.0;\n }\n}\n\nimpl<'a> Sub<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n fn sub(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n // To avoid underflow, first add a multiple of p.\n // Choose 16*p = p << 4 to be larger than 54-bit _rhs.\n //\n // If we could statically track the bitlengths of the limbs\n // of every FieldElement51, we could choose a multiple of p\n // just bigger than _rhs and avoid having to do a reduction.\n //\n // Since we don't yet have type-level integers to do this, we\n // have to add an explicit reduction call here.\n FieldElement51::reduce([\n (self.0[0] + 36028797018963664u64) - _rhs.0[0],\n (self.0[1] + 36028797018963952u64) - _rhs.0[1],\n (self.0[2] + 36028797018963952u64) - _rhs.0[2],\n (self.0[3] + 36028797018963952u64) - _rhs.0[3],\n (self.0[4] + 36028797018963952u64) - _rhs.0[4],\n ])\n }\n}\n\nimpl<'a> MulAssign<&'a FieldElement51> for FieldElement51 {\n fn mul_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) * _rhs;\n self.0 = result.0;\n }\n}\n\nimpl<'a> Mul<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n\n #[rustfmt::skip] // keep alignment of c* calculations\n fn mul(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n /// Helper function to multiply two 64-bit integers with 128\n /// bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 { (x as u128) * (y as u128) }\n\n // Alias self, _rhs for more readable formulas\n let a: &[u64; 5] = &self.0;\n let b: &[u64; 5] = &_rhs.0;\n\n // Precondition: assume input limbs a[i], b[i] are bounded as\n //\n // a[i], b[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // 64-bit precomputations to avoid 128-bit multiplications.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let b1_19 = b[1] * 19;\n let b2_19 = b[2] * 19;\n let b3_19 = b[3] * 19;\n let b4_19 = b[4] * 19;\n\n // Multiply to get 128-bit coefficients of output\n let c0: u128 = m(a[0], b[0]) + m(a[4], b1_19) + m(a[3], b2_19) + m(a[2], b3_19) + m(a[1], b4_19);\n let mut c1: u128 = m(a[1], b[0]) + m(a[0], b[1]) + m(a[4], b2_19) + m(a[3], b3_19) + m(a[2], b4_19);\n let mut c2: u128 = m(a[2], b[0]) + m(a[1], b[1]) + m(a[0], b[2]) + m(a[4], b3_19) + m(a[3], b4_19);\n let mut c3: u128 = m(a[3], b[0]) + m(a[2], b[1]) + m(a[1], b[2]) + m(a[0], b[3]) + m(a[4], b4_19);\n let mut c4: u128 = m(a[4], b[0]) + m(a[3], b[1]) + m(a[2], b[2]) + m(a[1], b[3]) + m(a[0] , b[4]);\n\n // How big are the c[i]? We have\n //\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54)); debug_assert!(b[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54)); debug_assert!(b[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54)); debug_assert!(b[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54)); debug_assert!(b[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54)); debug_assert!(b[4] < (1 << 54));\n\n // Casting to u64 and back tells the compiler that the carry is\n // bounded by 2^64, so that the addition is a u128 + u64 rather\n // than u128 + u128.\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n let mut out = [0u64; 5];\n\n c1 += ((c0 >> 51) as u64) as u128;\n out[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n out[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n out[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n out[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n out[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need out[0] + carry * 19 < 2^64.\n //\n // c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)\n // < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n out[0] += carry * 19;\n\n // Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n out[1] += out[0] >> 51;\n out[0] &= LOW_51_BIT_MASK;\n\n // Now out[i] < 2^(51 + epsilon) for all i.\n FieldElement51(out)\n }\n}\n\nimpl Neg for &FieldElement51 {\n type Output = FieldElement51;\n fn neg(self) -> FieldElement51 {\n let mut output = *self;\n output.negate();\n output\n }\n}\n\nimpl ConditionallySelectable for FieldElement51 {\n fn conditional_select(\n a: &FieldElement51,\n b: &FieldElement51,\n choice: Choice,\n ) -> FieldElement51 {\n FieldElement51([\n u64::conditional_select(&a.0[0], &b.0[0], choice),\n u64::conditional_select(&a.0[1], &b.0[1], choice),\n u64::conditional_select(&a.0[2], &b.0[2], choice),\n u64::conditional_select(&a.0[3], &b.0[3], choice),\n u64::conditional_select(&a.0[4], &b.0[4], choice),\n ])\n }\n\n fn conditional_swap(a: &mut FieldElement51, b: &mut FieldElement51, choice: Choice) {\n u64::conditional_swap(&mut a.0[0], &mut b.0[0], choice);\n u64::conditional_swap(&mut a.0[1], &mut b.0[1], choice);\n u64::conditional_swap(&mut a.0[2], &mut b.0[2], choice);\n u64::conditional_swap(&mut a.0[3], &mut b.0[3], choice);\n u64::conditional_swap(&mut a.0[4], &mut b.0[4], choice);\n }\n\n fn conditional_assign(&mut self, other: &FieldElement51, choice: Choice) {\n self.0[0].conditional_assign(&other.0[0], choice);\n self.0[1].conditional_assign(&other.0[1], choice);\n self.0[2].conditional_assign(&other.0[2], choice);\n self.0[3].conditional_assign(&other.0[3], choice);\n self.0[4].conditional_assign(&other.0[4], choice);\n }\n}\n\nimpl FieldElement51 {\n pub(crate) const fn from_limbs(limbs: [u64; 5]) -> FieldElement51 {\n FieldElement51(limbs)\n }\n\n /// The scalar \\\\( 0 \\\\).\n pub const ZERO: FieldElement51 = FieldElement51::from_limbs([0, 0, 0, 0, 0]);\n /// The scalar \\\\( 1 \\\\).\n pub const ONE: FieldElement51 = FieldElement51::from_limbs([1, 0, 0, 0, 0]);\n /// The scalar \\\\( -1 \\\\).\n pub const MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n ]);\n\n /// Invert the sign of this field element\n pub fn negate(&mut self) {\n // See commentary in the Sub impl\n let neg = FieldElement51::reduce([\n 36028797018963664u64 - self.0[0],\n 36028797018963952u64 - self.0[1],\n 36028797018963952u64 - self.0[2],\n 36028797018963952u64 - self.0[3],\n 36028797018963952u64 - self.0[4],\n ]);\n self.0 = neg.0;\n }\n\n /// Given 64-bit input limbs, reduce to enforce the bound 2^(51 + epsilon).\n #[inline(always)]\n fn reduce(mut limbs: [u64; 5]) -> FieldElement51 {\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n\n // Since the input limbs are bounded by 2^64, the biggest\n // carry-out is bounded by 2^13.\n //\n // The biggest carry-in is c4 * 19, resulting in\n //\n // 2^51 + 19*2^13 < 2^51.0000000001\n //\n // Because we don't need to canonicalize, only to reduce the\n // limb sizes, it's OK to do a \"weak reduction\", where we\n // compute the carry-outs in parallel.\n\n let c0 = limbs[0] >> 51;\n let c1 = limbs[1] >> 51;\n let c2 = limbs[2] >> 51;\n let c3 = limbs[3] >> 51;\n let c4 = limbs[4] >> 51;\n\n limbs[0] &= LOW_51_BIT_MASK;\n limbs[1] &= LOW_51_BIT_MASK;\n limbs[2] &= LOW_51_BIT_MASK;\n limbs[3] &= LOW_51_BIT_MASK;\n limbs[4] &= LOW_51_BIT_MASK;\n\n limbs[0] += c4 * 19;\n limbs[1] += c0;\n limbs[2] += c1;\n limbs[3] += c2;\n limbs[4] += c3;\n\n FieldElement51(limbs)\n }\n\n /// Load a `FieldElement51` from the low 255 bits of a 256-bit\n /// input.\n ///\n /// # Warning\n ///\n /// This function does not check that the input used the canonical\n /// representative. It masks the high bit, but it will happily\n /// decode 2^255 - 18 to 1. Applications that require a canonical\n /// encoding of every field element should decode, re-encode to\n /// the canonical encoding, and check that the input was\n /// canonical.\n ///\n #[rustfmt::skip] // keep alignment of bit shifts\n pub const fn from_bytes(bytes: &[u8; 32]) -> FieldElement51 {\n const fn load8_at(input: &[u8], i: usize) -> u64 {\n (input[i] as u64)\n | ((input[i + 1] as u64) << 8)\n | ((input[i + 2] as u64) << 16)\n | ((input[i + 3] as u64) << 24)\n | ((input[i + 4] as u64) << 32)\n | ((input[i + 5] as u64) << 40)\n | ((input[i + 6] as u64) << 48)\n | ((input[i + 7] as u64) << 56)\n }\n\n let low_51_bit_mask = (1u64 << 51) - 1;\n FieldElement51(\n // load bits [ 0, 64), no shift\n [ load8_at(bytes, 0) & low_51_bit_mask\n // load bits [ 48,112), shift to [ 51,112)\n , (load8_at(bytes, 6) >> 3) & low_51_bit_mask\n // load bits [ 96,160), shift to [102,160)\n , (load8_at(bytes, 12) >> 6) & low_51_bit_mask\n // load bits [152,216), shift to [153,216)\n , (load8_at(bytes, 19) >> 1) & low_51_bit_mask\n // load bits [192,256), shift to [204,112)\n , (load8_at(bytes, 24) >> 12) & low_51_bit_mask\n ])\n }\n\n /// Serialize this `FieldElement51` to a 32-byte array. The\n /// encoding is canonical.\n #[rustfmt::skip] // keep alignment of s[*] calculations\n pub fn to_bytes(self) -> [u8; 32] {\n // Let h = limbs[0] + limbs[1]*2^51 + ... + limbs[4]*2^204.\n //\n // Write h = pq + r with 0 <= r < p.\n //\n // We want to compute r = h mod p.\n //\n // If h < 2*p = 2^256 - 38,\n // then q = 0 or 1,\n //\n // with q = 0 when h < p\n // and q = 1 when h >= p.\n //\n // Notice that h >= p <==> h + 19 >= p + 19 <==> h + 19 >= 2^255.\n // Therefore q can be computed as the carry bit of h + 19.\n\n // First, reduce the limbs to ensure h < 2*p.\n let mut limbs = FieldElement51::reduce(self.0).0;\n\n let mut q = (limbs[0] + 19) >> 51;\n q = (limbs[1] + q) >> 51;\n q = (limbs[2] + q) >> 51;\n q = (limbs[3] + q) >> 51;\n q = (limbs[4] + q) >> 51;\n\n // Now we can compute r as r = h - pq = r - (2^255-19)q = r + 19q - 2^255q\n\n limbs[0] += 19 * q;\n\n // Now carry the result to compute r + 19q ...\n let low_51_bit_mask = (1u64 << 51) - 1;\n limbs[1] += limbs[0] >> 51;\n limbs[0] &= low_51_bit_mask;\n limbs[2] += limbs[1] >> 51;\n limbs[1] &= low_51_bit_mask;\n limbs[3] += limbs[2] >> 51;\n limbs[2] &= low_51_bit_mask;\n limbs[4] += limbs[3] >> 51;\n limbs[3] &= low_51_bit_mask;\n // ... but instead of carrying (limbs[4] >> 51) = 2^255q\n // into another limb, discard it, subtracting the value\n limbs[4] &= low_51_bit_mask;\n\n // Now arrange the bits of the limbs.\n let mut s = [0u8;32];\n s[ 0] = limbs[0] as u8;\n s[ 1] = (limbs[0] >> 8) as u8;\n s[ 2] = (limbs[0] >> 16) as u8;\n s[ 3] = (limbs[0] >> 24) as u8;\n s[ 4] = (limbs[0] >> 32) as u8;\n s[ 5] = (limbs[0] >> 40) as u8;\n s[ 6] = ((limbs[0] >> 48) | (limbs[1] << 3)) as u8;\n s[ 7] = (limbs[1] >> 5) as u8;\n s[ 8] = (limbs[1] >> 13) as u8;\n s[ 9] = (limbs[1] >> 21) as u8;\n s[10] = (limbs[1] >> 29) as u8;\n s[11] = (limbs[1] >> 37) as u8;\n s[12] = ((limbs[1] >> 45) | (limbs[2] << 6)) as u8;\n s[13] = (limbs[2] >> 2) as u8;\n s[14] = (limbs[2] >> 10) as u8;\n s[15] = (limbs[2] >> 18) as u8;\n s[16] = (limbs[2] >> 26) as u8;\n s[17] = (limbs[2] >> 34) as u8;\n s[18] = (limbs[2] >> 42) as u8;\n s[19] = ((limbs[2] >> 50) | (limbs[3] << 1)) as u8;\n s[20] = (limbs[3] >> 7) as u8;\n s[21] = (limbs[3] >> 15) as u8;\n s[22] = (limbs[3] >> 23) as u8;\n s[23] = (limbs[3] >> 31) as u8;\n s[24] = (limbs[3] >> 39) as u8;\n s[25] = ((limbs[3] >> 47) | (limbs[4] << 4)) as u8;\n s[26] = (limbs[4] >> 4) as u8;\n s[27] = (limbs[4] >> 12) as u8;\n s[28] = (limbs[4] >> 20) as u8;\n s[29] = (limbs[4] >> 28) as u8;\n s[30] = (limbs[4] >> 36) as u8;\n s[31] = (limbs[4] >> 44) as u8;\n\n // High bit should be zero.\n debug_assert!((s[31] & 0b1000_0000u8) == 0u8);\n\n s\n }\n\n /// Given `k > 0`, return `self^(2^k)`.\n #[rustfmt::skip] // keep alignment of c* calculations\n pub fn pow2k(&self, mut k: u32) -> FieldElement51 {\n\n debug_assert!( k > 0 );\n\n /// Multiply two 64-bit integers with 128 bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 {\n (x as u128) * (y as u128)\n }\n\n let mut a: [u64; 5] = self.0;\n\n loop {\n // Precondition: assume input limbs a[i] are bounded as\n //\n // a[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // Precomputation: 64-bit multiply by 19.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let a3_19 = 19 * a[3];\n let a4_19 = 19 * a[4];\n\n // Multiply to get 128-bit coefficients of output.\n //\n // The 128-bit multiplications by 2 turn into 1 slr + 1 slrd each,\n // which doesn't seem any better or worse than doing them as precomputations\n // on the 64-bit inputs.\n let c0: u128 = m(a[0], a[0]) + 2*( m(a[1], a4_19) + m(a[2], a3_19) );\n let mut c1: u128 = m(a[3], a3_19) + 2*( m(a[0], a[1]) + m(a[2], a4_19) );\n let mut c2: u128 = m(a[1], a[1]) + 2*( m(a[0], a[2]) + m(a[4], a3_19) );\n let mut c3: u128 = m(a[4], a4_19) + 2*( m(a[0], a[3]) + m(a[1], a[2]) );\n let mut c4: u128 = m(a[2], a[2]) + 2*( m(a[0], a[4]) + m(a[1], a[3]) );\n\n // Same bound as in multiply:\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54));\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n\n // Casting to u64 and back tells the compiler that the carry is bounded by 2^64, so\n // that the addition is a u128 + u64 rather than u128 + u128.\n c1 += ((c0 >> 51) as u64) as u128;\n a[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n a[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n a[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n a[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n a[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need a[0] + carry * 19 < 2^64.\n //\n // c4 < a2^2 + 2*a0*a4 + 2*a1*a3 + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // a[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n a[0] += carry * 19;\n\n // Now a[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n a[1] += a[0] >> 51;\n a[0] &= LOW_51_BIT_MASK;\n\n // Now all a[i] < 2^(51 + epsilon) and a = self^(2^k).\n\n k -= 1;\n if k == 0 {\n break;\n }\n }\n\n FieldElement51(a)\n }\n\n /// Returns the square of this field element.\n pub fn square(&self) -> FieldElement51 {\n self.pow2k(1)\n }\n\n /// Returns 2 times the square of this field element.\n pub fn square2(&self) -> FieldElement51 {\n let mut square = self.pow2k(1);\n for i in 0..5 {\n square.0[i] *= 2;\n }\n\n square\n }\n}\n"},{"id":6,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/curve_models.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Internal curve representations which are not part of the public API.\n//!\n//! # Curve representations\n//!\n//! Internally, we use several different models for the curve. Here\n//! is a sketch of the relationship between the models, following [a\n//! post][smith-moderncrypto]\n//! by Ben Smith on the `moderncrypto` mailing list. This is also briefly\n//! discussed in section 2.5 of [_Montgomery curves and their\n//! arithmetic_][costello-smith-2017] by Costello and Smith.\n//!\n//! Begin with the affine equation for the curve,\n//! $$\n//! -x\\^2 + y\\^2 = 1 + dx\\^2y\\^2.\n//! $$\n//! Next, pass to the projective closure \\\\(\\mathbb P\\^1 \\times \\mathbb\n//! P\\^1 \\\\) by setting \\\\(x=X/Z\\\\), \\\\(y=Y/T.\\\\) Clearing denominators\n//! gives the model\n//! $$\n//! -X\\^2T\\^2 + Y\\^2Z\\^2 = Z\\^2T\\^2 + dX\\^2Y\\^2.\n//! $$\n//! In `curve25519-dalek`, this is represented as the `CompletedPoint`\n//! struct.\n//! To map from \\\\(\\mathbb P\\^1 \\times \\mathbb P\\^1 \\\\), a product of\n//! two lines, to \\\\(\\mathbb P\\^3\\\\), we use the [Segre\n//! embedding](https://en.wikipedia.org/wiki/Segre_embedding)\n//! $$\n//! \\sigma : ((X:Z),(Y:T)) \\mapsto (XY:XT:ZY:ZT).\n//! $$\n//! Using coordinates \\\\( (W_0:W_1:W_2:W_3) \\\\) for \\\\(\\mathbb P\\^3\\\\),\n//! the image \\\\(\\sigma (\\mathbb P\\^1 \\times \\mathbb P\\^1) \\\\) is the\n//! surface defined by \\\\( W_0 W_3 = W_1 W_2 \\\\), and under \\\\(\n//! \\sigma\\\\), the equation above becomes\n//! $$\n//! -W\\_1\\^2 + W\\_2\\^2 = W\\_3\\^2 + dW\\_0\\^2,\n//! $$\n//! so that the curve is given by the pair of equations\n//! $$\n//! \\begin{aligned}\n//! -W\\_1\\^2 + W\\_2\\^2 &= W\\_3\\^2 + dW\\_0\\^2, \\\\\\\\ W_0 W_3 &= W_1 W_2.\n//! \\end{aligned}\n//! $$\n//! Up to variable naming, this is exactly the \"extended\" curve model\n//! introduced in [_Twisted Edwards Curves\n//! Revisited_][hisil-wong-carter-dawson-2008] by Hisil, Wong, Carter,\n//! and Dawson. In `curve25519-dalek`, it is represented as the\n//! `EdwardsPoint` struct. We can map from \\\\(\\mathbb P\\^3 \\\\) to\n//! \\\\(\\mathbb P\\^2 \\\\) by sending \\\\( (W\\_0:W\\_1:W\\_2:W\\_3) \\\\) to \\\\(\n//! (W\\_1:W\\_2:W\\_3) \\\\). Notice that\n//! $$\n//! \\frac {W\\_1} {W\\_3} = \\frac {XT} {ZT} = \\frac X Z = x,\n//! $$\n//! and\n//! $$\n//! \\frac {W\\_2} {W\\_3} = \\frac {YZ} {ZT} = \\frac Y T = y,\n//! $$\n//! so this is the same as if we had started with the affine model\n//! and passed to \\\\( \\mathbb P\\^2 \\\\) by setting \\\\( x = W\\_1 / W\\_3\n//! \\\\), \\\\(y = W\\_2 / W\\_3 \\\\).\n//! Up to variable naming, this is the projective representation\n//! introduced in [_Twisted Edwards\n//! Curves_][bernstein-birkner-joye-lange-peters-2008] by Bernstein,\n//! Birkner, Joye, Lange, and Peters. In `curve25519-dalek`, it is\n//! represented by the `ProjectivePoint` struct.\n//!\n//! # Passing between curve models\n//!\n//! Although the \\\\( \\mathbb P\\^3 \\\\) model provides faster addition\n//! formulas, the \\\\( \\mathbb P\\^2 \\\\) model provides faster doubling\n//! formulas. Hisil, Wong, Carter, and Dawson therefore suggest mixing\n//! coordinate systems for scalar multiplication, attributing the idea\n//! to [a 1998 paper][cohen-miyaji-ono-1998] of Cohen, Miyagi, and Ono.\n//!\n//! Their suggestion is to vary the formulas used by context, using a\n//! \\\\( \\mathbb P\\^2 \\rightarrow \\mathbb P\\^2 \\\\) doubling formula when\n//! a doubling is followed\n//! by another doubling, a \\\\( \\mathbb P\\^2 \\rightarrow \\mathbb P\\^3 \\\\)\n//! doubling formula when a doubling is followed by an addition, and\n//! computing point additions using a \\\\( \\mathbb P\\^3 \\times \\mathbb P\\^3\n//! \\rightarrow \\mathbb P\\^2 \\\\) formula.\n//!\n//! The `ref10` reference implementation of [Ed25519][ed25519], by\n//! Bernstein, Duif, Lange, Schwabe, and Yang, tweaks\n//! this strategy, factoring the addition formulas through the\n//! completion \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1 \\\\), so that the\n//! output of an addition or doubling always lies in \\\\( \\mathbb P\\^1 \\times\n//! \\mathbb P\\^1\\\\), and the choice of which formula to use is replaced\n//! by a choice of whether to convert the result to \\\\( \\mathbb P\\^2 \\\\)\n//! or \\\\(\\mathbb P\\^3 \\\\). However, this tweak is not described in\n//! their paper, only in their software.\n//!\n//! Our naming for the `CompletedPoint` (\\\\(\\mathbb P\\^1 \\times \\mathbb\n//! P\\^1 \\\\)), `ProjectivePoint` (\\\\(\\mathbb P\\^2 \\\\)), and\n//! `EdwardsPoint` (\\\\(\\mathbb P\\^3 \\\\)) structs follows the naming in\n//! Adam Langley's [Golang ed25519][agl-ed25519] implementation, which\n//! `curve25519-dalek` was originally derived from.\n//!\n//! Finally, to accelerate readditions, we use two cached point formats\n//! in \"Niels coordinates\", named for Niels Duif,\n//! one for the affine model and one for the \\\\( \\mathbb P\\^3 \\\\) model:\n//!\n//! * `AffineNielsPoint`: \\\\( (y+x, y-x, 2dxy) \\\\)\n//! * `ProjectiveNielsPoint`: \\\\( (Y+X, Y-X, Z, 2dXY) \\\\)\n//!\n//! [smith-moderncrypto]: https://moderncrypto.org/mail-archive/curves/2016/000807.html\n//! [costello-smith-2017]: https://eprint.iacr.org/2017/212\n//! [hisil-wong-carter-dawson-2008]: https://www.iacr.org/archive/asiacrypt2008/53500329/53500329.pdf\n//! [bernstein-birkner-joye-lange-peters-2008]: https://eprint.iacr.org/2008/013\n//! [cohen-miyaji-ono-1998]: https://link.springer.com/content/pdf/10.1007%2F3-540-49649-1_6.pdf\n//! [ed25519]: https://eprint.iacr.org/2011/368\n//! [agl-ed25519]: https://github.com/agl/ed25519\n\n#![allow(non_snake_case)]\n\nuse core::fmt::Debug;\nuse core::ops::{Add, Neg, Sub};\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\nuse crate::constants;\n\nuse crate::edwards::EdwardsPoint;\nuse crate::field::FieldElement;\nuse crate::traits::ValidityCheck;\n\n// ------------------------------------------------------------------------\n// Internal point representations\n// ------------------------------------------------------------------------\n\n/// A `ProjectivePoint` is a point \\\\((X:Y:Z)\\\\) on the \\\\(\\mathbb\n/// P\\^2\\\\) model of the curve.\n/// A point \\\\((x,y)\\\\) in the affine model corresponds to\n/// \\\\((x:y:1)\\\\).\n///\n/// More details on the relationships between the different curve models\n/// can be found in the module-level documentation.\n#[allow(missing_docs)]\n#[derive(Copy, Clone)]\npub struct ProjectivePoint {\n pub X: FieldElement,\n pub Y: FieldElement,\n pub Z: FieldElement,\n}\n\n/// A `CompletedPoint` is a point \\\\(((X:Z), (Y:T))\\\\) on the \\\\(\\mathbb\n/// P\\^1 \\times \\mathbb P\\^1 \\\\) model of the curve.\n/// A point (x,y) in the affine model corresponds to \\\\( ((x:1),(y:1))\n/// \\\\).\n///\n/// More details on the relationships between the different curve models\n/// can be found in the module-level documentation.\n#[derive(Copy, Clone)]\n#[allow(missing_docs)]\npub struct CompletedPoint {\n pub X: FieldElement,\n pub Y: FieldElement,\n pub Z: FieldElement,\n pub T: FieldElement,\n}\n\n/// A pre-computed point in the affine model for the curve, represented as\n/// \\\\((y+x, y-x, 2dxy)\\\\) in \"Niels coordinates\".\n///\n/// More details on the relationships between the different curve models\n/// can be found in the module-level documentation.\n// Safe to derive Eq because affine coordinates.\n#[derive(Copy, Clone, Eq, PartialEq)]\n#[allow(missing_docs)]\npub struct AffineNielsPoint {\n pub y_plus_x: FieldElement,\n pub y_minus_x: FieldElement,\n pub xy2d: FieldElement,\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for AffineNielsPoint {\n fn zeroize(&mut self) {\n self.y_plus_x.zeroize();\n self.y_minus_x.zeroize();\n self.xy2d.zeroize();\n }\n}\n\n/// A pre-computed point on the \\\\( \\mathbb P\\^3 \\\\) model for the\n/// curve, represented as \\\\((Y+X, Y-X, Z, 2dXY)\\\\) in \"Niels coordinates\".\n///\n/// More details on the relationships between the different curve models\n/// can be found in the module-level documentation.\n#[derive(Copy, Clone)]\n#[allow(missing_docs)]\npub struct ProjectiveNielsPoint {\n pub Y_plus_X: FieldElement,\n pub Y_minus_X: FieldElement,\n pub Z: FieldElement,\n pub T2d: FieldElement,\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for ProjectiveNielsPoint {\n fn zeroize(&mut self) {\n self.Y_plus_X.zeroize();\n self.Y_minus_X.zeroize();\n self.Z.zeroize();\n self.T2d.zeroize();\n }\n}\n\n// ------------------------------------------------------------------------\n// Constructors\n// ------------------------------------------------------------------------\n\nuse crate::traits::Identity;\n\nimpl Identity for ProjectivePoint {\n fn identity() -> ProjectivePoint {\n ProjectivePoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n }\n }\n}\n\nimpl Identity for ProjectiveNielsPoint {\n fn identity() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::ONE,\n Y_minus_X: FieldElement::ONE,\n Z: FieldElement::ONE,\n T2d: FieldElement::ZERO,\n }\n }\n}\n\nimpl Default for ProjectiveNielsPoint {\n fn default() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint::identity()\n }\n}\n\nimpl Identity for AffineNielsPoint {\n fn identity() -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: FieldElement::ONE,\n y_minus_x: FieldElement::ONE,\n xy2d: FieldElement::ZERO,\n }\n }\n}\n\nimpl Default for AffineNielsPoint {\n fn default() -> AffineNielsPoint {\n AffineNielsPoint::identity()\n }\n}\n\n// ------------------------------------------------------------------------\n// Validity checks (for debugging, not CT)\n// ------------------------------------------------------------------------\n\nimpl ValidityCheck for ProjectivePoint {\n fn is_valid(&self) -> bool {\n // Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,\n // homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ = self.Z.square();\n let ZZZZ = ZZ.square();\n let lhs = &(&YY - &XX) * &ZZ;\n let rhs = &ZZZZ + &(&constants::EDWARDS_D * &(&XX * &YY));\n\n lhs == rhs\n }\n}\n\n// ------------------------------------------------------------------------\n// Constant-time assignment\n// ------------------------------------------------------------------------\n\nimpl ConditionallySelectable for ProjectiveNielsPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::conditional_select(&a.Y_plus_X, &b.Y_plus_X, choice),\n Y_minus_X: FieldElement::conditional_select(&a.Y_minus_X, &b.Y_minus_X, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T2d: FieldElement::conditional_select(&a.T2d, &b.T2d, choice),\n }\n }\n\n fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.Y_plus_X.conditional_assign(&other.Y_plus_X, choice);\n self.Y_minus_X.conditional_assign(&other.Y_minus_X, choice);\n self.Z.conditional_assign(&other.Z, choice);\n self.T2d.conditional_assign(&other.T2d, choice);\n }\n}\n\nimpl ConditionallySelectable for AffineNielsPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n AffineNielsPoint {\n y_plus_x: FieldElement::conditional_select(&a.y_plus_x, &b.y_plus_x, choice),\n y_minus_x: FieldElement::conditional_select(&a.y_minus_x, &b.y_minus_x, choice),\n xy2d: FieldElement::conditional_select(&a.xy2d, &b.xy2d, choice),\n }\n }\n\n fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.y_plus_x.conditional_assign(&other.y_plus_x, choice);\n self.y_minus_x.conditional_assign(&other.y_minus_x, choice);\n self.xy2d.conditional_assign(&other.xy2d, choice);\n }\n}\n\n// ------------------------------------------------------------------------\n// Point conversions\n// ------------------------------------------------------------------------\n\nimpl ProjectivePoint {\n /// Convert this point from the \\\\( \\mathbb P\\^2 \\\\) model to the\n /// \\\\( \\mathbb P\\^3 \\\\) model.\n ///\n /// This costs \\\\(3 \\mathrm M + 1 \\mathrm S\\\\).\n pub fn as_extended(&self) -> EdwardsPoint {\n EdwardsPoint {\n X: &self.X * &self.Z,\n Y: &self.Y * &self.Z,\n Z: self.Z.square(),\n T: &self.X * &self.Y,\n }\n }\n}\n\nimpl CompletedPoint {\n /// Convert this point from the \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1\n /// \\\\) model to the \\\\( \\mathbb P\\^2 \\\\) model.\n ///\n /// This costs \\\\(3 \\mathrm M \\\\).\n pub fn as_projective(&self) -> ProjectivePoint {\n ProjectivePoint {\n X: &self.X * &self.T,\n Y: &self.Y * &self.Z,\n Z: &self.Z * &self.T,\n }\n }\n\n /// Convert this point from the \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1\n /// \\\\) model to the \\\\( \\mathbb P\\^3 \\\\) model.\n ///\n /// This costs \\\\(4 \\mathrm M \\\\).\n pub fn as_extended(&self) -> EdwardsPoint {\n EdwardsPoint {\n X: &self.X * &self.T,\n Y: &self.Y * &self.Z,\n Z: &self.Z * &self.T,\n T: &self.X * &self.Y,\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Doubling\n// ------------------------------------------------------------------------\n\nimpl ProjectivePoint {\n /// Double this point: return self + self\n pub fn double(&self) -> CompletedPoint {\n // Double()\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ2 = self.Z.square2();\n let X_plus_Y = &self.X + &self.Y;\n let X_plus_Y_sq = X_plus_Y.square();\n let YY_plus_XX = &YY + &XX;\n let YY_minus_XX = &YY - &XX;\n\n CompletedPoint {\n X: &X_plus_Y_sq - &YY_plus_XX,\n Y: YY_plus_XX,\n Z: YY_minus_XX,\n T: &ZZ2 - &YY_minus_XX,\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Addition and Subtraction\n// ------------------------------------------------------------------------\n\n// XXX(hdevalence) These were doc(hidden) so they don't appear in the\n// public API docs.\n// However, that prevents them being used with --document-private-items,\n// so comment out the doc(hidden) for now until this is resolved\n//\n// upstream rust issue: https://github.com/rust-lang/rust/issues/46380\n//#[doc(hidden)]\nimpl<'a> Add<&'a ProjectiveNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn add(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.Y_plus_X;\n let MM = &Y_minus_X * &other.Y_minus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &ZZ2 + &TT2d,\n T: &ZZ2 - &TT2d,\n }\n }\n}\n\n//#[doc(hidden)]\nimpl<'a> Sub<&'a ProjectiveNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn sub(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.Y_minus_X;\n let MP = &Y_minus_X * &other.Y_plus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &ZZ2 - &TT2d,\n T: &ZZ2 + &TT2d,\n }\n }\n}\n\n//#[doc(hidden)]\nimpl<'a> Add<&'a AffineNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn add(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.y_plus_x;\n let MM = &Y_minus_X * &other.y_minus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &Z2 + &Txy2d,\n T: &Z2 - &Txy2d,\n }\n }\n}\n\n//#[doc(hidden)]\nimpl<'a> Sub<&'a AffineNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn sub(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.y_minus_x;\n let MP = &Y_minus_X * &other.y_plus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &Z2 - &Txy2d,\n T: &Z2 + &Txy2d,\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Negation\n// ------------------------------------------------------------------------\n\nimpl Neg for &ProjectiveNielsPoint {\n type Output = ProjectiveNielsPoint;\n\n fn neg(self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: self.Y_minus_X,\n Y_minus_X: self.Y_plus_X,\n Z: self.Z,\n T2d: -(&self.T2d),\n }\n }\n}\n\nimpl Neg for &AffineNielsPoint {\n type Output = AffineNielsPoint;\n\n fn neg(self) -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: self.y_minus_x,\n y_minus_x: self.y_plus_x,\n xy2d: -(&self.xy2d),\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Debug traits\n// ------------------------------------------------------------------------\n\nimpl Debug for ProjectivePoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectivePoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z\n )\n }\n}\n\nimpl Debug for CompletedPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"CompletedPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }\n}\n\nimpl Debug for AffineNielsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"AffineNielsPoint{{\\n\\ty_plus_x: {:?},\\n\\ty_minus_x: {:?},\\n\\txy2d: {:?}\\n}}\",\n &self.y_plus_x, &self.y_minus_x, &self.xy2d\n )\n }\n}\n\nimpl Debug for ProjectiveNielsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectiveNielsPoint{{\\n\\tY_plus_X: {:?},\\n\\tY_minus_X: {:?},\\n\\tZ: {:?},\\n\\tT2d: {:?}\\n}}\",\n &self.Y_plus_X, &self.Y_minus_X, &self.Z, &self.T2d\n )\n }\n}\n"},{"id":7,"name":{"Local":"curve25519/solana-ed25519/src/edwards.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2020 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Group operations for Curve25519, in Edwards form.\n//!\n//! ## Encoding and Decoding\n//!\n//! Encoding is done by converting to and from a `CompressedEdwardsY`\n//! struct, which is a typed wrapper around `[u8; 32]`.\n//!\n//! ## Equality Testing\n//!\n//! The `EdwardsPoint` struct implements the [`subtle::ConstantTimeEq`]\n//! trait for constant-time equality checking, and also uses this to\n//! ensure `Eq` equality checking runs in constant time.\n//!\n//! ## Cofactor-related functions\n//!\n//! The order of the group of points on the curve \\\\(\\mathcal E\\\\)\n//! is \\\\(|\\mathcal E| = 8\\ell \\\\), so its structure is \\\\( \\mathcal\n//! E = \\mathcal E\\[8\\] \\times \\mathcal E[\\ell]\\\\). The torsion\n//! subgroup \\\\( \\mathcal E\\[8\\] \\\\) consists of eight points of small\n//! order. Technically, all of \\\\(\\mathcal E\\\\) is torsion, but we\n//! use the word only to refer to the small \\\\(\\mathcal E\\[8\\]\\\\) part, not\n//! the large prime-order \\\\(\\mathcal E[\\ell]\\\\) part.\n//!\n//! To test if a point is in \\\\( \\mathcal E\\[8\\] \\\\), use\n//! [`EdwardsPoint::is_small_order`].\n//!\n//! To test if a point is in \\\\( \\mathcal E[\\ell] \\\\), use\n//! [`EdwardsPoint::is_torsion_free`].\n//!\n//! To multiply by the cofactor, use [`EdwardsPoint::mul_by_cofactor`].\n//!\n//! To avoid dealing with cofactors entirely, consider using Ristretto.\n//!\n//! ## Scalars\n//!\n//! Scalars are represented by the [`Scalar`] struct. To construct a scalar, see\n//! [`Scalar::from_canonical_bytes`] or [`Scalar::from_bytes_mod_order_wide`].\n//!\n//! ## Scalar Multiplication\n//!\n//! Scalar multiplication on Edwards points is provided by:\n//!\n//! * the `*` operator between a `Scalar` and a `EdwardsPoint`, which\n//! performs constant-time variable-base scalar multiplication;\n//!\n//! * the `*` operator between a `Scalar` and a\n//! `EdwardsBasepointTable`, which performs constant-time fixed-base\n//! scalar multiplication;\n//!\n//! * an implementation of the\n//! [`MultiscalarMul`](../traits/trait.MultiscalarMul.html) trait for\n//! constant-time variable-base multiscalar multiplication;\n//!\n//! * an implementation of the\n//! [`VartimeMultiscalarMul`](../traits/trait.VartimeMultiscalarMul.html)\n//! trait for variable-time variable-base multiscalar multiplication;\n//!\n//! ## Implementation\n//!\n//! The Edwards arithmetic is implemented using the “extended twisted\n//! coordinates” of Hisil, Wong, Carter, and Dawson, and the\n//! corresponding complete formulas. For more details,\n//! see the [`curve_models` submodule][curve_models]\n//! of the internal documentation.\n//!\n//! ## Validity Checking\n//!\n//! There is no function for checking whether a point is valid.\n//! Instead, the `EdwardsPoint` struct is guaranteed to hold a valid\n//! point on the curve.\n//!\n//! We use the Rust type system to make invalid points\n//! unrepresentable: `EdwardsPoint` objects can only be created via\n//! successful decompression of a compressed point, or else by\n//! operations on other (valid) `EdwardsPoint`s.\n//!\n//! [curve_models]: https://docs.rs/curve25519-dalek/latest/curve25519-dalek/backend/serial/curve_models/index.html\n\n// We allow non snake_case names because coordinates in projective space are\n// traditionally denoted by the capitalisation of their respective\n// counterparts in affine space. Yeah, you heard me, rustc, I'm gonna have my\n// affine and projective cakes and eat both of them too.\n#![allow(non_snake_case)]\n\nmod affine;\n\nuse cfg_if::cfg_if;\nuse core::array::TryFromSliceError;\nuse core::borrow::Borrow;\nuse core::fmt::Debug;\nuse core::iter::Sum;\nuse core::ops::{Add, Neg, Sub};\nuse core::ops::{AddAssign, SubAssign};\nuse core::ops::{Mul, MulAssign};\n\n#[cfg(feature = \"digest\")]\nuse digest::{\n FixedOutput, HashMarker, array::typenum::U64, block_api::BlockSizeUser, consts::True,\n typenum::IsGreater,\n};\n\n#[cfg(feature = \"group\")]\nuse {\n group::{GroupEncoding, cofactor::CofactorGroup, prime::PrimeGroup},\n rand_core::RngCore as GroupRngCore,\n subtle::CtOption,\n};\n\n#[cfg(feature = \"rand_core\")]\nuse rand_core::{CryptoRng, RngCore};\n\nuse subtle::Choice;\nuse subtle::ConditionallyNegatable;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\nuse crate::constants;\n\nuse crate::field::FieldElement;\nuse crate::scalar::{Scalar, clamp_integer};\n\nuse crate::montgomery::MontgomeryPoint;\n\nuse crate::backend::serial::curve_models::AffineNielsPoint;\nuse crate::backend::serial::curve_models::CompletedPoint;\nuse crate::backend::serial::curve_models::ProjectiveNielsPoint;\nuse crate::backend::serial::curve_models::ProjectivePoint;\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::window::{\n LookupTableRadix16, LookupTableRadix32, LookupTableRadix64, LookupTableRadix128,\n LookupTableRadix256,\n};\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::traits::BasepointTable;\n\nuse crate::traits::ValidityCheck;\nuse crate::traits::{Identity, IsIdentity};\n\nuse affine::AffinePoint;\n\n#[cfg(feature = \"alloc\")]\nuse crate::traits::MultiscalarMul;\n#[cfg(feature = \"alloc\")]\nuse crate::traits::{VartimeMultiscalarMul, VartimePrecomputedMultiscalarMul};\n#[cfg(feature = \"alloc\")]\nuse alloc::vec::Vec;\n\n// ------------------------------------------------------------------------\n// Compressed points\n// ------------------------------------------------------------------------\n\n/// In \"Edwards y\" / \"Ed25519\" format, the curve point \\\\((x,y)\\\\) is\n/// determined by the \\\\(y\\\\)-coordinate and the sign of \\\\(x\\\\).\n///\n/// The first 255 bits of a `CompressedEdwardsY` represent the\n/// \\\\(y\\\\)-coordinate. The high bit of the 32nd byte gives the sign of \\\\(x\\\\).\n#[allow(clippy::derived_hash_with_manual_eq)]\n#[derive(Copy, Clone, Hash)]\npub struct CompressedEdwardsY(pub [u8; 32]);\n\nimpl ConstantTimeEq for CompressedEdwardsY {\n fn ct_eq(&self, other: &CompressedEdwardsY) -> Choice {\n self.as_bytes().ct_eq(other.as_bytes())\n }\n}\n\nimpl Eq for CompressedEdwardsY {}\nimpl PartialEq for CompressedEdwardsY {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl Debug for CompressedEdwardsY {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"CompressedEdwardsY: {:?}\", self.as_bytes())\n }\n}\n\nimpl CompressedEdwardsY {\n /// View this `CompressedEdwardsY` as an array of bytes.\n pub const fn as_bytes(&self) -> &[u8; 32] {\n &self.0\n }\n\n /// Copy this `CompressedEdwardsY` to an array of bytes.\n pub const fn to_bytes(&self) -> [u8; 32] {\n self.0\n }\n\n /// Attempt to decompress to an `EdwardsPoint`.\n ///\n /// Returns `None` if the input is not the \\\\(y\\\\)-coordinate of a\n /// curve point.\n pub fn decompress(&self) -> Option {\n let (is_valid_y_coord, X, Y, Z) = decompress::step_1(self);\n\n if is_valid_y_coord.into() {\n Some(decompress::step_2(self, X, Y, Z))\n } else {\n None\n }\n }\n}\n\nmod decompress {\n use super::*;\n\n #[rustfmt::skip] // keep alignment of explanatory comments\n pub(super) fn step_1(\n repr: &CompressedEdwardsY,\n ) -> (Choice, FieldElement, FieldElement, FieldElement) {\n let Y = FieldElement::from_bytes(repr.as_bytes());\n let Z = FieldElement::ONE;\n let YY = Y.square();\n let u = &YY - &Z; // u = y²-1\n let v = &(&YY * &constants::EDWARDS_D) + &Z; // v = dy²+1\n let (is_valid_y_coord, X) = FieldElement::sqrt_ratio_i(&u, &v);\n\n (is_valid_y_coord, X, Y, Z)\n }\n\n #[rustfmt::skip]\n pub(super) fn step_2(\n repr: &CompressedEdwardsY,\n mut X: FieldElement,\n Y: FieldElement,\n Z: FieldElement,\n ) -> EdwardsPoint {\n // FieldElement::sqrt_ratio_i always returns the nonnegative square root,\n // so we negate according to the supplied sign bit.\n let compressed_sign_bit = Choice::from(repr.as_bytes()[31] >> 7);\n X.conditional_negate(compressed_sign_bit);\n\n EdwardsPoint {\n X,\n Y,\n Z,\n T: &X * &Y,\n }\n }\n}\n\nimpl TryFrom<&[u8]> for CompressedEdwardsY {\n type Error = TryFromSliceError;\n\n fn try_from(slice: &[u8]) -> Result {\n Self::from_slice(slice)\n }\n}\n\n// ------------------------------------------------------------------------\n// Serde support\n// ------------------------------------------------------------------------\n// Serializes to and from `EdwardsPoint` directly, doing compression\n// and decompression internally. This means that users can create\n// structs containing `EdwardsPoint`s and use Serde's derived\n// serializers to serialize those structures.\n\n#[cfg(feature = \"digest\")]\nuse constants::ED25519_SQRTAM2;\n#[cfg(feature = \"serde\")]\nuse serde::de::Visitor;\n#[cfg(feature = \"serde\")]\nuse serde::{Deserialize, Deserializer, Serialize, Serializer};\n\n#[cfg(feature = \"serde\")]\nimpl Serialize for EdwardsPoint {\n fn serialize(&self, serializer: S) -> Result\n where\n S: Serializer,\n {\n use serde::ser::SerializeTuple;\n let mut tup = serializer.serialize_tuple(32)?;\n for byte in self.compress().as_bytes().iter() {\n tup.serialize_element(byte)?;\n }\n tup.end()\n }\n}\n\n#[cfg(feature = \"serde\")]\nimpl Serialize for CompressedEdwardsY {\n fn serialize(&self, serializer: S) -> Result\n where\n S: Serializer,\n {\n use serde::ser::SerializeTuple;\n let mut tup = serializer.serialize_tuple(32)?;\n for byte in self.as_bytes().iter() {\n tup.serialize_element(byte)?;\n }\n tup.end()\n }\n}\n\n#[cfg(feature = \"serde\")]\nimpl<'de> Deserialize<'de> for EdwardsPoint {\n fn deserialize(deserializer: D) -> Result\n where\n D: Deserializer<'de>,\n {\n struct EdwardsPointVisitor;\n\n impl<'de> Visitor<'de> for EdwardsPointVisitor {\n type Value = EdwardsPoint;\n\n fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n formatter.write_str(\"a valid point in Edwards y + sign format\")\n }\n\n fn visit_seq(self, mut seq: A) -> Result\n where\n A: serde::de::SeqAccess<'de>,\n {\n let mut bytes = [0u8; 32];\n #[allow(clippy::needless_range_loop)]\n for i in 0..32 {\n bytes[i] = seq\n .next_element()?\n .ok_or_else(|| serde::de::Error::invalid_length(i, &\"expected 32 bytes\"))?;\n }\n CompressedEdwardsY(bytes)\n .decompress()\n .ok_or_else(|| serde::de::Error::custom(\"decompression failed\"))\n }\n }\n\n deserializer.deserialize_tuple(32, EdwardsPointVisitor)\n }\n}\n\n#[cfg(feature = \"serde\")]\nimpl<'de> Deserialize<'de> for CompressedEdwardsY {\n fn deserialize(deserializer: D) -> Result\n where\n D: Deserializer<'de>,\n {\n struct CompressedEdwardsYVisitor;\n\n impl<'de> Visitor<'de> for CompressedEdwardsYVisitor {\n type Value = CompressedEdwardsY;\n\n fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n formatter.write_str(\"32 bytes of data\")\n }\n\n fn visit_seq(self, mut seq: A) -> Result\n where\n A: serde::de::SeqAccess<'de>,\n {\n let mut bytes = [0u8; 32];\n #[allow(clippy::needless_range_loop)]\n for i in 0..32 {\n bytes[i] = seq\n .next_element()?\n .ok_or_else(|| serde::de::Error::invalid_length(i, &\"expected 32 bytes\"))?;\n }\n Ok(CompressedEdwardsY(bytes))\n }\n }\n\n deserializer.deserialize_tuple(32, CompressedEdwardsYVisitor)\n }\n}\n\n// ------------------------------------------------------------------------\n// Internal point representations\n// ------------------------------------------------------------------------\n\n/// An `EdwardsPoint` represents a point on the Edwards form of Curve25519.\n#[derive(Copy, Clone)]\n#[allow(missing_docs)]\npub struct EdwardsPoint {\n pub(crate) X: FieldElement,\n pub(crate) Y: FieldElement,\n pub(crate) Z: FieldElement,\n pub(crate) T: FieldElement,\n}\n\n// ------------------------------------------------------------------------\n// Constructors\n// ------------------------------------------------------------------------\n\nimpl Identity for CompressedEdwardsY {\n fn identity() -> CompressedEdwardsY {\n CompressedEdwardsY([\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ])\n }\n}\n\nimpl Default for CompressedEdwardsY {\n fn default() -> CompressedEdwardsY {\n CompressedEdwardsY::identity()\n }\n}\n\nimpl CompressedEdwardsY {\n /// Construct a `CompressedEdwardsY` from a slice of bytes.\n ///\n /// # Errors\n ///\n /// Returns [`TryFromSliceError`] if the input `bytes` slice does not have\n /// a length of 32.\n pub fn from_slice(bytes: &[u8]) -> Result {\n bytes.try_into().map(CompressedEdwardsY)\n }\n}\n\nimpl Identity for EdwardsPoint {\n fn identity() -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n T: FieldElement::ZERO,\n }\n }\n}\n\nimpl Default for EdwardsPoint {\n fn default() -> EdwardsPoint {\n EdwardsPoint::identity()\n }\n}\n\n// ------------------------------------------------------------------------\n// Zeroize implementations for wiping points from memory\n// ------------------------------------------------------------------------\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for CompressedEdwardsY {\n /// Reset this `CompressedEdwardsY` to the compressed form of the identity element.\n fn zeroize(&mut self) {\n self.0.zeroize();\n self.0[0] = 1;\n }\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for EdwardsPoint {\n /// Reset this `EdwardsPoint` to the identity element.\n fn zeroize(&mut self) {\n self.X.zeroize();\n self.Y = FieldElement::ONE;\n self.Z = FieldElement::ONE;\n self.T.zeroize();\n }\n}\n\n// ------------------------------------------------------------------------\n// Validity checks (for debugging, not CT)\n// ------------------------------------------------------------------------\n\nimpl ValidityCheck for EdwardsPoint {\n fn is_valid(&self) -> bool {\n let point_on_curve = self.as_projective().is_valid();\n let on_segre_image = (&self.X * &self.Y) == (&self.Z * &self.T);\n\n point_on_curve && on_segre_image\n }\n}\n\n// ------------------------------------------------------------------------\n// Constant-time assignment\n// ------------------------------------------------------------------------\n\nimpl ConditionallySelectable for EdwardsPoint {\n fn conditional_select(a: &EdwardsPoint, b: &EdwardsPoint, choice: Choice) -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::conditional_select(&a.X, &b.X, choice),\n Y: FieldElement::conditional_select(&a.Y, &b.Y, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T: FieldElement::conditional_select(&a.T, &b.T, choice),\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Equality\n// ------------------------------------------------------------------------\n\nimpl ConstantTimeEq for EdwardsPoint {\n fn ct_eq(&self, other: &EdwardsPoint) -> Choice {\n // We would like to check that the point (X/Z, Y/Z) is equal to\n // the point (X'/Z', Y'/Z') without converting into affine\n // coordinates (x, y) and (x', y'), which requires two inversions.\n // We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to\n // (xZ)Z' = (x'Z')Z, and similarly for the y-coordinate.\n\n (&self.X * &other.Z).ct_eq(&(&other.X * &self.Z))\n & (&self.Y * &other.Z).ct_eq(&(&other.Y * &self.Z))\n }\n}\n\nimpl PartialEq for EdwardsPoint {\n fn eq(&self, other: &EdwardsPoint) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl Eq for EdwardsPoint {}\n\n// ------------------------------------------------------------------------\n// Point conversions\n// ------------------------------------------------------------------------\n\nimpl EdwardsPoint {\n /// Convert to a ProjectiveNielsPoint\n pub(crate) fn as_projective_niels(&self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: &self.Y + &self.X,\n Y_minus_X: &self.Y - &self.X,\n Z: self.Z,\n T2d: &self.T * &constants::EDWARDS_D2,\n }\n }\n\n /// Convert the representation of this point from extended\n /// coordinates to projective coordinates.\n ///\n /// Free.\n pub(crate) const fn as_projective(&self) -> ProjectivePoint {\n ProjectivePoint {\n X: self.X,\n Y: self.Y,\n Z: self.Z,\n }\n }\n\n /// Dehomogenize to a `AffineNielsPoint`.\n /// Mainly for testing.\n pub(crate) fn as_affine_niels(&self) -> AffineNielsPoint {\n let recip = self.Z.invert();\n let x = &self.X * &recip;\n let y = &self.Y * &recip;\n let xy2d = &(&x * &y) * &constants::EDWARDS_D2;\n AffineNielsPoint {\n y_plus_x: &y + &x,\n y_minus_x: &y - &x,\n xy2d,\n }\n }\n\n /// Dehomogenize to `AffinePoint`.\n pub(crate) fn to_affine(self) -> AffinePoint {\n let recip = self.Z.invert();\n let x = &self.X * &recip;\n let y = &self.Y * &recip;\n AffinePoint { x, y }\n }\n\n /// Convert this `EdwardsPoint` on the Edwards model to the\n /// corresponding `MontgomeryPoint` on the Montgomery model.\n ///\n /// This function has one exceptional case; the identity point of\n /// the Edwards curve is sent to the 2-torsion point \\\\((0,0)\\\\)\n /// on the Montgomery curve.\n ///\n /// Note that this is a one-way conversion, since the Montgomery\n /// model does not retain sign information.\n pub fn to_montgomery(&self) -> MontgomeryPoint {\n // We have u = (1+y)/(1-y) = (Z+Y)/(Z-Y).\n //\n // The denominator is zero only when y=1, the identity point of\n // the Edwards curve. Since 0.invert() = 0, in this case we\n // compute the 2-torsion point (0,0).\n let U = &self.Z + &self.Y;\n let W = &self.Z - &self.Y;\n let u = &U * &W.invert();\n MontgomeryPoint(u.to_bytes())\n }\n\n /// Converts a large batch of points to Edwards at once. This has the same\n /// behavior on identity elements as [`Self::to_montgomery`].\n #[cfg(feature = \"alloc\")]\n pub fn to_montgomery_batch(eds: &[Self]) -> Vec {\n // Do the same thing as the above function. u = (1+y)/(1-y) = (Z+Y)/(Z-Y).\n // We will do this in a batch, ie compute (Z-Y) for all the input\n // points, then invert them all at once\n\n // Compute the denominators in a batch\n let mut denominators = eds.iter().map(|p| &p.Z - &p.Y).collect::>();\n FieldElement::invert_batch_alloc(&mut denominators);\n\n // Now compute the Montgomery u coordinate for every point\n let mut ret = Vec::with_capacity(eds.len());\n for (ed, d) in eds.iter().zip(denominators.iter()) {\n let u = &(&ed.Z + &ed.Y) * d;\n ret.push(MontgomeryPoint(u.to_bytes()));\n }\n\n ret\n }\n\n /// Compress this point to `CompressedEdwardsY` format.\n pub fn compress(&self) -> CompressedEdwardsY {\n self.to_affine().compress()\n }\n\n /// Compress several `EdwardsPoint`s into `CompressedEdwardsY` format, using a batch inversion\n /// for a significant speedup.\n #[cfg(feature = \"alloc\")]\n pub fn compress_batch(inputs: &[EdwardsPoint]) -> Vec {\n let mut zs = inputs.iter().map(|input| input.Z).collect::>();\n FieldElement::invert_batch_alloc(&mut zs);\n\n inputs\n .iter()\n .zip(&zs)\n .map(|(input, recip)| {\n let x = &input.X * recip;\n let y = &input.Y * recip;\n AffinePoint { x, y }.compress()\n })\n .collect()\n }\n\n #[cfg(feature = \"digest\")]\n // The function `map_to_curve` calculates an [EdwardsPoint] from a [FieldElement].\n fn map_to_curve(fe: FieldElement) -> EdwardsPoint {\n let c1 = ED25519_SQRTAM2;\n\n // 1. (xMn, xMd, yMn, yMd) = map_to_curve_elligator2_curve25519(u)\n let (xMn, xMd, yMn, yMd) = crate::montgomery::elligator_encode(&fe);\n // 2. xn = xMn * yMd\n let xn = &xMn * &yMd;\n // 3. xn = xn * c1\n let xn = &xn * &c1;\n // 4. xd = xMd * yMn\n let xd = &xMd * &yMn;\n // 5. yn = xMn - xMd\n let yn = &xMn - &xMd;\n // 6. yd = xMn + xMd\n let yd = &xMn + &xMd;\n // 7. tv1 = xd * yd\n let tv1 = &xd * &yd;\n // 8. e = tv1 == 0\n let e = tv1.ct_eq(&FieldElement::ZERO);\n // 9. xn = CMOV(xn, 0, e)\n let xn = FieldElement::conditional_select(&xn, &FieldElement::ZERO, e);\n // 10. xd = CMOV(xd, 1, e)\n let xd = FieldElement::conditional_select(&xd, &FieldElement::ONE, e);\n // 11. yn = CMOV(yn, 1, e)\n let yn = FieldElement::conditional_select(&yn, &FieldElement::ONE, e);\n // 12. yd = CMOV(yd, 1, e)\n let yd = FieldElement::conditional_select(&yd, &FieldElement::ONE, e);\n // 13. return (xn, xd, yn, yd)\n\n EdwardsPoint {\n X: &xn * &yd,\n Y: &xd * &yn,\n Z: &xd * &yd,\n T: &xn * &yn,\n }\n }\n\n #[cfg(feature = \"digest\")]\n /// Perform encode to curve per RFC 9380, with explicit hash function and domain separator\n /// `domain_sep`, using the Twisted Edwards Elligator 2 method. The input is the concatenation\n /// of the elements of `bytes`. Likewise for the domain separator with `domain_sep`. At least\n /// one element of `domain_sep`, MUST be nonempty, and the concatenation MUST NOT exceed 255\n /// bytes.\n ///\n /// The specification names SHA-512 as an example of a secure hash to use with this function,\n /// but you may use any 512-bit hash within reason (see the\n /// [`spec`](https://www.rfc-editor.org/rfc/rfc9380.html#section-5.2) for details).\n ///\n /// # Warning\n /// `encode_to_curve` is a nonuniform encoding from byte strings to points in `G`. That is,\n /// the distribution of its output is not uniformly random in `G`: the set of possible outputs\n /// of encode_to_curve is only a fraction of the points in `G`, and some points in this set\n /// are more likely to be output than others.\n ///\n /// If your application needs the distribution of the output to be statistically close to\n /// uniform in `G`, use [Self::hash_to_curve] instead.\n ///\n /// # Panics\n /// Panics if `domain_sep.collect().len() == 0` or `> 255`\n pub fn encode_to_curve(bytes: &[&[u8]], domain_sep: &[&[u8]]) -> EdwardsPoint\n where\n D: BlockSizeUser + Default + FixedOutput + HashMarker,\n D::BlockSize: IsGreater,\n {\n // For reference see\n // https://www.rfc-editor.org/rfc/rfc9380.html#name-elligator-2-method-2\n\n let fe = FieldElement::hash_to_field::(bytes, domain_sep);\n let Q = Self::map_to_curve(fe[0]);\n Q.mul_by_cofactor()\n }\n\n #[cfg(feature = \"digest\")]\n /// Perform a hash to curve per RFC 9380, with explicit hash function and domain separator\n /// `domain_sep`, using the Twisted Edwards Elligator 2 method. The input is the concatenation\n /// of the elements of `bytes`. Likewise for the domain separator with `domain_sep`. At least\n /// one element of `domain_sep`, MUST be nonempty, and the concatenation MUST NOT exceed\n /// 255 bytes.\n ///\n /// The specification names SHA-512 as an example of a secure hash to use with this function,\n /// but you may use any 512-bit hash within reason (see the\n /// [`spec`](https://www.rfc-editor.org/rfc/rfc9380.html#section-5.2) for details).\n ///\n /// # Panics\n /// Panics if `domain_sep.collect().len() == 0` or `> 255`\n pub fn hash_to_curve(bytes: &[&[u8]], domain_sep: &[&[u8]]) -> EdwardsPoint\n where\n D: BlockSizeUser + Default + FixedOutput + HashMarker,\n D::BlockSize: IsGreater,\n {\n // For reference see\n // https://www.rfc-editor.org/rfc/rfc9380.html#name-elligator-2-method-2\n\n let fe = FieldElement::hash_to_field::(bytes, domain_sep);\n let Q0 = Self::map_to_curve(fe[0]);\n let Q1 = Self::map_to_curve(fe[1]);\n\n let R = Q0 + Q1;\n R.mul_by_cofactor()\n }\n\n /// Return an `EdwardsPoint` chosen uniformly at random using a user-provided RNG.\n ///\n /// # Inputs\n ///\n /// * `rng`: any RNG which implements `CryptoRng` and `RngCore`\n ///\n /// # Returns\n ///\n /// A random `EdwardsPoint`.\n ///\n /// # Implementation\n ///\n /// Uses rejection sampling, generating a random `CompressedEdwardsY` and then attempting point\n /// decompression, rejecting invalid points.\n #[cfg(feature = \"rand_core\")]\n pub fn random(rng: &mut R) -> Self {\n let mut repr = CompressedEdwardsY([0u8; 32]);\n loop {\n rng.fill_bytes(&mut repr.0);\n if let Some(p) = repr.decompress() {\n if !IsIdentity::is_identity(&p) {\n break p;\n }\n }\n }\n }\n}\n\n// ------------------------------------------------------------------------\n// Doubling\n// ------------------------------------------------------------------------\n\nimpl EdwardsPoint {\n /// Add this point to itself.\n pub(crate) fn double(&self) -> EdwardsPoint {\n self.as_projective().double().as_extended()\n }\n}\n\n// ------------------------------------------------------------------------\n// Addition and Subtraction\n// ------------------------------------------------------------------------\n\nimpl<'a> Add<&'a EdwardsPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn add(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self + &other.as_projective_niels()).as_extended()\n }\n}\n\ndefine_add_variants!(\n LHS = EdwardsPoint,\n RHS = EdwardsPoint,\n Output = EdwardsPoint\n);\n\nimpl<'a> AddAssign<&'a EdwardsPoint> for EdwardsPoint {\n fn add_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) + _rhs;\n }\n}\n\ndefine_add_assign_variants!(LHS = EdwardsPoint, RHS = EdwardsPoint);\n\nimpl<'a> Sub<&'a EdwardsPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn sub(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self - &other.as_projective_niels()).as_extended()\n }\n}\n\ndefine_sub_variants!(\n LHS = EdwardsPoint,\n RHS = EdwardsPoint,\n Output = EdwardsPoint\n);\n\nimpl<'a> SubAssign<&'a EdwardsPoint> for EdwardsPoint {\n fn sub_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) - _rhs;\n }\n}\n\ndefine_sub_assign_variants!(LHS = EdwardsPoint, RHS = EdwardsPoint);\n\nimpl Sum for EdwardsPoint\nwhere\n T: Borrow,\n{\n fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(EdwardsPoint::identity(), |acc, item| acc + item.borrow())\n }\n}\n\n// ------------------------------------------------------------------------\n// Negation\n// ------------------------------------------------------------------------\n\nimpl Neg for &EdwardsPoint {\n type Output = EdwardsPoint;\n\n fn neg(self) -> EdwardsPoint {\n EdwardsPoint {\n X: -(&self.X),\n Y: self.Y,\n Z: self.Z,\n T: -(&self.T),\n }\n }\n}\n\nimpl Neg for EdwardsPoint {\n type Output = EdwardsPoint;\n\n fn neg(self) -> EdwardsPoint {\n -&self\n }\n}\n\n// ------------------------------------------------------------------------\n// Scalar multiplication\n// ------------------------------------------------------------------------\n\nimpl<'a> MulAssign<&'a Scalar> for EdwardsPoint {\n fn mul_assign(&mut self, scalar: &'a Scalar) {\n let result = (self as &EdwardsPoint) * scalar;\n *self = result;\n }\n}\n\ndefine_mul_assign_variants!(LHS = EdwardsPoint, RHS = Scalar);\n\ndefine_mul_variants!(LHS = EdwardsPoint, RHS = Scalar, Output = EdwardsPoint);\ndefine_mul_variants!(LHS = Scalar, RHS = EdwardsPoint, Output = EdwardsPoint);\n\nimpl<'a> Mul<&'a Scalar> for &EdwardsPoint {\n type Output = EdwardsPoint;\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, scalar: &'a Scalar) -> EdwardsPoint {\n crate::backend::variable_base_mul(self, scalar)\n }\n}\n\nimpl<'a> Mul<&'a EdwardsPoint> for &Scalar {\n type Output = EdwardsPoint;\n\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, point: &'a EdwardsPoint) -> EdwardsPoint {\n point * self\n }\n}\n\nimpl EdwardsPoint {\n /// Fixed-base scalar multiplication by the Ed25519 base point.\n ///\n /// Uses precomputed basepoint tables when the `precomputed-tables` feature\n /// is enabled, trading off increased code size for ~4x better performance.\n pub fn mul_base(scalar: &Scalar) -> Self {\n #[cfg(not(feature = \"precomputed-tables\"))]\n {\n scalar * constants::ED25519_BASEPOINT_POINT\n }\n\n #[cfg(feature = \"precomputed-tables\")]\n {\n scalar * constants::ED25519_BASEPOINT_TABLE\n }\n }\n\n /// Multiply this point by `clamp_integer(bytes)`. For a description of clamping, see\n /// [`clamp_integer`].\n pub fn mul_clamped(self, bytes: [u8; 32]) -> Self {\n // We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant\n // #2. But #2 is not necessary for correctness of variable-base multiplication. All that\n // needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed\n // by clamping.\n // Further, we don't do any reduction or arithmetic with this clamped value, so there's no\n // issues arising from the fact that the curve point is not necessarily in the prime-order\n // subgroup.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n s * self\n }\n\n /// Multiply the basepoint by `clamp_integer(bytes)`. For a description of clamping, see\n /// [`clamp_integer`].\n pub fn mul_base_clamped(bytes: [u8; 32]) -> Self {\n // See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We\n // note that fixed-base multiplication is also defined for all values of `bytes` less than\n // 2^255.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n Self::mul_base(&s)\n }\n}\n\n// ------------------------------------------------------------------------\n// Multiscalar Multiplication impls\n// ------------------------------------------------------------------------\n\n// These use the iterator's size hint and the target settings to\n// forward to a specific backend implementation.\n\n#[cfg(feature = \"alloc\")]\nimpl MultiscalarMul for EdwardsPoint {\n type Point = EdwardsPoint;\n\n fn multiscalar_mul(scalars: I, points: J) -> EdwardsPoint\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n {\n // Sanity-check lengths of input iterators\n let mut scalars = scalars.into_iter();\n let mut points = points.into_iter();\n\n // Lower and upper bounds on iterators\n let (s_lo, s_hi) = scalars.by_ref().size_hint();\n let (p_lo, p_hi) = points.by_ref().size_hint();\n\n // They should all be equal\n assert_eq!(s_lo, p_lo);\n assert_eq!(s_hi, Some(s_lo));\n assert_eq!(p_hi, Some(p_lo));\n\n // Now we know there's a single size. When we do\n // size-dependent algorithm dispatch, use this as the hint.\n let _size = s_lo;\n\n crate::backend::straus_multiscalar_mul(scalars, points)\n }\n}\n\n#[cfg(feature = \"alloc\")]\nimpl VartimeMultiscalarMul for EdwardsPoint {\n type Point = EdwardsPoint;\n\n fn optional_multiscalar_mul(scalars: I, points: J) -> Option\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator>,\n {\n // Sanity-check lengths of input iterators\n let mut scalars = scalars.into_iter();\n let mut points = points.into_iter();\n\n // Lower and upper bounds on iterators\n let (s_lo, s_hi) = scalars.by_ref().size_hint();\n let (p_lo, p_hi) = points.by_ref().size_hint();\n\n // They should all be equal\n assert_eq!(s_lo, p_lo);\n assert_eq!(s_hi, Some(s_lo));\n assert_eq!(p_hi, Some(p_lo));\n\n // Now we know there's a single size.\n // Use this as the hint to decide which algorithm to use.\n let size = s_lo;\n\n if size < 190 {\n crate::backend::straus_optional_multiscalar_mul(scalars, points)\n } else {\n crate::backend::pippenger_optional_multiscalar_mul(scalars, points)\n }\n }\n}\n\n/// Precomputation for variable-time multiscalar multiplication with `EdwardsPoint`s.\n// This wraps the inner implementation in a facade type so that we can\n// decouple stability of the inner type from the stability of the\n// outer type.\n#[cfg(feature = \"alloc\")]\npub struct VartimeEdwardsPrecomputation(crate::backend::VartimePrecomputedStraus);\n\n#[cfg(feature = \"alloc\")]\nimpl VartimePrecomputedMultiscalarMul for VartimeEdwardsPrecomputation {\n type Point = EdwardsPoint;\n\n fn new(static_points: I) -> Self\n where\n I: IntoIterator,\n I::Item: Borrow,\n {\n Self(crate::backend::VartimePrecomputedStraus::new(static_points))\n }\n\n fn len(&self) -> usize {\n self.0.len()\n }\n\n fn is_empty(&self) -> bool {\n self.0.is_empty()\n }\n\n fn optional_mixed_multiscalar_mul(\n &self,\n static_scalars: I,\n dynamic_scalars: J,\n dynamic_points: K,\n ) -> Option\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n K: IntoIterator>,\n {\n self.0\n .optional_mixed_multiscalar_mul(static_scalars, dynamic_scalars, dynamic_points)\n }\n}\n\nimpl EdwardsPoint {\n /// Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n pub fn vartime_double_scalar_mul_basepoint(\n a: &Scalar,\n A: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n crate::backend::vartime_double_base_mul(a, A, b)\n }\n\n /// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n ///\n /// This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\),\n /// and falls back to general scalar multiplication for full-width scalars.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n /// use curve25519::constants::ED25519_BASEPOINT_POINT;\n /// use curve25519::edwards::EdwardsPoint;\n ///\n /// let a1 = Scalar::from(123u64);\n /// let a2 = Scalar::from(456u64);\n /// let b = Scalar::from(789u64);\n ///\n /// let A1 = &ED25519_BASEPOINT_POINT * &Scalar::from(2u64);\n /// let A2 = &ED25519_BASEPOINT_POINT * &Scalar::from(3u64);\n ///\n /// // Compute a1*A1 + a2*A2 + b*B efficiently\n /// let result = EdwardsPoint::vartime_triple_scalar_mul_basepoint(&a1, &A1, &a2, &A2, &b);\n /// ```\n #[allow(non_snake_case)]\n pub fn vartime_triple_scalar_mul_basepoint(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n crate::backend::vartime_triple_base_mul_128_128_256(a1, A1, a2, A2, b)\n }\n}\n\n#[cfg(feature = \"precomputed-tables\")]\nmacro_rules! impl_basepoint_table {\n (Name = $name:ident, LookupTable = $table:ident, Point = $point:ty, Radix = $radix:expr, Additions = $adds:expr) => {\n /// A precomputed table of multiples of a basepoint, for accelerating\n /// fixed-base scalar multiplication. One table, for the Ed25519\n /// basepoint, is provided in the [`constants`] module.\n ///\n /// The basepoint tables are reasonably large, so they should probably be boxed.\n ///\n /// The sizes for the tables and the number of additions required for one scalar\n /// multiplication are as follows:\n ///\n /// * [`EdwardsBasepointTableRadix16`]: 30KB, 64A\n /// (this is the default size, and is used for\n /// [`constants::ED25519_BASEPOINT_TABLE`])\n /// * [`EdwardsBasepointTableRadix64`]: 120KB, 43A\n /// * [`EdwardsBasepointTableRadix128`]: 240KB, 37A\n /// * [`EdwardsBasepointTableRadix256`]: 480KB, 33A\n ///\n /// # Why 33 additions for radix-256?\n ///\n /// Normally, the radix-256 tables would allow for only 32 additions per scalar\n /// multiplication. However, due to the fact that standardised definitions of\n /// legacy protocols—such as x25519—require allowing unreduced 255-bit scalars\n /// invariants, when converting such an unreduced scalar's representation to\n /// radix-\\\\(2^{8}\\\\), we cannot guarantee the carry bit will fit in the last\n /// coefficient (the coefficients are `i8`s). When, \\\\(w\\\\), the power-of-2 of\n /// the radix, is \\\\(w < 8\\\\), we can fold the final carry onto the last\n /// coefficient, \\\\(d\\\\), because \\\\(d < 2^{w/2}\\\\), so\n /// $$\n /// d + carry \\cdot 2^{w} = d + 1 \\cdot 2^{w} < 2^{w+1} < 2^{8}\n /// $$\n /// When \\\\(w = 8\\\\), we can't fit \\\\(carry \\cdot 2^{w}\\\\) into an `i8`, so we\n /// add the carry bit onto an additional coefficient.\n #[derive(Clone)]\n #[repr(transparent)]\n pub struct $name(pub(crate) [$table; 32]);\n\n impl BasepointTable for $name {\n type Point = $point;\n\n /// Create a table of precomputed multiples of `basepoint`.\n fn create(basepoint: &$point) -> $name {\n // XXX use init_with\n let mut table = $name([$table::default(); 32]);\n let mut P = *basepoint;\n for i in 0..32 {\n // P = (2w)^i * B\n table.0[i] = $table::from(&P);\n P = P.mul_by_pow_2($radix + $radix);\n }\n table\n }\n\n /// Get the basepoint for this table as an `EdwardsPoint`.\n fn basepoint(&self) -> $point {\n // self.0[0].select(1) = 1*(16^2)^0*B\n // but as an `AffineNielsPoint`, so add identity to convert to extended.\n (&<$point>::identity() + &self.0[0].select(1)).as_extended()\n }\n\n /// The computation uses Pippeneger's algorithm, as described for the\n /// specific case of radix-16 on page 13 of the Ed25519 paper.\n ///\n /// # Piggenger's Algorithm Generalised\n ///\n /// Write the scalar \\\\(a\\\\) in radix-\\\\(w\\\\), where \\\\(w\\\\) is a power of\n /// 2, with coefficients in \\\\([\\frac{-w}{2},\\frac{w}{2})\\\\), i.e.,\n /// $$\n /// a = a\\_0 + a\\_1 w\\^1 + \\cdots + a\\_{x} w\\^{x},\n /// $$\n /// with\n /// $$\n /// \\begin{aligned}\n /// \\frac{-w}{2} \\leq a_i < \\frac{w}{2}\n /// &&\\cdots&&\n /// \\frac{-w}{2} \\leq a\\_{x} \\leq \\frac{w}{2}\n /// \\end{aligned}\n /// $$\n /// and the number of additions, \\\\(x\\\\), is given by\n /// \\\\(x = \\lceil \\frac{256}{w} \\rceil\\\\). Then\n /// $$\n /// a B = a\\_0 B + a\\_1 w\\^1 B + \\cdots + a\\_{x-1} w\\^{x-1} B.\n /// $$\n /// Grouping even and odd coefficients gives\n /// $$\n /// \\begin{aligned}\n /// a B = \\quad a\\_0 w\\^0 B +& a\\_2 w\\^2 B + \\cdots + a\\_{x-2} w\\^{x-2} B \\\\\\\\\n /// + a\\_1 w\\^1 B +& a\\_3 w\\^3 B + \\cdots + a\\_{x-1} w\\^{x-1} B \\\\\\\\\n /// = \\quad(a\\_0 w\\^0 B +& a\\_2 w\\^2 B + \\cdots + a\\_{x-2} w\\^{x-2} B) \\\\\\\\\n /// + w(a\\_1 w\\^0 B +& a\\_3 w\\^2 B + \\cdots + a\\_{x-1} w\\^{x-2} B). \\\\\\\\\n /// \\end{aligned}\n /// $$\n /// For each \\\\(i = 0 \\ldots 31\\\\), we create a lookup table of\n /// $$\n /// [w\\^{2i} B, \\ldots, \\frac{w}{2}\\cdot w\\^{2i} B],\n /// $$\n /// and use it to select \\\\( y \\cdot w\\^{2i} \\cdot B \\\\) in constant time.\n ///\n /// The radix-\\\\(w\\\\) representation requires that the scalar is bounded\n /// by \\\\(2\\^{255}\\\\), which is always the case.\n ///\n /// The above algorithm is trivially generalised to other powers-of-2 radices.\n fn mul_base(&self, scalar: &Scalar) -> $point {\n let a = scalar.as_radix_2w($radix);\n\n let tables = &self.0;\n let mut P = <$point>::identity();\n\n for i in (0..$adds).filter(|x| x % 2 == 1) {\n P = (&P + &tables[i / 2].select(a[i])).as_extended();\n }\n\n P = P.mul_by_pow_2($radix);\n\n for i in (0..$adds).filter(|x| x % 2 == 0) {\n P = (&P + &tables[i / 2].select(a[i])).as_extended();\n }\n\n P\n }\n }\n\n impl<'a, 'b> Mul<&'b Scalar> for &'a $name {\n type Output = $point;\n\n /// Construct an `EdwardsPoint` from a `Scalar` \\\\(a\\\\) by\n /// computing the multiple \\\\(aB\\\\) of this basepoint \\\\(B\\\\).\n fn mul(self, scalar: &'b Scalar) -> $point {\n // delegate to a private function so that its documentation appears in internal docs\n self.mul_base(scalar)\n }\n }\n\n impl<'a, 'b> Mul<&'a $name> for &'b Scalar {\n type Output = $point;\n\n /// Construct an `EdwardsPoint` from a `Scalar` \\\\(a\\\\) by\n /// computing the multiple \\\\(aB\\\\) of this basepoint \\\\(B\\\\).\n fn mul(self, basepoint_table: &'a $name) -> $point {\n basepoint_table * self\n }\n }\n\n impl Debug for $name {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"{:?}([\\n\", stringify!($name))?;\n for i in 0..32 {\n write!(f, \"\\t{:?},\\n\", &self.0[i])?;\n }\n write!(f, \"])\")\n }\n }\n };\n} // End macro_rules! impl_basepoint_table\n\n// The number of additions required is ceil(256/w) where w is the radix representation.\ncfg_if! {\n if #[cfg(feature = \"precomputed-tables\")] {\n impl_basepoint_table! {\n Name = EdwardsBasepointTable,\n LookupTable = LookupTableRadix16,\n Point = EdwardsPoint,\n Radix = 4,\n Additions = 64\n }\n impl_basepoint_table! {\n Name = EdwardsBasepointTableRadix32,\n LookupTable = LookupTableRadix32,\n Point = EdwardsPoint,\n Radix = 5,\n Additions = 52\n }\n impl_basepoint_table! {\n Name = EdwardsBasepointTableRadix64,\n LookupTable = LookupTableRadix64,\n Point = EdwardsPoint,\n Radix = 6,\n Additions = 43\n }\n impl_basepoint_table! {\n Name = EdwardsBasepointTableRadix128,\n LookupTable = LookupTableRadix128,\n Point = EdwardsPoint,\n Radix = 7,\n Additions = 37\n }\n impl_basepoint_table! {\n Name = EdwardsBasepointTableRadix256,\n LookupTable = LookupTableRadix256,\n Point = EdwardsPoint,\n Radix = 8,\n Additions = 33\n }\n\n /// A type-alias for [`EdwardsBasepointTable`] because the latter is\n /// used as a constructor in the [`constants`] module.\n //\n // Same as for `LookupTableRadix16`, we have to define `EdwardsBasepointTable`\n // first, because it's used as a constructor, and then provide a type alias for\n // it.\n pub type EdwardsBasepointTableRadix16 = EdwardsBasepointTable;\n }\n}\n\n#[cfg(feature = \"precomputed-tables\")]\nmacro_rules! impl_basepoint_table_conversions {\n (LHS = $lhs:ty, RHS = $rhs:ty) => {\n impl<'a> From<&'a $lhs> for $rhs {\n fn from(table: &'a $lhs) -> $rhs {\n <$rhs>::create(&table.basepoint())\n }\n }\n\n impl<'a> From<&'a $rhs> for $lhs {\n fn from(table: &'a $rhs) -> $lhs {\n <$lhs>::create(&table.basepoint())\n }\n }\n };\n}\n\ncfg_if! {\n if #[cfg(feature = \"precomputed-tables\")] {\n // Conversions from radix 16\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix16,\n RHS = EdwardsBasepointTableRadix32\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix16,\n RHS = EdwardsBasepointTableRadix64\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix16,\n RHS = EdwardsBasepointTableRadix128\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix16,\n RHS = EdwardsBasepointTableRadix256\n }\n\n // Conversions from radix 32\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix32,\n RHS = EdwardsBasepointTableRadix64\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix32,\n RHS = EdwardsBasepointTableRadix128\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix32,\n RHS = EdwardsBasepointTableRadix256\n }\n\n // Conversions from radix 64\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix64,\n RHS = EdwardsBasepointTableRadix128\n }\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix64,\n RHS = EdwardsBasepointTableRadix256\n }\n\n // Conversions from radix 128\n impl_basepoint_table_conversions! {\n LHS = EdwardsBasepointTableRadix128,\n RHS = EdwardsBasepointTableRadix256\n }\n }\n}\n\nimpl EdwardsPoint {\n /// Multiply by the cofactor: return \\\\(\\[8\\]P\\\\).\n pub fn mul_by_cofactor(&self) -> EdwardsPoint {\n self.mul_by_pow_2(3)\n }\n\n /// Compute \\\\([2\\^k] P \\\\) by successive doublings. Requires \\\\( k > 0 \\\\).\n pub(crate) fn mul_by_pow_2(&self, k: u32) -> EdwardsPoint {\n debug_assert!(k > 0);\n let mut r: CompletedPoint;\n let mut s = self.as_projective();\n for _ in 0..(k - 1) {\n r = s.double();\n s = r.as_projective();\n }\n // Unroll last iteration so we can go directly as_extended()\n s.double().as_extended()\n }\n\n /// Determine if this point is of small order.\n ///\n /// # Return\n ///\n /// * `true` if `self` is in the torsion subgroup \\\\( \\mathcal E\\[8\\] \\\\);\n /// * `false` if `self` is not in the torsion subgroup \\\\( \\mathcal E\\[8\\] \\\\).\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::constants;\n ///\n /// // Generator of the prime-order subgroup\n /// let P = constants::ED25519_BASEPOINT_POINT;\n /// // Generator of the torsion subgroup\n /// let Q = constants::EIGHT_TORSION[1];\n ///\n /// // P has large order\n /// assert_eq!(P.is_small_order(), false);\n ///\n /// // Q has small order\n /// assert_eq!(Q.is_small_order(), true);\n /// ```\n pub fn is_small_order(&self) -> bool {\n self.mul_by_cofactor().is_identity()\n }\n\n /// Determine if this point is “torsion-free”, i.e., is contained in\n /// the prime-order subgroup.\n ///\n /// # Return\n ///\n /// * `true` if `self` has zero torsion component and is in the\n /// prime-order subgroup;\n /// * `false` if `self` has a nonzero torsion component and is not\n /// in the prime-order subgroup.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::constants;\n ///\n /// // Generator of the prime-order subgroup\n /// let P = constants::ED25519_BASEPOINT_POINT;\n /// // Generator of the torsion subgroup\n /// let Q = constants::EIGHT_TORSION[1];\n ///\n /// // P is torsion-free\n /// assert_eq!(P.is_torsion_free(), true);\n ///\n /// // P + Q is not torsion-free\n /// assert_eq!((P+Q).is_torsion_free(), false);\n /// ```\n pub fn is_torsion_free(&self) -> bool {\n (self * constants::BASEPOINT_ORDER).is_identity()\n }\n}\n\n// ------------------------------------------------------------------------\n// Debug traits\n// ------------------------------------------------------------------------\n\nimpl Debug for EdwardsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"EdwardsPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }\n}\n\n// ------------------------------------------------------------------------\n// group traits\n// ------------------------------------------------------------------------\n\n// Use the full trait path to avoid Group::identity overlapping Identity::identity in the\n// rest of the module (e.g. tests).\n#[cfg(feature = \"group\")]\nimpl group::Group for EdwardsPoint {\n type Scalar = Scalar;\n\n fn random(mut rng: impl GroupRngCore) -> Self {\n let mut repr = CompressedEdwardsY([0u8; 32]);\n loop {\n rng.fill_bytes(&mut repr.0);\n if let Some(p) = repr.decompress() {\n if !IsIdentity::is_identity(&p) {\n break p;\n }\n }\n }\n }\n\n fn identity() -> Self {\n Identity::identity()\n }\n\n fn generator() -> Self {\n constants::ED25519_BASEPOINT_POINT\n }\n\n fn is_identity(&self) -> Choice {\n self.ct_eq(&Identity::identity())\n }\n\n fn double(&self) -> Self {\n self.double()\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl GroupEncoding for EdwardsPoint {\n type Repr = [u8; 32];\n\n fn from_bytes(bytes: &Self::Repr) -> CtOption {\n let repr = CompressedEdwardsY(*bytes);\n let (is_valid_y_coord, X, Y, Z) = decompress::step_1(&repr);\n CtOption::new(decompress::step_2(&repr, X, Y, Z), is_valid_y_coord)\n }\n\n fn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption {\n // Just use the checked API; there are no checks we can skip.\n Self::from_bytes(bytes)\n }\n\n fn to_bytes(&self) -> Self::Repr {\n self.compress().to_bytes()\n }\n}\n\n/// A `SubgroupPoint` represents a point on the Edwards form of Curve25519, that is\n/// guaranteed to be in the prime-order subgroup.\n#[cfg(feature = \"group\")]\n#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]\npub struct SubgroupPoint(EdwardsPoint);\n\n#[cfg(feature = \"group\")]\nimpl From for EdwardsPoint {\n fn from(p: SubgroupPoint) -> Self {\n p.0\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl Neg for SubgroupPoint {\n type Output = Self;\n\n fn neg(self) -> Self::Output {\n SubgroupPoint(-self.0)\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl Add<&SubgroupPoint> for &SubgroupPoint {\n type Output = SubgroupPoint;\n fn add(self, other: &SubgroupPoint) -> SubgroupPoint {\n SubgroupPoint(self.0 + other.0)\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_add_variants!(\n LHS = SubgroupPoint,\n RHS = SubgroupPoint,\n Output = SubgroupPoint\n);\n\n#[cfg(feature = \"group\")]\nimpl Add<&SubgroupPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn add(self, other: &SubgroupPoint) -> EdwardsPoint {\n self + other.0\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_add_variants!(\n LHS = EdwardsPoint,\n RHS = SubgroupPoint,\n Output = EdwardsPoint\n);\n\n#[cfg(feature = \"group\")]\nimpl AddAssign<&SubgroupPoint> for SubgroupPoint {\n fn add_assign(&mut self, rhs: &SubgroupPoint) {\n self.0 += rhs.0\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_add_assign_variants!(LHS = SubgroupPoint, RHS = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl AddAssign<&SubgroupPoint> for EdwardsPoint {\n fn add_assign(&mut self, rhs: &SubgroupPoint) {\n *self += rhs.0\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_add_assign_variants!(LHS = EdwardsPoint, RHS = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl Sub<&SubgroupPoint> for &SubgroupPoint {\n type Output = SubgroupPoint;\n fn sub(self, other: &SubgroupPoint) -> SubgroupPoint {\n SubgroupPoint(self.0 - other.0)\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_sub_variants!(\n LHS = SubgroupPoint,\n RHS = SubgroupPoint,\n Output = SubgroupPoint\n);\n\n#[cfg(feature = \"group\")]\nimpl Sub<&SubgroupPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn sub(self, other: &SubgroupPoint) -> EdwardsPoint {\n self - other.0\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_sub_variants!(\n LHS = EdwardsPoint,\n RHS = SubgroupPoint,\n Output = EdwardsPoint\n);\n\n#[cfg(feature = \"group\")]\nimpl SubAssign<&SubgroupPoint> for SubgroupPoint {\n fn sub_assign(&mut self, rhs: &SubgroupPoint) {\n self.0 -= rhs.0;\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_sub_assign_variants!(LHS = SubgroupPoint, RHS = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl SubAssign<&SubgroupPoint> for EdwardsPoint {\n fn sub_assign(&mut self, rhs: &SubgroupPoint) {\n *self -= rhs.0;\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_sub_assign_variants!(LHS = EdwardsPoint, RHS = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl Sum for SubgroupPoint\nwhere\n T: Borrow,\n{\n fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n use group::Group;\n iter.fold(SubgroupPoint::identity(), |acc, item| acc + item.borrow())\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl Mul<&Scalar> for &SubgroupPoint {\n type Output = SubgroupPoint;\n\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, scalar: &Scalar) -> SubgroupPoint {\n SubgroupPoint(self.0 * scalar)\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_mul_variants!(LHS = Scalar, RHS = SubgroupPoint, Output = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl Mul<&SubgroupPoint> for &Scalar {\n type Output = SubgroupPoint;\n\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, point: &SubgroupPoint) -> SubgroupPoint {\n point * self\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_mul_variants!(LHS = SubgroupPoint, RHS = Scalar, Output = SubgroupPoint);\n\n#[cfg(feature = \"group\")]\nimpl MulAssign<&Scalar> for SubgroupPoint {\n fn mul_assign(&mut self, scalar: &Scalar) {\n self.0 *= scalar;\n }\n}\n\n#[cfg(feature = \"group\")]\ndefine_mul_assign_variants!(LHS = SubgroupPoint, RHS = Scalar);\n\n#[cfg(feature = \"group\")]\nimpl ConstantTimeEq for SubgroupPoint {\n fn ct_eq(&self, other: &SubgroupPoint) -> Choice {\n self.0.ct_eq(&other.0)\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl ConditionallySelectable for SubgroupPoint {\n fn conditional_select(a: &SubgroupPoint, b: &SubgroupPoint, choice: Choice) -> SubgroupPoint {\n SubgroupPoint(EdwardsPoint::conditional_select(&a.0, &b.0, choice))\n }\n}\n\n#[cfg(all(feature = \"group\", feature = \"zeroize\"))]\nimpl Zeroize for SubgroupPoint {\n fn zeroize(&mut self) {\n self.0.zeroize();\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl group::Group for SubgroupPoint {\n type Scalar = Scalar;\n\n fn random(mut rng: impl GroupRngCore) -> Self {\n use group::ff::Field;\n\n // This will almost never loop, but `Group::random` is documented as returning a\n // non-identity element.\n let s = loop {\n let s: Scalar = Field::random(&mut rng);\n if !s.is_zero_vartime() {\n break s;\n }\n };\n\n // This gives an element of the prime-order subgroup.\n Self::generator() * s\n }\n\n fn identity() -> Self {\n SubgroupPoint(Identity::identity())\n }\n\n fn generator() -> Self {\n SubgroupPoint(EdwardsPoint::generator())\n }\n\n fn is_identity(&self) -> Choice {\n self.0.ct_eq(&Identity::identity())\n }\n\n fn double(&self) -> Self {\n SubgroupPoint(self.0.double())\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl GroupEncoding for SubgroupPoint {\n type Repr = ::Repr;\n\n fn from_bytes(bytes: &Self::Repr) -> CtOption {\n EdwardsPoint::from_bytes(bytes).and_then(|p| p.into_subgroup())\n }\n\n fn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption {\n EdwardsPoint::from_bytes_unchecked(bytes).and_then(|p| p.into_subgroup())\n }\n\n fn to_bytes(&self) -> Self::Repr {\n self.0.compress().to_bytes()\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl PrimeGroup for SubgroupPoint {}\n\n#[cfg(feature = \"group\")]\nimpl CofactorGroup for EdwardsPoint {\n type Subgroup = SubgroupPoint;\n\n fn clear_cofactor(&self) -> Self::Subgroup {\n SubgroupPoint(self.mul_by_cofactor())\n }\n\n fn into_subgroup(self) -> CtOption {\n CtOption::new(SubgroupPoint(self), CofactorGroup::is_torsion_free(&self))\n }\n\n fn is_torsion_free(&self) -> Choice {\n (self * constants::BASEPOINT_ORDER).ct_eq(&Self::identity())\n }\n}\n\n// ------------------------------------------------------------------------\n// Tests\n// ------------------------------------------------------------------------\n\n#[cfg(test)]\nmod test {\n use super::*;\n use rand::Rng;\n\n #[cfg(feature = \"precomputed-tables\")]\n use crate::constants::ED25519_BASEPOINT_TABLE;\n\n /// X coordinate of the basepoint.\n /// = 15112221349535400772501151409588531511454012693041857206046113283949847762202\n static BASE_X_COORD_BYTES: [u8; 32] = [\n 0x1a, 0xd5, 0x25, 0x8f, 0x60, 0x2d, 0x56, 0xc9, 0xb2, 0xa7, 0x25, 0x95, 0x60, 0xc7, 0x2c,\n 0x69, 0x5c, 0xdc, 0xd6, 0xfd, 0x31, 0xe2, 0xa4, 0xc0, 0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36,\n 0x69, 0x21,\n ];\n\n /// Compressed Edwards Y form of 2*basepoint.\n static BASE2_CMPRSSD: CompressedEdwardsY = CompressedEdwardsY([\n 0xc9, 0xa3, 0xf8, 0x6a, 0xae, 0x46, 0x5f, 0xe, 0x56, 0x51, 0x38, 0x64, 0x51, 0x0f, 0x39,\n 0x97, 0x56, 0x1f, 0xa2, 0xc9, 0xe8, 0x5e, 0xa2, 0x1d, 0xc2, 0x29, 0x23, 0x09, 0xf3, 0xcd,\n 0x60, 0x22,\n ]);\n\n /// Compressed Edwards Y form of 16*basepoint.\n static BASE16_CMPRSSD: CompressedEdwardsY = CompressedEdwardsY([\n 0xeb, 0x27, 0x67, 0xc1, 0x37, 0xab, 0x7a, 0xd8, 0x27, 0x9c, 0x07, 0x8e, 0xff, 0x11, 0x6a,\n 0xb0, 0x78, 0x6e, 0xad, 0x3a, 0x2e, 0x0f, 0x98, 0x9f, 0x72, 0xc3, 0x7f, 0x82, 0xf2, 0x96,\n 0x96, 0x70,\n ]);\n\n /// 4493907448824000747700850167940867464579944529806937181821189941592931634714\n pub static A_SCALAR: Scalar = Scalar {\n bytes: [\n 0x1a, 0x0e, 0x97, 0x8a, 0x90, 0xf6, 0x62, 0x2d, 0x37, 0x47, 0x02, 0x3f, 0x8a, 0xd8,\n 0x26, 0x4d, 0xa7, 0x58, 0xaa, 0x1b, 0x88, 0xe0, 0x40, 0xd1, 0x58, 0x9e, 0x7b, 0x7f,\n 0x23, 0x76, 0xef, 0x09,\n ],\n };\n\n /// 2506056684125797857694181776241676200180934651973138769173342316833279714961\n pub static B_SCALAR: Scalar = Scalar {\n bytes: [\n 0x91, 0x26, 0x7a, 0xcf, 0x25, 0xc2, 0x09, 0x1b, 0xa2, 0x17, 0x74, 0x7b, 0x66, 0xf0,\n 0xb3, 0x2e, 0x9d, 0xf2, 0xa5, 0x67, 0x41, 0xcf, 0xda, 0xc4, 0x56, 0xa7, 0xd4, 0xaa,\n 0xb8, 0x60, 0x8a, 0x05,\n ],\n };\n\n /// A_SCALAR * basepoint, computed with ed25519.py\n pub static A_TIMES_BASEPOINT: CompressedEdwardsY = CompressedEdwardsY([\n 0xea, 0x27, 0xe2, 0x60, 0x53, 0xdf, 0x1b, 0x59, 0x56, 0xf1, 0x4d, 0x5d, 0xec, 0x3c, 0x34,\n 0xc3, 0x84, 0xa2, 0x69, 0xb7, 0x4c, 0xc3, 0x80, 0x3e, 0xa8, 0xe2, 0xe7, 0xc9, 0x42, 0x5e,\n 0x40, 0xa5,\n ]);\n\n /// A_SCALAR * (A_TIMES_BASEPOINT) + B_SCALAR * BASEPOINT\n /// computed with ed25519.py\n static DOUBLE_SCALAR_MULT_RESULT: CompressedEdwardsY = CompressedEdwardsY([\n 0x7d, 0xfd, 0x6c, 0x45, 0xaf, 0x6d, 0x6e, 0x0e, 0xba, 0x20, 0x37, 0x1a, 0x23, 0x64, 0x59,\n 0xc4, 0xc0, 0x46, 0x83, 0x43, 0xde, 0x70, 0x4b, 0x85, 0x09, 0x6f, 0xfe, 0x35, 0x4f, 0x13,\n 0x2b, 0x42,\n ]);\n\n /// Test round-trip decompression for the basepoint.\n #[test]\n fn basepoint_decompression_compression() {\n let base_X = FieldElement::from_bytes(&BASE_X_COORD_BYTES);\n let bp = constants::ED25519_BASEPOINT_COMPRESSED\n .decompress()\n .expect(\"basepoint should decompress\");\n assert!(bp.is_valid());\n // Check that decompression actually gives the correct X coordinate\n assert_eq!(base_X, bp.X);\n assert_eq!(bp.compress(), constants::ED25519_BASEPOINT_COMPRESSED);\n }\n\n /// Test sign handling in decompression\n #[test]\n fn decompression_sign_handling() {\n // Manually set the high bit of the last byte to flip the sign\n let mut minus_basepoint_bytes = *constants::ED25519_BASEPOINT_COMPRESSED.as_bytes();\n minus_basepoint_bytes[31] |= 1 << 7;\n let minus_basepoint = CompressedEdwardsY(minus_basepoint_bytes)\n .decompress()\n .expect(\"minus basepoint should decompress\");\n // Test projective coordinates exactly since we know they should\n // only differ by a flipped sign.\n assert_eq!(minus_basepoint.X, -(&constants::ED25519_BASEPOINT_POINT.X));\n assert_eq!(minus_basepoint.Y, constants::ED25519_BASEPOINT_POINT.Y);\n assert_eq!(minus_basepoint.Z, constants::ED25519_BASEPOINT_POINT.Z);\n assert_eq!(minus_basepoint.T, -(&constants::ED25519_BASEPOINT_POINT.T));\n }\n\n /// Test that computing 1*basepoint gives the correct basepoint.\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn basepoint_mult_one_vs_basepoint() {\n let bp = ED25519_BASEPOINT_TABLE * &Scalar::ONE;\n let compressed = bp.compress();\n assert_eq!(compressed, constants::ED25519_BASEPOINT_COMPRESSED);\n }\n\n /// Test that `EdwardsBasepointTable::basepoint()` gives the correct basepoint.\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn basepoint_table_basepoint_function_correct() {\n let bp = ED25519_BASEPOINT_TABLE.basepoint();\n assert_eq!(bp.compress(), constants::ED25519_BASEPOINT_COMPRESSED);\n }\n\n /// Test `impl Add for EdwardsPoint`\n /// using basepoint + basepoint versus the 2*basepoint constant.\n #[test]\n fn basepoint_plus_basepoint_vs_basepoint2() {\n let bp = constants::ED25519_BASEPOINT_POINT;\n let bp_added = bp + bp;\n assert_eq!(bp_added.compress(), BASE2_CMPRSSD);\n }\n\n /// Test `impl Add for EdwardsPoint`\n /// using the basepoint, basepoint2 constants\n #[test]\n fn basepoint_plus_basepoint_projective_niels_vs_basepoint2() {\n let bp = constants::ED25519_BASEPOINT_POINT;\n let bp_added = (&bp + &bp.as_projective_niels()).as_extended();\n assert_eq!(bp_added.compress(), BASE2_CMPRSSD);\n }\n\n /// Test `impl Add for EdwardsPoint`\n /// using the basepoint, basepoint2 constants\n #[test]\n fn basepoint_plus_basepoint_affine_niels_vs_basepoint2() {\n let bp = constants::ED25519_BASEPOINT_POINT;\n let bp_affine_niels = bp.as_affine_niels();\n let bp_added = (&bp + &bp_affine_niels).as_extended();\n assert_eq!(bp_added.compress(), BASE2_CMPRSSD);\n }\n\n /// Check that equality of `EdwardsPoints` handles projective\n /// coordinates correctly.\n #[test]\n fn extended_point_equality_handles_scaling() {\n let mut two_bytes = [0u8; 32];\n two_bytes[0] = 2;\n let id1 = EdwardsPoint::identity();\n let id2 = EdwardsPoint {\n X: FieldElement::ZERO,\n Y: FieldElement::from_bytes(&two_bytes),\n Z: FieldElement::from_bytes(&two_bytes),\n T: FieldElement::ZERO,\n };\n assert!(bool::from(id1.ct_eq(&id2)));\n }\n\n /// Sanity check for conversion to precomputed points\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn to_affine_niels_clears_denominators() {\n // construct a point as aB so it has denominators (ie. Z != 1)\n let aB = ED25519_BASEPOINT_TABLE * &A_SCALAR;\n let aB_affine_niels = aB.as_affine_niels();\n let also_aB = (&EdwardsPoint::identity() + &aB_affine_niels).as_extended();\n assert_eq!(aB.compress(), also_aB.compress());\n }\n\n /// Test mul_base versus a known scalar multiple from ed25519.py\n #[test]\n fn basepoint_mult_vs_ed25519py() {\n let aB = EdwardsPoint::mul_base(&A_SCALAR);\n assert_eq!(aB.compress(), A_TIMES_BASEPOINT);\n }\n\n /// Test that multiplication by the basepoint order kills the basepoint\n #[test]\n fn basepoint_mult_by_basepoint_order() {\n let should_be_id = EdwardsPoint::mul_base(&constants::BASEPOINT_ORDER);\n assert!(should_be_id.is_identity());\n }\n\n /// Test precomputed basepoint mult\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn test_precomputed_basepoint_mult() {\n let aB_1 = ED25519_BASEPOINT_TABLE * &A_SCALAR;\n let aB_2 = constants::ED25519_BASEPOINT_POINT * A_SCALAR;\n assert_eq!(aB_1.compress(), aB_2.compress());\n }\n\n /// Test scalar_mul versus a known scalar multiple from ed25519.py\n #[test]\n fn scalar_mul_vs_ed25519py() {\n let aB = constants::ED25519_BASEPOINT_POINT * A_SCALAR;\n assert_eq!(aB.compress(), A_TIMES_BASEPOINT);\n }\n\n /// Test basepoint.double() versus the 2*basepoint constant.\n #[test]\n fn basepoint_double_vs_basepoint2() {\n assert_eq!(\n constants::ED25519_BASEPOINT_POINT.double().compress(),\n BASE2_CMPRSSD\n );\n }\n\n /// Test that computing 2*basepoint is the same as basepoint.double()\n #[test]\n fn basepoint_mult_two_vs_basepoint2() {\n let two = Scalar::from(2u64);\n let bp2 = EdwardsPoint::mul_base(&two);\n assert_eq!(bp2.compress(), BASE2_CMPRSSD);\n }\n\n /// Test that all the basepoint table types compute the same results.\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn basepoint_tables() {\n let P = &constants::ED25519_BASEPOINT_POINT;\n let a = A_SCALAR;\n\n let table_radix16 = EdwardsBasepointTableRadix16::create(P);\n let table_radix32 = EdwardsBasepointTableRadix32::create(P);\n let table_radix64 = EdwardsBasepointTableRadix64::create(P);\n let table_radix128 = EdwardsBasepointTableRadix128::create(P);\n let table_radix256 = EdwardsBasepointTableRadix256::create(P);\n\n let aP = (ED25519_BASEPOINT_TABLE * &a).compress();\n let aP16 = (&table_radix16 * &a).compress();\n let aP32 = (&table_radix32 * &a).compress();\n let aP64 = (&table_radix64 * &a).compress();\n let aP128 = (&table_radix128 * &a).compress();\n let aP256 = (&table_radix256 * &a).compress();\n\n assert_eq!(aP, aP16);\n assert_eq!(aP16, aP32);\n assert_eq!(aP32, aP64);\n assert_eq!(aP64, aP128);\n assert_eq!(aP128, aP256);\n }\n\n /// Check unreduced scalar multiplication by the basepoint tables is the same no matter what\n /// radix the table is.\n #[cfg(feature = \"precomputed-tables\")]\n #[test]\n fn basepoint_tables_unreduced_scalar() {\n let P = &constants::ED25519_BASEPOINT_POINT;\n let a = crate::scalar::test::LARGEST_UNREDUCED_SCALAR;\n\n let table_radix16 = EdwardsBasepointTableRadix16::create(P);\n let table_radix32 = EdwardsBasepointTableRadix32::create(P);\n let table_radix64 = EdwardsBasepointTableRadix64::create(P);\n let table_radix128 = EdwardsBasepointTableRadix128::create(P);\n let table_radix256 = EdwardsBasepointTableRadix256::create(P);\n\n let aP = (ED25519_BASEPOINT_TABLE * &a).compress();\n let aP16 = (&table_radix16 * &a).compress();\n let aP32 = (&table_radix32 * &a).compress();\n let aP64 = (&table_radix64 * &a).compress();\n let aP128 = (&table_radix128 * &a).compress();\n let aP256 = (&table_radix256 * &a).compress();\n\n assert_eq!(aP, aP16);\n assert_eq!(aP16, aP32);\n assert_eq!(aP32, aP64);\n assert_eq!(aP64, aP128);\n assert_eq!(aP128, aP256);\n }\n\n /// Check that converting to projective and then back to extended round-trips.\n #[test]\n fn basepoint_projective_extended_round_trip() {\n assert_eq!(\n constants::ED25519_BASEPOINT_POINT\n .as_projective()\n .as_extended()\n .compress(),\n constants::ED25519_BASEPOINT_COMPRESSED\n );\n }\n\n /// Test computing 16*basepoint vs mul_by_pow_2(4)\n #[test]\n fn basepoint16_vs_mul_by_pow_2_4() {\n let bp16 = constants::ED25519_BASEPOINT_POINT.mul_by_pow_2(4);\n assert_eq!(bp16.compress(), BASE16_CMPRSSD);\n }\n\n /// Check that mul_base_clamped and mul_clamped agree\n #[test]\n fn mul_base_clamped() {\n let mut csprng = rand::thread_rng();\n\n // Make a random curve point in the curve. Give it torsion to make things interesting.\n #[cfg(feature = \"precomputed-tables\")]\n let random_point = {\n let mut b = [0u8; 32];\n csprng.fill(&mut b);\n EdwardsPoint::mul_base_clamped(b) + constants::EIGHT_TORSION[1]\n };\n // Make a basepoint table from the random point. We'll use this with mul_base_clamped\n #[cfg(feature = \"precomputed-tables\")]\n let random_table = EdwardsBasepointTableRadix256::create(&random_point);\n\n // Now test scalar mult. agreement on the default basepoint as well as random_point\n\n // Test that mul_base_clamped and mul_clamped agree on a large integer. Even after\n // clamping, this integer is not reduced mod l.\n let a_bytes = [0xff; 32];\n assert_eq!(\n EdwardsPoint::mul_base_clamped(a_bytes),\n constants::ED25519_BASEPOINT_POINT.mul_clamped(a_bytes)\n );\n #[cfg(feature = \"precomputed-tables\")]\n assert_eq!(\n random_table.mul_base_clamped(a_bytes),\n random_point.mul_clamped(a_bytes)\n );\n\n // Test agreement on random integers\n for _ in 0..100 {\n // This will be reduced mod l with probability l / 2^256 ≈ 6.25%\n let mut a_bytes = [0u8; 32];\n csprng.fill(&mut a_bytes);\n\n assert_eq!(\n EdwardsPoint::mul_base_clamped(a_bytes),\n constants::ED25519_BASEPOINT_POINT.mul_clamped(a_bytes)\n );\n #[cfg(feature = \"precomputed-tables\")]\n assert_eq!(\n random_table.mul_base_clamped(a_bytes),\n random_point.mul_clamped(a_bytes)\n );\n }\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn impl_sum() {\n // Test that sum works for non-empty iterators\n let BASE = constants::ED25519_BASEPOINT_POINT;\n\n let s1 = Scalar::from(999u64);\n let P1 = BASE * s1;\n\n let s2 = Scalar::from(333u64);\n let P2 = BASE * s2;\n\n let arr = [P1, P2];\n let sum: EdwardsPoint = arr.iter().sum();\n\n assert_eq!(sum, P1 + P2);\n\n // Test that sum works for the empty iterator\n let empty_array: [EdwardsPoint; 0] = [];\n let sum: EdwardsPoint = empty_array.iter().sum();\n\n assert_eq!(sum, EdwardsPoint::identity());\n\n // Test that sum works on owning iterators\n let s = Scalar::from(2u64);\n let mapped = arr.iter().map(|x| x * s);\n let sum: EdwardsPoint = mapped.sum();\n\n assert_eq!(sum, P1 * s + P2 * s);\n }\n\n /// Test that the conditional assignment trait works for AffineNielsPoints.\n #[test]\n fn conditional_assign_for_affine_niels_point() {\n let id = AffineNielsPoint::identity();\n let mut p1 = AffineNielsPoint::identity();\n let bp = constants::ED25519_BASEPOINT_POINT.as_affine_niels();\n\n p1.conditional_assign(&bp, Choice::from(0));\n assert_eq!(p1, id);\n p1.conditional_assign(&bp, Choice::from(1));\n assert_eq!(p1, bp);\n }\n\n #[test]\n fn is_small_order() {\n // The basepoint has large prime order\n assert!(!constants::ED25519_BASEPOINT_POINT.is_small_order());\n // constants::EIGHT_TORSION has all points of small order.\n for torsion_point in &constants::EIGHT_TORSION {\n assert!(torsion_point.is_small_order());\n }\n }\n\n #[test]\n fn compressed_identity() {\n assert_eq!(\n EdwardsPoint::identity().compress(),\n CompressedEdwardsY::identity()\n );\n\n #[cfg(feature = \"alloc\")]\n {\n let compressed = EdwardsPoint::compress_batch(&[EdwardsPoint::identity()]);\n assert_eq!(&compressed, &[CompressedEdwardsY::identity()]);\n }\n }\n\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n #[test]\n fn compress_batch() {\n let mut rng = rand::thread_rng();\n\n // TODO(tarcieri): proptests?\n // Make some points deterministically then randomly\n let mut points = (1u64..16)\n .map(|n| constants::ED25519_BASEPOINT_POINT * Scalar::from(n))\n .collect::>();\n points.extend(core::iter::repeat_with(|| EdwardsPoint::random(&mut rng)).take(100));\n let compressed = EdwardsPoint::compress_batch(&points);\n\n // Check that the batch-compressed points match the individually compressed ones\n for (point, compressed) in points.iter().zip(&compressed) {\n assert_eq!(&point.compress(), compressed);\n }\n }\n\n #[test]\n fn is_identity() {\n assert!(EdwardsPoint::identity().is_identity());\n assert!(!constants::ED25519_BASEPOINT_POINT.is_identity());\n }\n\n /// Rust's debug builds have overflow and underflow trapping,\n /// and enable `debug_assert!()`. This performs many scalar\n /// multiplications to attempt to trigger possible overflows etc.\n ///\n /// For instance, the `u64` `Mul` implementation for\n /// `FieldElements` requires the input `Limb`s to be bounded by\n /// 2^54, but we cannot enforce this dynamically at runtime, or\n /// statically at compile time (until Rust gets type-level\n /// integers, at which point we can encode \"bits of headroom\" into\n /// the type system and prove correctness).\n #[test]\n fn monte_carlo_overflow_underflow_debug_assert_test() {\n let mut P = constants::ED25519_BASEPOINT_POINT;\n // N.B. each scalar_mul does 1407 field mults, 1024 field squarings,\n // so this does ~ 1M of each operation.\n for _ in 0..1_000 {\n P *= &A_SCALAR;\n }\n }\n\n #[test]\n fn scalarmult_extended_point_works_both_ways() {\n let G: EdwardsPoint = constants::ED25519_BASEPOINT_POINT;\n let s: Scalar = A_SCALAR;\n\n let P1 = G * s;\n let P2 = s * G;\n\n assert!(P1.compress().to_bytes() == P2.compress().to_bytes());\n }\n\n // A single iteration of a consistency check for MSM.\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_iter(n: usize) {\n let mut rng = rand::thread_rng();\n\n // Construct random coefficients x0, ..., x_{n-1},\n // followed by some extra hardcoded ones.\n let xs = (0..n).map(|_| Scalar::random(&mut rng)).collect::>();\n let check = xs.iter().map(|xi| xi * xi).sum::();\n\n // Construct points G_i = x_i * B\n let Gs = xs.iter().map(EdwardsPoint::mul_base).collect::>();\n\n // Compute H1 = (consttime)\n let H1 = EdwardsPoint::multiscalar_mul(&xs, &Gs);\n // Compute H2 = (vartime)\n let H2 = EdwardsPoint::vartime_multiscalar_mul(&xs, &Gs);\n // Compute H3 = = sum(xi^2) * B\n let H3 = EdwardsPoint::mul_base(&check);\n\n assert_eq!(H1, H3);\n assert_eq!(H2, H3);\n }\n\n // Use different multiscalar sizes to hit different internal\n // parameters.\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_n_100() {\n let iters = 50;\n for _ in 0..iters {\n multiscalar_consistency_iter(100);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_n_250() {\n let iters = 50;\n for _ in 0..iters {\n multiscalar_consistency_iter(250);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_n_500() {\n let iters = 50;\n for _ in 0..iters {\n multiscalar_consistency_iter(500);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn multiscalar_consistency_n_1000() {\n let iters = 50;\n for _ in 0..iters {\n multiscalar_consistency_iter(1000);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn batch_to_montgomery() {\n let mut rng = rand::thread_rng();\n\n let scalars = (0..128)\n .map(|_| Scalar::random(&mut rng))\n .collect::>();\n\n let points = scalars\n .iter()\n .map(EdwardsPoint::mul_base)\n .collect::>();\n\n let single_monts = points\n .iter()\n .map(EdwardsPoint::to_montgomery)\n .collect::>();\n\n for i in [0, 1, 2, 3, 10, 50, 128] {\n let invs = EdwardsPoint::to_montgomery_batch(&points[..i]);\n assert_eq!(&invs, &single_monts[..i]);\n }\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"rand_core\"))]\n fn vartime_precomputed_vs_nonprecomputed_multiscalar() {\n let mut rng = rand::thread_rng();\n\n let static_scalars = (0..128)\n .map(|_| Scalar::random(&mut rng))\n .collect::>();\n\n let dynamic_scalars = (0..128)\n .map(|_| Scalar::random(&mut rng))\n .collect::>();\n\n let check_scalar: Scalar = static_scalars\n .iter()\n .chain(dynamic_scalars.iter())\n .map(|s| s * s)\n .sum();\n\n let static_points = static_scalars\n .iter()\n .map(EdwardsPoint::mul_base)\n .collect::>();\n let dynamic_points = dynamic_scalars\n .iter()\n .map(EdwardsPoint::mul_base)\n .collect::>();\n\n let precomputation = VartimeEdwardsPrecomputation::new(static_points.iter());\n\n assert_eq!(precomputation.len(), 128);\n assert!(!precomputation.is_empty());\n\n let P = precomputation.vartime_mixed_multiscalar_mul(\n &static_scalars,\n &dynamic_scalars,\n &dynamic_points,\n );\n\n use crate::traits::VartimeMultiscalarMul;\n let Q = EdwardsPoint::vartime_multiscalar_mul(\n static_scalars.iter().chain(dynamic_scalars.iter()),\n static_points.iter().chain(dynamic_points.iter()),\n );\n\n let R = EdwardsPoint::mul_base(&check_scalar);\n\n assert_eq!(P.compress(), R.compress());\n assert_eq!(Q.compress(), R.compress());\n }\n\n mod vartime {\n use super::super::*;\n use super::{A_SCALAR, A_TIMES_BASEPOINT, B_SCALAR, DOUBLE_SCALAR_MULT_RESULT};\n\n /// Test double_scalar_mul_vartime vs ed25519.py\n #[test]\n fn double_scalar_mul_basepoint_vs_ed25519py() {\n let A = A_TIMES_BASEPOINT\n .decompress()\n .expect(\"test point should decompress\");\n let result =\n EdwardsPoint::vartime_double_scalar_mul_basepoint(&A_SCALAR, &A, &B_SCALAR);\n assert_eq!(result.compress(), DOUBLE_SCALAR_MULT_RESULT);\n }\n\n #[test]\n fn triple_scalar_mul_basepoint_accepts_full_width_scalars() {\n let mut a1_bytes = [0u8; 32];\n a1_bytes[0] = 7;\n a1_bytes[16] = 1;\n let a1 = Scalar::from_canonical_bytes(a1_bytes).unwrap();\n\n let mut a2_bytes = [0u8; 32];\n a2_bytes[0] = 11;\n a2_bytes[24] = 1;\n let a2 = Scalar::from_canonical_bytes(a2_bytes).unwrap();\n\n let b = B_SCALAR;\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(17u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(19u64);\n\n let result = EdwardsPoint::vartime_triple_scalar_mul_basepoint(&a1, &A1, &a2, &A2, &b);\n let expected = (a1 * A1) + (a2 * A2) + EdwardsPoint::mul_base(&b);\n\n assert_eq!(result, expected);\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn multiscalar_mul_vs_ed25519py() {\n let A = A_TIMES_BASEPOINT\n .decompress()\n .expect(\"test point should decompress\");\n let result = EdwardsPoint::vartime_multiscalar_mul(\n &[A_SCALAR, B_SCALAR],\n &[A, constants::ED25519_BASEPOINT_POINT],\n );\n assert_eq!(result.compress(), DOUBLE_SCALAR_MULT_RESULT);\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn multiscalar_mul_vartime_vs_consttime() {\n let A = A_TIMES_BASEPOINT\n .decompress()\n .expect(\"test point should decompress\");\n let result_vartime = EdwardsPoint::vartime_multiscalar_mul(\n &[A_SCALAR, B_SCALAR],\n &[A, constants::ED25519_BASEPOINT_POINT],\n );\n let result_consttime = EdwardsPoint::multiscalar_mul(\n &[A_SCALAR, B_SCALAR],\n &[A, constants::ED25519_BASEPOINT_POINT],\n );\n\n assert_eq!(result_vartime.compress(), result_consttime.compress());\n }\n }\n\n #[test]\n #[cfg(feature = \"serde\")]\n fn serde_bincode_basepoint_roundtrip() {\n use bincode;\n\n let encoded = bincode::serialize(&constants::ED25519_BASEPOINT_POINT).unwrap();\n let enc_compressed = bincode::serialize(&constants::ED25519_BASEPOINT_COMPRESSED).unwrap();\n assert_eq!(encoded, enc_compressed);\n\n // Check that the encoding is 32 bytes exactly\n assert_eq!(encoded.len(), 32);\n\n let dec_uncompressed: EdwardsPoint = bincode::deserialize(&encoded).unwrap();\n let dec_compressed: CompressedEdwardsY = bincode::deserialize(&encoded).unwrap();\n\n assert_eq!(dec_uncompressed, constants::ED25519_BASEPOINT_POINT);\n assert_eq!(dec_compressed, constants::ED25519_BASEPOINT_COMPRESSED);\n\n // Check that the encoding itself matches the usual one\n let raw_bytes = constants::ED25519_BASEPOINT_COMPRESSED.as_bytes();\n let bp: EdwardsPoint = bincode::deserialize(raw_bytes).unwrap();\n assert_eq!(bp, constants::ED25519_BASEPOINT_POINT);\n }\n\n // Hash-to-curve test vectors from\n // https://www.rfc-editor.org/rfc/rfc9380.html#appendix-J.5.2\n // These are of the form (input_msg, output_x, output_y)\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n const RFC_ENCODE_TO_CURVE_KAT: &[(&[u8], &str, &str)] = &[\n (\n b\"\",\n \"1ff2b70ecf862799e11b7ae744e3489aa058ce805dd323a936375a84695e76da\",\n \"222e314d04a4d5725e9f2aff9fb2a6b69ef375a1214eb19021ceab2d687f0f9b\",\n ),\n (\n b\"abc\",\n \"5f13cc69c891d86927eb37bd4afc6672360007c63f68a33ab423a3aa040fd2a8\",\n \"67732d50f9a26f73111dd1ed5dba225614e538599db58ba30aaea1f5c827fa42\",\n ),\n (\n b\"abcdef0123456789\",\n \"1dd2fefce934ecfd7aae6ec998de088d7dd03316aa1847198aecf699ba6613f1\",\n \"2f8a6c24dd1adde73909cada6a4a137577b0f179d336685c4a955a0a8e1a86fb\",\n ),\n (\n b\"q128_qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\\\n qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",\n \"35fbdc5143e8a97afd3096f2b843e07df72e15bfca2eaf6879bf97c5d3362f73\",\n \"2af6ff6ef5ebba128b0774f4296cb4c2279a074658b083b8dcca91f57a603450\",\n ),\n (\n b\"a512_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"6e5e1f37e99345887fc12111575fc1c3e36df4b289b8759d23af14d774b66bff\",\n \"2c90c3d39eb18ff291d33441b35f3262cdd307162cc97c31bfcc7a4245891a37\"\n )\n ];\n\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n fn hex_str_to_fe(hex_str: &str) -> FieldElement {\n let mut bytes = hex::decode(hex_str).expect(\"RFC test vector hex must decode\");\n bytes.reverse();\n let bytes: [u8; 32] = bytes\n .try_into()\n .expect(\"RFC test vector field element must be 32 bytes\");\n FieldElement::from_bytes(&bytes)\n }\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n fn elligator_encode_to_curve_test_vectors() {\n let dst = b\"QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_NU_\";\n for (index, vector) in RFC_ENCODE_TO_CURVE_KAT.iter().enumerate() {\n let input = vector.0;\n\n let expected_output = {\n let x = hex_str_to_fe(vector.1);\n let y = hex_str_to_fe(vector.2);\n AffinePoint { x, y }.to_edwards()\n };\n\n let computed = EdwardsPoint::encode_to_curve::(&[input], &[dst]);\n assert_eq!(computed, expected_output, \"Failed in test {}\", index);\n }\n }\n\n // Hash-to-curve test vectors from\n // https://www.rfc-editor.org/rfc/rfc9380.html#appendix-J.5.1\n // These are of the form (input_msg, output_x, output_y)\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n const RFC_HASH_TO_CURVE_KAT: &[(&[u8], &str, &str)] = &[\n (\n b\"\",\n \"3c3da6925a3c3c268448dcabb47ccde5439559d9599646a8260e47b1e4822fc6\",\n \"09a6c8561a0b22bef63124c588ce4c62ea83a3c899763af26d795302e115dc21\",\n ),\n\n (\n b\"abc\",\n \"608040b42285cc0d72cbb3985c6b04c935370c7361f4b7fbdb1ae7f8c1a8ecad\",\n \"1a8395b88338f22e435bbd301183e7f20a5f9de643f11882fb237f88268a5531\",\n ),\n\n (\n b\"abcdef0123456789\",\n \"6d7fabf47a2dc03fe7d47f7dddd21082c5fb8f86743cd020f3fb147d57161472\",\n \"53060a3d140e7fbcda641ed3cf42c88a75411e648a1add71217f70ea8ec561a6\",\n ),\n (\n b\"q128_qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\\\n qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",\n \"5fb0b92acedd16f3bcb0ef83f5c7b7a9466b5f1e0d8d217421878ea3686f8524\",\n \"2eca15e355fcfa39d2982f67ddb0eea138e2994f5956ed37b7f72eea5e89d2f7\",\n ),\n (\n b\"a512_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\n aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n \"0efcfde5898a839b00997fbe40d2ebe950bc81181afbd5cd6b9618aa336c1e8c\",\n \"6dc2fc04f266c5c27f236a80b14f92ccd051ef1ff027f26a07f8c0f327d8f995\"\n )\n ];\n\n #[test]\n #[cfg(all(feature = \"alloc\", feature = \"digest\"))]\n fn elligator_hash_to_curve_test_vectors() {\n let dst = b\"QUUX-V01-CS02-with-edwards25519_XMD:SHA-512_ELL2_RO_\";\n for (index, vector) in RFC_HASH_TO_CURVE_KAT.iter().enumerate() {\n let input = vector.0;\n\n let expected_output = {\n let x = hex_str_to_fe(vector.1);\n let y = hex_str_to_fe(vector.2);\n\n AffinePoint { x, y }.to_edwards()\n };\n\n let computed = EdwardsPoint::hash_to_curve::(&[input], &[dst]);\n\n assert_eq!(expected_output, computed, \"Failed in test {}\", index);\n }\n }\n}\n"},{"id":8,"name":{"Local":"curve25519/solana-ed25519/src/macros.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis agora lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Internal macros.\n\n/// Define borrow and non-borrow variants of `Add`.\nmacro_rules! define_add_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty, Output = $out:ty) => {\n impl<'b> Add<&'b $rhs> for $lhs {\n type Output = $out;\n fn add(self, rhs: &'b $rhs) -> $out {\n &self + rhs\n }\n }\n\n impl<'a> Add<$rhs> for &'a $lhs {\n type Output = $out;\n fn add(self, rhs: $rhs) -> $out {\n self + &rhs\n }\n }\n\n impl Add<$rhs> for $lhs {\n type Output = $out;\n fn add(self, rhs: $rhs) -> $out {\n &self + &rhs\n }\n }\n };\n}\n\n/// Define non-borrow variants of `AddAssign`.\nmacro_rules! define_add_assign_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty) => {\n impl AddAssign<$rhs> for $lhs {\n fn add_assign(&mut self, rhs: $rhs) {\n *self += &rhs;\n }\n }\n };\n}\n\n/// Define borrow and non-borrow variants of `Sub`.\nmacro_rules! define_sub_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty, Output = $out:ty) => {\n impl<'b> Sub<&'b $rhs> for $lhs {\n type Output = $out;\n fn sub(self, rhs: &'b $rhs) -> $out {\n &self - rhs\n }\n }\n\n impl<'a> Sub<$rhs> for &'a $lhs {\n type Output = $out;\n fn sub(self, rhs: $rhs) -> $out {\n self - &rhs\n }\n }\n\n impl Sub<$rhs> for $lhs {\n type Output = $out;\n fn sub(self, rhs: $rhs) -> $out {\n &self - &rhs\n }\n }\n };\n}\n\n/// Define non-borrow variants of `SubAssign`.\nmacro_rules! define_sub_assign_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty) => {\n impl SubAssign<$rhs> for $lhs {\n fn sub_assign(&mut self, rhs: $rhs) {\n *self -= &rhs;\n }\n }\n };\n}\n\n/// Define borrow and non-borrow variants of `Mul`.\nmacro_rules! define_mul_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty, Output = $out:ty) => {\n impl<'b> Mul<&'b $rhs> for $lhs {\n type Output = $out;\n fn mul(self, rhs: &'b $rhs) -> $out {\n &self * rhs\n }\n }\n\n impl<'a> Mul<$rhs> for &'a $lhs {\n type Output = $out;\n fn mul(self, rhs: $rhs) -> $out {\n self * &rhs\n }\n }\n\n impl Mul<$rhs> for $lhs {\n type Output = $out;\n fn mul(self, rhs: $rhs) -> $out {\n &self * &rhs\n }\n }\n };\n}\n\n/// Define non-borrow variants of `MulAssign`.\nmacro_rules! define_mul_assign_variants {\n (LHS = $lhs:ty, RHS = $rhs:ty) => {\n impl MulAssign<$rhs> for $lhs {\n fn mul_assign(&mut self, rhs: $rhs) {\n *self *= &rhs;\n }\n }\n };\n}\n"},{"id":9,"name":{"Local":"/rustc/library/core/src/cmp.rs"},"crate_name":"core","contents":null},{"id":10,"name":{"Local":"/rustc/library/core/src/lib.rs"},"crate_name":"core","contents":null},{"id":11,"name":{"Local":"/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs"},"crate_name":"subtle","contents":null},{"id":12,"name":{"Local":"/rustc/library/core/src/default.rs"},"crate_name":"core","contents":null},{"id":13,"name":{"Local":"/rustc/library/core/src/marker.rs"},"crate_name":"core","contents":null},{"id":14,"name":{"Local":"/rustc/library/core/src/clone.rs"},"crate_name":"core","contents":null},{"id":15,"name":{"Local":"/rustc/library/core/src/fmt/mod.rs"},"crate_name":"core","contents":null},{"id":16,"name":{"Local":"/rustc/library/core/src/ops/arith.rs"},"crate_name":"core","contents":null},{"id":17,"name":{"Local":"/rustc/library/core/src/ops/mod.rs"},"crate_name":"core","contents":null},{"id":18,"name":{"Local":"curve25519/solana-ed25519/src/traits.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek / curve25519-sol.\n// Original curve25519-dalek code:\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// Additions for curve25519-sol:\n// Copyright (c) 2025 curve25519-sol contributors\n// See LICENSE for licensing information.\n//\n// Original authors:\n// - isis agora lovecruft \n// - Henry de Valence \n//\n// Additions in curve25519-sol:\n// - `HEEADecomposition` trait for half-extended Euclidean scalar decomposition.\n\n//! Module for common traits.\n\n#![allow(non_snake_case)]\n\nuse core::borrow::Borrow;\n\nuse crate::scalar::{Scalar, clamp_integer};\nuse subtle::ConstantTimeEq;\n\n// ------------------------------------------------------------------------\n// Public Traits\n// ------------------------------------------------------------------------\n\n/// Trait for getting the identity element of a point type.\npub trait Identity {\n /// Returns the identity element of the curve.\n /// Can be used as a constructor.\n fn identity() -> Self;\n}\n\n/// Trait for testing if a curve point is equivalent to the identity point.\npub trait IsIdentity {\n /// Return true if this element is the identity element of the curve.\n fn is_identity(&self) -> bool;\n}\n\n/// Implement generic identity equality testing for a point representations\n/// which have constant-time equality testing and a defined identity\n/// constructor.\nimpl IsIdentity for T\nwhere\n T: ConstantTimeEq + Identity,\n{\n fn is_identity(&self) -> bool {\n self.ct_eq(&T::identity()).into()\n }\n}\n\n/// A precomputed table of basepoints, for optimising scalar multiplications.\npub trait BasepointTable {\n /// The type of point contained within this table.\n type Point;\n\n /// Generate a new precomputed basepoint table from the given basepoint.\n fn create(basepoint: &Self::Point) -> Self;\n\n /// Retrieve the original basepoint from this table.\n fn basepoint(&self) -> Self::Point;\n\n /// Multiply a `scalar` by this precomputed basepoint table, in constant time.\n fn mul_base(&self, scalar: &Scalar) -> Self::Point;\n\n /// Multiply `clamp_integer(bytes)` by this precomputed basepoint table, in constant time. For\n /// a description of clamping, see [`clamp_integer`].\n fn mul_base_clamped(&self, bytes: [u8; 32]) -> Self::Point {\n // Basepoint multiplication is defined for all values of `bytes` up to and including\n // 2^255 - 1. The limit comes from the fact that scalar.as_radix_16() doesn't work for\n // most scalars larger than 2^255.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n self.mul_base(&s)\n }\n}\n\n/// A trait for constant-time multiscalar multiplication without precomputation.\npub trait MultiscalarMul {\n /// The type of point being multiplied, e.g., `RistrettoPoint`.\n type Point;\n\n /// Given an iterator of (possibly secret) scalars and an iterator of\n /// public points, compute\n /// $$\n /// Q = c\\_1 P\\_1 + \\cdots + c\\_n P\\_n.\n /// $$\n ///\n /// It is an error to call this function with two iterators of different lengths.\n ///\n /// # Examples\n ///\n /// The trait bound aims for maximum flexibility: the inputs must be\n /// convertible to iterators (`I: IntoIter`), and the iterator's items\n /// must be `Borrow` (or `Borrow`), to allow\n /// iterators returning either `Scalar`s or `&Scalar`s.\n ///\n /// ```\n /// # #[cfg(feature = \"alloc\")]\n /// # {\n /// use curve25519::constants;\n /// use curve25519::traits::MultiscalarMul;\n /// use curve25519::ristretto::RistrettoPoint;\n /// use curve25519::scalar::Scalar;\n ///\n /// // Some scalars\n /// let a = Scalar::from(87329482u64);\n /// let b = Scalar::from(37264829u64);\n /// let c = Scalar::from(98098098u64);\n ///\n /// // Some points\n /// let P = constants::RISTRETTO_BASEPOINT_POINT;\n /// let Q = P + P;\n /// let R = P + Q;\n ///\n /// // A1 = a*P + b*Q + c*R\n /// let abc = [a,b,c];\n /// let A1 = RistrettoPoint::multiscalar_mul(&abc, &[P,Q,R]);\n /// // Note: (&abc).into_iter(): Iterator\n ///\n /// // A2 = (-a)*P + (-b)*Q + (-c)*R\n /// let minus_abc = abc.iter().map(|x| -x);\n /// let A2 = RistrettoPoint::multiscalar_mul(minus_abc, &[P,Q,R]);\n /// // Note: minus_abc.into_iter(): Iterator\n ///\n /// assert_eq!(A1.compress(), (-A2).compress());\n /// # }\n /// ```\n fn multiscalar_mul(scalars: I, points: J) -> Self::Point\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow;\n}\n\n/// A trait for variable-time multiscalar multiplication without precomputation.\npub trait VartimeMultiscalarMul {\n /// The type of point being multiplied, e.g., `RistrettoPoint`.\n type Point;\n\n /// Given an iterator of public scalars and an iterator of\n /// `Option`s of points, compute either `Some(Q)`, where\n /// $$\n /// Q = c\\_1 P\\_1 + \\cdots + c\\_n P\\_n,\n /// $$\n /// if all points were `Some(P_i)`, or else return `None`.\n ///\n /// This function is particularly useful when verifying statements\n /// involving compressed points. Accepting `Option` allows\n /// inlining point decompression into the multiscalar call,\n /// avoiding the need for temporary buffers.\n ///\n /// ```\n /// #[cfg(feature = \"alloc\")]\n /// # {\n /// use curve25519::constants;\n /// use curve25519::traits::VartimeMultiscalarMul;\n /// use curve25519::ristretto::RistrettoPoint;\n /// use curve25519::scalar::Scalar;\n ///\n /// // Some scalars\n /// let a = Scalar::from(87329482u64);\n /// let b = Scalar::from(37264829u64);\n /// let c = Scalar::from(98098098u64);\n /// let abc = [a,b,c];\n ///\n /// // Some points\n /// let P = constants::RISTRETTO_BASEPOINT_POINT;\n /// let Q = P + P;\n /// let R = P + Q;\n /// let PQR = [P, Q, R];\n ///\n /// let compressed = [P.compress(), Q.compress(), R.compress()];\n ///\n /// // Now we can compute A1 = a*P + b*Q + c*R using P, Q, R:\n /// let A1 = RistrettoPoint::vartime_multiscalar_mul(&abc, &PQR);\n ///\n /// // Or using the compressed points:\n /// let A2 = RistrettoPoint::optional_multiscalar_mul(\n /// &abc,\n /// compressed.iter().map(|pt| pt.decompress()),\n /// );\n ///\n /// assert_eq!(A2, Some(A1));\n ///\n /// // It's also possible to mix compressed and uncompressed points:\n /// let A3 = RistrettoPoint::optional_multiscalar_mul(\n /// abc.iter()\n /// .chain(abc.iter()),\n /// compressed.iter().map(|pt| pt.decompress())\n /// .chain(PQR.iter().map(|&pt| Some(pt))),\n /// );\n ///\n /// assert_eq!(A3, Some(A1+A1));\n /// # }\n /// ```\n fn optional_multiscalar_mul(scalars: I, points: J) -> Option\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator>;\n\n /// Given an iterator of public scalars and an iterator of\n /// public points, compute\n /// $$\n /// Q = c\\_1 P\\_1 + \\cdots + c\\_n P\\_n,\n /// $$\n /// using variable-time operations.\n ///\n /// It is an error to call this function with two iterators of different lengths.\n ///\n /// # Examples\n ///\n /// The trait bound aims for maximum flexibility: the inputs must be\n /// convertible to iterators (`I: IntoIter`), and the iterator's items\n /// must be `Borrow` (or `Borrow`), to allow\n /// iterators returning either `Scalar`s or `&Scalar`s.\n ///\n /// ```\n /// #[cfg(feature = \"alloc\")]\n /// # {\n /// use curve25519::constants;\n /// use curve25519::traits::VartimeMultiscalarMul;\n /// use curve25519::ristretto::RistrettoPoint;\n /// use curve25519::scalar::Scalar;\n ///\n /// // Some scalars\n /// let a = Scalar::from(87329482u64);\n /// let b = Scalar::from(37264829u64);\n /// let c = Scalar::from(98098098u64);\n ///\n /// // Some points\n /// let P = constants::RISTRETTO_BASEPOINT_POINT;\n /// let Q = P + P;\n /// let R = P + Q;\n ///\n /// // A1 = a*P + b*Q + c*R\n /// let abc = [a,b,c];\n /// let A1 = RistrettoPoint::vartime_multiscalar_mul(&abc, &[P,Q,R]);\n /// // Note: (&abc).into_iter(): Iterator\n ///\n /// // A2 = (-a)*P + (-b)*Q + (-c)*R\n /// let minus_abc = abc.iter().map(|x| -x);\n /// let A2 = RistrettoPoint::vartime_multiscalar_mul(minus_abc, &[P,Q,R]);\n /// // Note: minus_abc.into_iter(): Iterator\n ///\n /// assert_eq!(A1.compress(), (-A2).compress());\n /// # }\n /// ```\n fn vartime_multiscalar_mul(scalars: I, points: J) -> Self::Point\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n Self::Point: Clone,\n {\n Self::optional_multiscalar_mul(\n scalars,\n points.into_iter().map(|P| Some(P.borrow().clone())),\n )\n .expect(\"should return some point\")\n }\n}\n\n/// A trait for variable-time multiscalar multiplication with precomputation.\n///\n/// A general multiscalar multiplication with precomputation can be written as\n/// $$\n/// Q = a_1 A_1 + \\cdots + a_n A_n + b_1 B_1 + \\cdots + b_m B_m,\n/// $$\n/// where the \\\\(B_i\\\\) are *static* points, for which precomputation\n/// is possible, and the \\\\(A_j\\\\) are *dynamic* points, for which\n/// precomputation is not possible.\n///\n/// This trait has three methods for performing this computation:\n///\n/// * [`Self::vartime_multiscalar_mul`], which handles the special case where\n/// \\\\(n = 0\\\\) and there are no dynamic points;\n///\n/// * [`Self::vartime_mixed_multiscalar_mul`], which takes the dynamic points as\n/// already-validated `Point`s and is infallible;\n///\n/// * [`Self::optional_mixed_multiscalar_mul`], which takes the dynamic points\n/// as `Option`s and returns an `Option`, allowing decompression\n/// to be composed into the input iterators.\n///\n/// All methods require that the lengths of the input iterators be\n/// known, as if they were `ExactSizeIterator`s. (It\n/// does not require `ExactSizeIterator` only because that trait is\n/// broken).\npub trait VartimePrecomputedMultiscalarMul: Sized {\n /// The type of point to be multiplied, e.g., `RistrettoPoint`.\n type Point: Clone;\n\n /// Given the static points \\\\( B_i \\\\), perform precomputation\n /// and return the precomputation data.\n fn new(static_points: I) -> Self\n where\n I: IntoIterator,\n I::Item: Borrow;\n\n /// Return the number of static points in the precomputation.\n fn len(&self) -> usize;\n\n /// Determine if the precomputation is empty.\n fn is_empty(&self) -> bool;\n\n /// Given `static_scalars`, an iterator of public scalars\n /// \\\\(b_i\\\\), compute\n /// $$\n /// Q = b_1 B_1 + \\cdots + b_m B_m,\n /// $$\n /// where the \\\\(B_j\\\\) are the points that were supplied to `new`.\n ///\n /// It is valid for \\\\(b_i\\\\) to have a shorter length than \\\\(B_j\\\\).\n /// In this case, any \"unused\" points are ignored in the computation.\n /// It is an error to call this function if \\\\(b_i\\\\) has a longer\n /// length than \\\\(B_j\\\\).\n ///\n /// The trait bound aims for maximum flexibility: the input must\n /// be convertible to iterators (`I: IntoIter`), and the\n /// iterator's items must be `Borrow`, to allow iterators\n /// returning either `Scalar`s or `&Scalar`s.\n fn vartime_multiscalar_mul(&self, static_scalars: I) -> Self::Point\n where\n I: IntoIterator,\n I::Item: Borrow,\n {\n use core::iter;\n\n Self::vartime_mixed_multiscalar_mul(\n self,\n static_scalars,\n iter::empty::(),\n iter::empty::(),\n )\n }\n\n /// Given `static_scalars`, an iterator of public scalars\n /// \\\\(b_i\\\\), `dynamic_scalars`, an iterator of public scalars\n /// \\\\(a_i\\\\), and `dynamic_points`, an iterator of points\n /// \\\\(A_i\\\\), compute\n /// $$\n /// Q = a_1 A_1 + \\cdots + a_n A_n + b_1 B_1 + \\cdots + b_m B_m,\n /// $$\n /// where the \\\\(B_j\\\\) are the points that were supplied to `new`.\n ///\n /// It is valid for \\\\(b_i\\\\) to have a shorter length than \\\\(B_j\\\\).\n /// In this case, any \"unused\" points are ignored in the computation.\n /// It is an error to call this function if \\\\(b_i\\\\) has a longer\n /// length than \\\\(B_j\\\\), or if \\\\(a_i\\\\) and \\\\(A_i\\\\) do not have\n /// the same length.\n ///\n /// The trait bound aims for maximum flexibility: the inputs must be\n /// convertible to iterators (`I: IntoIter`), and the iterator's items\n /// must be `Borrow` (or `Borrow`), to allow\n /// iterators returning either `Scalar`s or `&Scalar`s.\n fn vartime_mixed_multiscalar_mul(\n &self,\n static_scalars: I,\n dynamic_scalars: J,\n dynamic_points: K,\n ) -> Self::Point\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n K: IntoIterator,\n K::Item: Borrow,\n {\n Self::optional_mixed_multiscalar_mul(\n self,\n static_scalars,\n dynamic_scalars,\n dynamic_points.into_iter().map(|P| Some(P.borrow().clone())),\n )\n .expect(\"should return some point\")\n }\n\n /// Given `static_scalars`, an iterator of public scalars\n /// \\\\(b_i\\\\), `dynamic_scalars`, an iterator of public scalars\n /// \\\\(a_i\\\\), and `dynamic_points`, an iterator of points\n /// \\\\(A_i\\\\), compute\n /// $$\n /// Q = a_1 A_1 + \\cdots + a_n A_n + b_1 B_1 + \\cdots + b_m B_m,\n /// $$\n /// where the \\\\(B_j\\\\) are the points that were supplied to `new`.\n ///\n /// If any of the dynamic points were `None`, return `None`.\n ///\n /// It is valid for \\\\(b_i\\\\) to have a shorter length than \\\\(B_j\\\\).\n /// In this case, any \"unused\" points are ignored in the computation.\n /// It is an error to call this function if \\\\(b_i\\\\) has a longer\n /// length than \\\\(B_j\\\\), or if \\\\(a_i\\\\) and \\\\(A_i\\\\) do not have\n /// the same length.\n ///\n /// This function is particularly useful when verifying statements\n /// involving compressed points. Accepting `Option` allows\n /// inlining point decompression into the multiscalar call,\n /// avoiding the need for temporary buffers.\n fn optional_mixed_multiscalar_mul(\n &self,\n static_scalars: I,\n dynamic_scalars: J,\n dynamic_points: K,\n ) -> Option\n where\n I: IntoIterator,\n I::Item: Borrow,\n J: IntoIterator,\n J::Item: Borrow,\n K: IntoIterator>;\n}\n\n/// A trait for decomposing scalars for the HEEA method.\n///\n/// The HEEA method is used by EdDSA verification to replace multiplication by\n/// a full-width challenge scalar with multiplications by two shorter scalars.\n/// For a challenge scalar `h`, the decomposition returns non-negative scalars\n/// `rho` and `tau` that satisfy either `rho == tau * h (mod ell)` or\n/// `rho == -tau * h (mod ell)`.\n///\n/// This trait provides a method for performing this decomposition.\npub trait HEEADecomposition {\n /// Decomposes a scalar `h` into two approximately half-size scalars.\n ///\n /// Returns `(rho, tau, flip_h)`. If `flip_h` is false, then\n /// `rho == tau * h (mod ell)`. If `flip_h` is true, then\n /// `rho == -tau * h (mod ell)`.\n fn heea_decompose(&self) -> (Scalar, Scalar, bool);\n}\n\n// ------------------------------------------------------------------------\n// Private Traits\n// ------------------------------------------------------------------------\n\n/// Trait for checking whether a point is on the curve.\n///\n/// This trait is only for debugging/testing, since it should be\n/// impossible for a `curve25519-dalek` user to construct an invalid\n/// point.\n#[allow(dead_code)]\npub(crate) trait ValidityCheck {\n /// Checks whether the point is on the curve. Not CT.\n fn is_valid(&self) -> bool;\n}\n"},{"id":19,"name":{"Local":"curve25519/solana-ed25519/src/edwards/affine.rs"},"crate_name":"curve25519","contents":"use super::{CompressedEdwardsY, EdwardsPoint};\nuse crate::traits::Identity;\nuse crate::{Scalar, field::FieldElement};\nuse core::ops::Mul;\nuse subtle::{Choice, ConditionallySelectable, ConstantTimeEq};\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::DefaultIsZeroes;\n\n/// Affine Edwards point on untwisted curve.\n#[derive(Copy, Clone, Debug)]\npub struct AffinePoint {\n pub(super) x: FieldElement,\n pub(super) y: FieldElement,\n}\n\nimpl ConstantTimeEq for AffinePoint {\n fn ct_eq(&self, other: &Self) -> Choice {\n self.x.ct_eq(&other.x) & self.y.ct_eq(&other.y)\n }\n}\n\nimpl ConditionallySelectable for AffinePoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n Self {\n x: FieldElement::conditional_select(&a.x, &b.x, choice),\n y: FieldElement::conditional_select(&a.y, &b.y, choice),\n }\n }\n}\n\nimpl Default for AffinePoint {\n fn default() -> AffinePoint {\n AffinePoint::identity()\n }\n}\n\nimpl Identity for AffinePoint {\n fn identity() -> AffinePoint {\n AffinePoint {\n x: FieldElement::ZERO,\n y: FieldElement::ONE,\n }\n }\n}\n\nimpl PartialEq for AffinePoint {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl Eq for AffinePoint {}\n\n#[cfg(feature = \"zeroize\")]\nimpl DefaultIsZeroes for AffinePoint {}\n\nimpl AffinePoint {\n /// Convert to extended coordinates.\n pub fn to_edwards(self) -> EdwardsPoint {\n EdwardsPoint {\n X: self.x,\n Y: self.y,\n Z: FieldElement::ONE,\n T: &self.x * &self.y,\n }\n }\n\n /// Compress affine Edwards coordinates into `CompressedEdwardsY` format.\n #[inline]\n pub fn compress(self) -> CompressedEdwardsY {\n let mut s = self.y.to_bytes();\n s[31] ^= self.x.is_negative().unwrap_u8() << 7;\n CompressedEdwardsY(s)\n }\n}\n\nimpl Mul for Scalar {\n type Output = EdwardsPoint;\n\n #[inline]\n fn mul(self, rhs: AffinePoint) -> EdwardsPoint {\n self * &rhs\n }\n}\n\nimpl Mul<&AffinePoint> for Scalar {\n type Output = EdwardsPoint;\n\n #[inline]\n fn mul(self, rhs: &AffinePoint) -> EdwardsPoint {\n rhs.to_edwards() * self\n }\n}\n\n#[cfg(test)]\nmod tests {\n use super::{AffinePoint, EdwardsPoint, Identity};\n use crate::constants;\n\n #[test]\n fn identity_conversion() {\n assert_eq!(\n AffinePoint::identity().to_edwards(),\n EdwardsPoint::identity()\n );\n }\n\n #[test]\n fn generator_round_trip() {\n let basepoint = constants::ED25519_BASEPOINT_POINT;\n assert_eq!(basepoint.to_affine().to_edwards(), basepoint);\n }\n}\n"},{"id":20,"name":{"Local":"/rustc/library/core/src/hash/mod.rs"},"crate_name":"core","contents":null},{"id":21,"name":{"Local":"/rustc/library/core/src/convert/mod.rs"},"crate_name":"core","contents":null},{"id":22,"name":{"Local":"/rustc/library/core/src/array/mod.rs"},"crate_name":"core","contents":null},{"id":23,"name":{"Local":"/rustc/library/core/src/borrow.rs"},"crate_name":"core","contents":null},{"id":24,"name":{"Local":"/rustc/library/core/src/iter/traits/accum.rs"},"crate_name":"core","contents":null},{"id":25,"name":{"Local":"/rustc/library/core/src/iter/traits/mod.rs"},"crate_name":"core","contents":null},{"id":26,"name":{"Local":"/rustc/library/core/src/iter/mod.rs"},"crate_name":"core","contents":null},{"id":27,"name":{"Local":"/rustc/library/core/src/iter/traits/iterator.rs"},"crate_name":"core","contents":null},{"id":28,"name":{"Local":"curve25519/solana-ed25519/src/scalar.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// Portions Copyright 2017 Brian Smith\n// See LICENSE for licensing information.\n//\n// Authors:\n// - Isis Agora Lovecruft \n// - Henry de Valence \n// - Brian Smith \n\n//! Arithmetic on scalars (integers mod the group order).\n//!\n//! Both the Ristretto group and the Ed25519 basepoint have prime order\n//! \\\\( \\ell = 2\\^{252} + 27742317777372353535851937790883648493 \\\\).\n//!\n//! This code is intended to be useful with both the Ristretto group\n//! (where everything is done modulo \\\\( \\ell \\\\)), and the X/Ed25519\n//! setting, which mandates specific bit-twiddles that are not\n//! well-defined modulo \\\\( \\ell \\\\).\n//!\n//! All arithmetic on `Scalars` is done modulo \\\\( \\ell \\\\).\n//!\n//! # Constructing a scalar\n//!\n//! To create a [`Scalar`](struct.Scalar.html) from a supposedly canonical encoding, use\n//! [`Scalar::from_canonical_bytes`](struct.Scalar.html#method.from_canonical_bytes).\n//!\n//! This function does input validation, ensuring that the input bytes\n//! are the canonical encoding of a `Scalar`.\n//! If they are, we'll get\n//! `Some(Scalar)` in return:\n//!\n//! ```\n//! use curve25519::scalar::Scalar;\n//!\n//! let one_as_bytes: [u8; 32] = Scalar::ONE.to_bytes();\n//! let a: Option = Scalar::from_canonical_bytes(one_as_bytes).into();\n//!\n//! assert!(a.is_some());\n//! ```\n//!\n//! However, if we give it bytes representing a scalar larger than \\\\( \\ell \\\\)\n//! (in this case, \\\\( \\ell + 2 \\\\)), we'll get `None` back:\n//!\n//! ```\n//! use curve25519::scalar::Scalar;\n//!\n//! let l_plus_two_bytes: [u8; 32] = [\n//! 0xef, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58,\n//! 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14,\n//! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n//! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\n//! ];\n//! let a: Option = Scalar::from_canonical_bytes(l_plus_two_bytes).into();\n//!\n//! assert!(a.is_none());\n//! ```\n//!\n//! Another way to create a `Scalar` is by reducing a \\\\(256\\\\)-bit integer mod\n//! \\\\( \\ell \\\\), for which one may use the\n//! [`Scalar::from_bytes_mod_order`](struct.Scalar.html#method.from_bytes_mod_order)\n//! method. In the case of the second example above, this would reduce the\n//! resultant scalar \\\\( \\mod \\ell \\\\), producing \\\\( 2 \\\\):\n//!\n//! ```\n//! use curve25519::scalar::Scalar;\n//!\n//! let l_plus_two_bytes: [u8; 32] = [\n//! 0xef, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58,\n//! 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14,\n//! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n//! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\n//! ];\n//! let a: Scalar = Scalar::from_bytes_mod_order(l_plus_two_bytes);\n//!\n//! let two: Scalar = Scalar::ONE + Scalar::ONE;\n//!\n//! assert!(a == two);\n//! ```\n//!\n//! There is also a constructor that reduces a \\\\(512\\\\)-bit integer,\n//! [`Scalar::from_bytes_mod_order_wide`].\n//!\n//! To construct a `Scalar` as the hash of some input data, use\n//! [`Scalar::hash_from_bytes`], which takes a buffer, or\n//! [`Scalar::from_hash`], which allows an IUF API.\n//!\n#![cfg_attr(feature = \"digest\", doc = \"```\")]\n#![cfg_attr(not(feature = \"digest\"), doc = \"```ignore\")]\n//! # fn main() {\n//! use sha2::{Digest, Sha512};\n//! use curve25519::scalar::Scalar;\n//!\n//! // Hashing a single byte slice\n//! let a = Scalar::hash_from_bytes::(b\"Abolish ICE\");\n//!\n//! // Streaming data into a hash object\n//! let mut hasher = Sha512::default();\n//! hasher.update(b\"Abolish \");\n//! hasher.update(b\"ICE\");\n//! let a2 = Scalar::from_hash(hasher);\n//!\n//! assert_eq!(a, a2);\n//! # }\n//! ```\n//!\n//! See also `Scalar::hash_from_bytes` and `Scalar::from_hash` that\n//! reduces a \\\\(512\\\\)-bit integer, if the optional `digest` feature\n//! has been enabled.\n\nuse core::borrow::Borrow;\nuse core::fmt::Debug;\nuse core::iter::{Product, Sum};\nuse core::ops::Index;\nuse core::ops::Neg;\nuse core::ops::{Add, AddAssign};\nuse core::ops::{Mul, MulAssign};\nuse core::ops::{Sub, SubAssign};\n\n#[cfg(feature = \"group\")]\nuse group::ff::{Field, FromUniformBytes, PrimeField};\n#[cfg(feature = \"group-bits\")]\nuse group::ff::{FieldBits, PrimeFieldBits};\n\n#[cfg(any(feature = \"group\", feature = \"rand_core\"))]\nuse rand_core::RngCore;\n\n#[cfg(feature = \"rand_core\")]\nuse rand_core::CryptoRng;\n\n#[cfg(feature = \"digest\")]\nuse digest::Digest;\n#[cfg(feature = \"digest\")]\nuse digest::array::typenum::U64;\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\nuse subtle::CtOption;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\nuse crate::backend;\nuse crate::constants;\nuse crate::scalar::heea::{I256, curve25519_heea_vartime};\nuse crate::traits::HEEADecomposition;\n\nmod heea;\npub(crate) use heea::HEEA_MAX_INDEX;\n\npub(crate) const NAF_128_SIZE: usize = HEEA_MAX_INDEX + 1;\n\n/// An `UnpackedScalar` represents an element of the field GF(l), optimized for speed.\n///\n/// This is pinned to the 64-bit serial scalar backend.\ntype UnpackedScalar = backend::serial::u64::scalar::Scalar52;\n\n/// The `Scalar` struct holds an element of \\\\(\\mathbb Z / \\ell\\mathbb Z \\\\).\n#[allow(clippy::derived_hash_with_manual_eq)]\n#[derive(Copy, Clone, Hash)]\npub struct Scalar {\n /// `bytes` is a little-endian byte encoding of an integer representing a scalar modulo the\n /// group order.\n ///\n /// # Invariant #1\n ///\n /// The integer representing this scalar is less than \\\\(2\\^{255}\\\\). That is, the most\n /// significant bit of `bytes[31]` is 0.\n ///\n /// This is required for `EdwardsPoint` variable- and fixed-base multiplication, because most\n /// integers above 2^255 are unrepresentable in our radix-16 NAF (see [`Self::as_radix_16`]).\n /// The invariant is also required because our `MontgomeryPoint` multiplication assumes the MSB\n /// is 0 (see `MontgomeryPoint::mul`).\n ///\n /// # Invariant #2 (weak)\n ///\n /// The integer representing this scalar is less than \\\\(2\\^{255} - 19 \\\\), i.e., it represents\n /// a canonical representative of an element of \\\\( \\mathbb Z / \\ell\\mathbb Z \\\\). This is\n /// stronger than invariant #1. It also sometimes has to be broken.\n ///\n /// This invariant is deliberately broken in the implementation of `EdwardsPoint::{mul_clamped,\n /// mul_base_clamped}`, `MontgomeryPoint::{mul_clamped, mul_base_clamped}`, and\n /// `BasepointTable::mul_base_clamped`. This is not an issue though. As mentioned above,\n /// scalar-point multiplication is defined for any choice of `bytes` that satisfies invariant\n /// #1. Since clamping guarantees invariant #1 is satisfied, these operations are well defined.\n ///\n /// Note: Scalar-point mult is the _only_ thing you can do safely with an unreduced scalar.\n /// Scalar-scalar addition and subtraction are NOT correct when using unreduced scalars.\n /// Multiplication is correct, but this is only due to a quirk of our implementation, and not\n /// guaranteed to hold in general in the future.\n ///\n /// Note: It is not possible to construct an unreduced `Scalar` from the public API unless the\n /// `legacy_compatibility` is enabled (thus making `Scalar::from_bits` public). Thus, for all\n /// public non-legacy uses, invariant #2\n /// always holds.\n ///\n pub(crate) bytes: [u8; 32],\n}\n\nimpl Scalar {\n /// Construct a `Scalar` by reducing a 256-bit little-endian integer\n /// modulo the group order \\\\( \\ell \\\\).\n pub fn from_bytes_mod_order(bytes: [u8; 32]) -> Scalar {\n // Temporarily allow s_unreduced.bytes > 2^255 ...\n let s_unreduced = Scalar { bytes };\n\n // Then reduce mod the group order and return the reduced representative.\n let s = s_unreduced.reduce();\n debug_assert_eq!(0u8, s[31] >> 7);\n\n s\n }\n\n /// Construct a `Scalar` by reducing a 512-bit little-endian integer\n /// modulo the group order \\\\( \\ell \\\\).\n pub fn from_bytes_mod_order_wide(input: &[u8; 64]) -> Scalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut unpacked = UnpackedScalar::from_bytes_wide(input);\n let scalar = unpacked.pack();\n\n #[cfg(feature = \"zeroize\")]\n unpacked.zeroize();\n\n scalar\n }\n\n /// Attempt to construct a `Scalar` from a canonical byte representation.\n ///\n /// # Return\n ///\n /// - `Some(s)`, where `s` is the `Scalar` corresponding to `bytes`,\n /// if `bytes` is a canonical byte representation modulo the group order \\\\( \\ell \\\\);\n /// - `None` if `bytes` is not a canonical byte representation.\n pub fn from_canonical_bytes(bytes: [u8; 32]) -> CtOption {\n let high_bit_unset = (bytes[31] >> 7).ct_eq(&0);\n let candidate = Scalar { bytes };\n CtOption::new(candidate, high_bit_unset & candidate.is_canonical())\n }\n\n /// Construct a `Scalar` from bytes that are known to be canonical.\n #[inline]\n #[cfg(target_arch = \"x86_64\")]\n pub(crate) const fn from_canonical_bytes_unchecked(bytes: [u8; 32]) -> Scalar {\n Scalar { bytes }\n }\n\n /// Construct a `Scalar` from the low 255 bits of a 256-bit integer. This breaks the invariant\n /// that scalars are always reduced. Scalar-scalar arithmetic, i.e., addition, subtraction,\n /// multiplication, **does not work** on scalars produced from this function. You may only use\n /// the output of this function for `EdwardsPoint::mul`, `MontgomeryPoint::mul`, and\n /// `EdwardsPoint::vartime_double_scalar_mul_basepoint`. **Do not use this function** unless\n /// you absolutely have to.\n #[cfg(feature = \"legacy_compatibility\")]\n pub const fn from_bits(bytes: [u8; 32]) -> Scalar {\n let mut s = Scalar { bytes };\n // Ensure invariant #1 holds. That is, make s < 2^255 by masking the high bit.\n s.bytes[31] &= 0b0111_1111;\n\n s\n }\n}\n\nimpl Debug for Scalar {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n f.write_str(\"Scalar{..}\")\n }\n}\n\nimpl Eq for Scalar {}\nimpl PartialEq for Scalar {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl ConstantTimeEq for Scalar {\n fn ct_eq(&self, other: &Self) -> Choice {\n self.bytes.ct_eq(&other.bytes)\n }\n}\n\nimpl Index for Scalar {\n type Output = u8;\n\n /// Index the bytes of the representative for this `Scalar`. Mutation is not permitted.\n fn index(&self, _index: usize) -> &u8 {\n &(self.bytes[_index])\n }\n}\n\nimpl<'a> MulAssign<&'a Scalar> for Scalar {\n fn mul_assign(&mut self, _rhs: &'a Scalar) {\n *self = UnpackedScalar::mul(&self.unpack(), &_rhs.unpack()).pack();\n }\n}\n\ndefine_mul_assign_variants!(LHS = Scalar, RHS = Scalar);\n\nimpl<'a> Mul<&'a Scalar> for &Scalar {\n type Output = Scalar;\n fn mul(self, _rhs: &'a Scalar) -> Scalar {\n UnpackedScalar::mul(&self.unpack(), &_rhs.unpack()).pack()\n }\n}\n\ndefine_mul_variants!(LHS = Scalar, RHS = Scalar, Output = Scalar);\n\nimpl<'a> AddAssign<&'a Scalar> for Scalar {\n fn add_assign(&mut self, _rhs: &'a Scalar) {\n *self = *self + _rhs;\n }\n}\n\ndefine_add_assign_variants!(LHS = Scalar, RHS = Scalar);\n\nimpl<'a> Add<&'a Scalar> for &Scalar {\n type Output = Scalar;\n #[allow(non_snake_case)]\n fn add(self, _rhs: &'a Scalar) -> Scalar {\n // The UnpackedScalar::add function produces reduced outputs if the inputs are reduced. By\n // Scalar invariant #1, this is always the case.\n UnpackedScalar::add(&self.unpack(), &_rhs.unpack()).pack()\n }\n}\n\ndefine_add_variants!(LHS = Scalar, RHS = Scalar, Output = Scalar);\n\nimpl<'a> SubAssign<&'a Scalar> for Scalar {\n fn sub_assign(&mut self, _rhs: &'a Scalar) {\n *self = *self - _rhs;\n }\n}\n\ndefine_sub_assign_variants!(LHS = Scalar, RHS = Scalar);\n\nimpl<'a> Sub<&'a Scalar> for &Scalar {\n type Output = Scalar;\n #[allow(non_snake_case)]\n fn sub(self, rhs: &'a Scalar) -> Scalar {\n // The UnpackedScalar::sub function produces reduced outputs if the inputs are reduced. By\n // Scalar invariant #1, this is always the case.\n UnpackedScalar::sub(&self.unpack(), &rhs.unpack()).pack()\n }\n}\n\ndefine_sub_variants!(LHS = Scalar, RHS = Scalar, Output = Scalar);\n\nimpl Neg for &Scalar {\n type Output = Scalar;\n #[allow(non_snake_case)]\n fn neg(self) -> Scalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut self_unpacked = self.unpack();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut self_R = UnpackedScalar::mul_internal(&self_unpacked, &constants::R);\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut self_mod_l = UnpackedScalar::montgomery_reduce(&self_R);\n let negated = UnpackedScalar::sub(&UnpackedScalar::ZERO, &self_mod_l).pack();\n\n #[cfg(feature = \"zeroize\")]\n {\n self_unpacked.zeroize();\n self_R.zeroize();\n self_mod_l.zeroize();\n }\n\n negated\n }\n}\n\nimpl Neg for Scalar {\n type Output = Scalar;\n fn neg(self) -> Scalar {\n -&self\n }\n}\n\nimpl ConditionallySelectable for Scalar {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n let mut bytes = [0u8; 32];\n #[allow(clippy::needless_range_loop)]\n for i in 0..32 {\n bytes[i] = u8::conditional_select(&a.bytes[i], &b.bytes[i], choice);\n }\n Scalar { bytes }\n }\n}\n\n#[cfg(feature = \"serde\")]\nuse serde::de::Visitor;\n#[cfg(feature = \"serde\")]\nuse serde::{Deserialize, Deserializer, Serialize, Serializer};\n\n#[cfg(feature = \"serde\")]\n#[cfg_attr(docsrs, doc(cfg(feature = \"serde\")))]\nimpl Serialize for Scalar {\n fn serialize(&self, serializer: S) -> Result\n where\n S: Serializer,\n {\n use serde::ser::SerializeTuple;\n let mut tup = serializer.serialize_tuple(32)?;\n for byte in self.as_bytes().iter() {\n tup.serialize_element(byte)?;\n }\n tup.end()\n }\n}\n\n#[cfg(feature = \"serde\")]\n#[cfg_attr(docsrs, doc(cfg(feature = \"serde\")))]\nimpl<'de> Deserialize<'de> for Scalar {\n fn deserialize(deserializer: D) -> Result\n where\n D: Deserializer<'de>,\n {\n struct ScalarVisitor;\n\n impl<'de> Visitor<'de> for ScalarVisitor {\n type Value = Scalar;\n\n fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n formatter.write_str(\n \"a sequence of 32 bytes whose little-endian interpretation is less than the \\\n basepoint order ℓ\",\n )\n }\n\n fn visit_seq(self, mut seq: A) -> Result\n where\n A: serde::de::SeqAccess<'de>,\n {\n let mut bytes = [0u8; 32];\n #[allow(clippy::needless_range_loop)]\n for i in 0..32 {\n bytes[i] = seq\n .next_element()?\n .ok_or_else(|| serde::de::Error::invalid_length(i, &\"expected 32 bytes\"))?;\n }\n let scalar = Option::from(Scalar::from_canonical_bytes(bytes))\n .ok_or_else(|| serde::de::Error::custom(\"scalar was not canonically encoded\"));\n\n #[cfg(feature = \"zeroize\")]\n bytes.zeroize();\n\n scalar\n }\n }\n\n deserializer.deserialize_tuple(32, ScalarVisitor)\n }\n}\n\nimpl Product for Scalar\nwhere\n T: Borrow,\n{\n fn product(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(Scalar::ONE, |acc, item| acc * item.borrow())\n }\n}\n\nimpl Sum for Scalar\nwhere\n T: Borrow,\n{\n fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(Scalar::ZERO, |acc, item| acc + item.borrow())\n }\n}\n\nimpl Default for Scalar {\n fn default() -> Scalar {\n Scalar::ZERO\n }\n}\n\nimpl From for Scalar {\n fn from(x: u8) -> Scalar {\n let mut s_bytes = [0u8; 32];\n s_bytes[0] = x;\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From for Scalar {\n fn from(x: u16) -> Scalar {\n let mut s_bytes = [0u8; 32];\n let x_bytes = x.to_le_bytes();\n s_bytes[0..x_bytes.len()].copy_from_slice(&x_bytes);\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From for Scalar {\n fn from(x: u32) -> Scalar {\n let mut s_bytes = [0u8; 32];\n let x_bytes = x.to_le_bytes();\n s_bytes[0..x_bytes.len()].copy_from_slice(&x_bytes);\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From for Scalar {\n /// Construct a scalar from the given `u64`.\n ///\n /// # Inputs\n ///\n /// An `u64` to convert to a `Scalar`.\n ///\n /// # Returns\n ///\n /// A `Scalar` corresponding to the input `u64`.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n ///\n /// let fourtytwo = Scalar::from(42u64);\n /// let six = Scalar::from(6u64);\n /// let seven = Scalar::from(7u64);\n ///\n /// assert!(fourtytwo == six * seven);\n /// ```\n fn from(x: u64) -> Scalar {\n let mut s_bytes = [0u8; 32];\n let x_bytes = x.to_le_bytes();\n s_bytes[0..x_bytes.len()].copy_from_slice(&x_bytes);\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From for Scalar {\n fn from(x: u128) -> Scalar {\n let mut s_bytes = [0u8; 32];\n let x_bytes = x.to_le_bytes();\n s_bytes[0..x_bytes.len()].copy_from_slice(&x_bytes);\n Scalar { bytes: s_bytes }\n }\n}\n\nimpl From<&Scalar> for I256 {\n fn from(s: &Scalar) -> I256 {\n I256::from_le_bytes(s.to_bytes())\n }\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for Scalar {\n fn zeroize(&mut self) {\n self.bytes.zeroize();\n }\n}\n\nimpl HEEADecomposition for Scalar {\n /// Generate approximately half-size non-negative scalars `(rho, tau)` for a\n /// given challenge scalar `h`.\n ///\n /// The signed HEEA output satisfies `rho_i = tau_i * h (mod ell)`. This\n /// method returns the absolute values of `rho_i` and `tau_i`, plus `flip_h`\n /// to record whether exactly one of the signed values was negative.\n ///\n /// If `flip_h` is false, then `rho = tau * h (mod ell)`. If `flip_h` is\n /// true, then `rho = -tau * h (mod ell)`.\n fn heea_decompose(&self) -> (Scalar, Scalar, bool) {\n // Convert h to I256\n let v = self.into();\n\n // Run the algorithm\n let (mut rho_i, mut tau_i) = curve25519_heea_vartime(v);\n\n // Convert back to Scalars and ensure shortness\n let mut flip_h = false;\n if rho_i < I256::ZERO {\n rho_i = -rho_i;\n flip_h = !flip_h;\n }\n if tau_i < I256::ZERO {\n tau_i = -tau_i;\n flip_h = !flip_h;\n }\n\n let rho = Scalar::from_positive_i256(&rho_i);\n let tau = Scalar::from_positive_i256(&tau_i);\n\n (rho, tau, flip_h)\n }\n}\n\nimpl Scalar {\n /// The scalar \\\\( 0 \\\\).\n pub const ZERO: Self = Self { bytes: [0u8; 32] };\n\n /// The scalar \\\\( 1 \\\\).\n pub const ONE: Self = Self {\n bytes: [\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ],\n };\n\n /// Return a `Scalar` chosen uniformly at random using a user-provided RNG.\n ///\n /// # Inputs\n ///\n /// * `rng`: any RNG which implements `CryptoRng` interface.\n ///\n /// # Returns\n ///\n /// A random scalar within \\\\(\\mathbb{Z} / \\ell\\mathbb{Z}\\\\).\n ///\n /// # Example\n ///\n /// ```\n /// # fn main() {\n /// use curve25519::scalar::Scalar;\n ///\n /// let mut csprng = rand::thread_rng();\n /// let a: Scalar = Scalar::random(&mut csprng);\n /// # }\n #[cfg(feature = \"rand_core\")]\n pub fn random(rng: &mut R) -> Self {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut scalar_bytes = [0u8; 64];\n rng.fill_bytes(&mut scalar_bytes);\n let scalar = Scalar::from_bytes_mod_order_wide(&scalar_bytes);\n\n #[cfg(feature = \"zeroize\")]\n scalar_bytes.zeroize();\n\n scalar\n }\n\n #[cfg(feature = \"digest\")]\n /// Hash a slice of bytes into a scalar.\n ///\n /// Takes a type parameter `D`, which is any `Digest` producing 64\n /// bytes (512 bits) of output.\n ///\n /// Convenience wrapper around `from_hash`.\n ///\n /// # Example\n ///\n #[cfg_attr(feature = \"digest\", doc = \"```\")]\n #[cfg_attr(not(feature = \"digest\"), doc = \"```ignore\")]\n /// # use curve25519::scalar::Scalar;\n /// use sha2::Sha512;\n ///\n /// # // Need fn main() here in comment so the doctest compiles\n /// # // See https://doc.rust-lang.org/book/documentation.html#documentation-as-tests\n /// # fn main() {\n /// let msg = \"To really appreciate architecture, you may even need to commit a murder\";\n /// let s = Scalar::hash_from_bytes::(msg.as_bytes());\n /// # }\n /// ```\n pub fn hash_from_bytes(input: &[u8]) -> Scalar\n where\n D: Digest + Default,\n {\n let mut hash = D::default();\n hash.update(input);\n Scalar::from_hash(hash)\n }\n\n #[cfg(feature = \"digest\")]\n /// Construct a scalar from an existing `Digest` instance.\n ///\n /// Use this instead of `hash_from_bytes` if it is more convenient\n /// to stream data into the `Digest` than to pass a single byte\n /// slice.\n ///\n /// # Example\n ///\n /// ```\n /// # use curve25519::scalar::Scalar;\n /// use curve25519::digest::Update;\n ///\n /// use sha2::Digest;\n /// use sha2::Sha512;\n ///\n /// # fn main() {\n /// let mut h = Sha512::new()\n /// .chain(\"To really appreciate architecture, you may even need to commit a murder.\")\n /// .chain(\"While the programs used for The Manhattan Transcripts are of the most extreme\")\n /// .chain(\"nature, they also parallel the most common formula plot: the archetype of\")\n /// .chain(\"murder. Other phantasms were occasionally used to underline the fact that\")\n /// .chain(\"perhaps all architecture, rather than being about functional standards, is\")\n /// .chain(\"about love and death.\");\n ///\n /// let s = Scalar::from_hash(h);\n ///\n /// println!(\"{:?}\", s.to_bytes());\n /// assert_eq!(\n /// s.to_bytes(),\n /// [ 21, 88, 208, 252, 63, 122, 210, 152,\n /// 154, 38, 15, 23, 16, 167, 80, 150,\n /// 192, 221, 77, 226, 62, 25, 224, 148,\n /// 239, 48, 176, 10, 185, 69, 168, 11, ],\n /// );\n /// # }\n /// ```\n pub fn from_hash(hash: D) -> Scalar\n where\n D: Digest,\n {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut digest = hash.finalize();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut output = [0u8; 64];\n output.copy_from_slice(digest.as_slice());\n let scalar = Scalar::from_bytes_mod_order_wide(&output);\n\n #[cfg(feature = \"zeroize\")]\n {\n digest.zeroize();\n output.zeroize();\n }\n\n scalar\n }\n\n /// Convert this `Scalar` to its underlying sequence of bytes.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n ///\n /// let s: Scalar = Scalar::ZERO;\n ///\n /// assert!(s.to_bytes() == [0u8; 32]);\n /// ```\n pub const fn to_bytes(&self) -> [u8; 32] {\n self.bytes\n }\n\n /// View the little-endian byte encoding of the integer representing this Scalar.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n ///\n /// let s: Scalar = Scalar::ZERO;\n ///\n /// assert!(s.as_bytes() == &[0u8; 32]);\n /// ```\n pub const fn as_bytes(&self) -> &[u8; 32] {\n &self.bytes\n }\n\n /// Given a nonzero `Scalar`, compute its multiplicative inverse.\n ///\n /// # Warning\n ///\n /// `self` **MUST** be nonzero. If you cannot\n /// *prove* that this is the case, you **SHOULD NOT USE THIS\n /// FUNCTION**.\n ///\n /// # Returns\n ///\n /// The multiplicative inverse of the this `Scalar`.\n ///\n /// # Example\n ///\n /// ```\n /// use curve25519::scalar::Scalar;\n ///\n /// // x = 2238329342913194256032495932344128051776374960164957527413114840482143558222\n /// let X: Scalar = Scalar::from_bytes_mod_order([\n /// 0x4e, 0x5a, 0xb4, 0x34, 0x5d, 0x47, 0x08, 0x84,\n /// 0x59, 0x13, 0xb4, 0x64, 0x1b, 0xc2, 0x7d, 0x52,\n /// 0x52, 0xa5, 0x85, 0x10, 0x1b, 0xcc, 0x42, 0x44,\n /// 0xd4, 0x49, 0xf4, 0xa8, 0x79, 0xd9, 0xf2, 0x04,\n /// ]);\n /// // 1/x = 6859937278830797291664592131120606308688036382723378951768035303146619657244\n /// let XINV: Scalar = Scalar::from_bytes_mod_order([\n /// 0x1c, 0xdc, 0x17, 0xfc, 0xe0, 0xe9, 0xa5, 0xbb,\n /// 0xd9, 0x24, 0x7e, 0x56, 0xbb, 0x01, 0x63, 0x47,\n /// 0xbb, 0xba, 0x31, 0xed, 0xd5, 0xa9, 0xbb, 0x96,\n /// 0xd5, 0x0b, 0xcd, 0x7a, 0x3f, 0x96, 0x2a, 0x0f,\n /// ]);\n ///\n /// let inv_X: Scalar = X.invert();\n /// assert!(XINV == inv_X);\n /// let should_be_one: Scalar = &inv_X * &X;\n /// assert!(should_be_one == Scalar::ONE);\n /// ```\n pub fn invert(&self) -> Scalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut unpacked = self.unpack();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut inverse = unpacked.invert();\n let scalar = inverse.pack();\n\n #[cfg(feature = \"zeroize\")]\n {\n unpacked.zeroize();\n inverse.zeroize();\n }\n\n scalar\n }\n\n /// Given a slice of nonzero (possibly secret) `Scalar`s,\n /// compute their inverses in a batch.\n ///\n /// # Return\n ///\n /// Each element of `inputs` is replaced by its inverse.\n ///\n /// The product of all inverses is returned.\n ///\n /// # Warning\n ///\n /// All input `Scalars` **MUST** be nonzero. If you cannot\n /// *prove* that this is the case, you **SHOULD NOT USE THIS\n /// FUNCTION**.\n ///\n /// # Example\n ///\n /// ```\n /// # use curve25519::scalar::Scalar;\n /// # fn main() {\n /// let mut scalars = [\n /// Scalar::from(3u64),\n /// Scalar::from(5u64),\n /// Scalar::from(7u64),\n /// Scalar::from(11u64),\n /// ];\n ///\n /// let allinv = Scalar::invert_batch(&mut scalars);\n ///\n /// assert_eq!(allinv, Scalar::from(3*5*7*11u64).invert());\n /// assert_eq!(scalars[0], Scalar::from(3u64).invert());\n /// assert_eq!(scalars[1], Scalar::from(5u64).invert());\n /// assert_eq!(scalars[2], Scalar::from(7u64).invert());\n /// assert_eq!(scalars[3], Scalar::from(11u64).invert());\n /// # }\n /// ```\n pub fn invert_batch(inputs: &mut [Scalar; N]) -> Scalar {\n let one: UnpackedScalar = Scalar::ONE.unpack().as_montgomery();\n\n let mut scratch = [one; N];\n\n Self::invert_batch_internal(inputs, &mut scratch)\n }\n\n /// Given a slice of nonzero (possibly secret) `Scalar`s, compute their inverses in a batch.\n /// This the allocating form of [`Self::invert_batch`]. See those docs for examples.\n ///\n /// # Return\n ///\n /// Each element of `inputs` is replaced by its inverse.\n ///\n /// The product of all inverses is returned.\n ///\n /// # Warning\n ///\n /// All input `Scalars` **MUST** be nonzero. If you cannot\n /// *prove* that this is the case, you **SHOULD NOT USE THIS\n /// FUNCTION**.\n #[cfg(feature = \"alloc\")]\n pub fn invert_batch_alloc(inputs: &mut [Scalar]) -> Scalar {\n let n = inputs.len();\n let one: UnpackedScalar = Scalar::ONE.unpack().as_montgomery();\n\n let mut scratch = vec![one; n];\n\n Self::invert_batch_internal(inputs, &mut scratch)\n }\n\n fn invert_batch_internal(inputs: &mut [Scalar], scratch: &mut [UnpackedScalar]) -> Scalar {\n // This code is essentially identical to the FieldElement\n // implementation, and is documented there. Unfortunately,\n // it's not easy to write it generically, since here we want\n // to use `UnpackedScalar`s internally, and `Scalar`s\n // externally, but there's no corresponding distinction for\n // field elements.\n\n // Keep an accumulator of all of the previous products\n let mut acc = Scalar::ONE.unpack().as_montgomery();\n\n // Pass through the input vector, recording the previous\n // products in the scratch space\n for (input, scratch) in inputs.iter_mut().zip(scratch.iter_mut()) {\n *scratch = acc;\n\n // Avoid unnecessary Montgomery multiplication in second pass by\n // keeping inputs in Montgomery form\n let tmp = input.unpack().as_montgomery();\n *input = tmp.pack();\n acc = UnpackedScalar::montgomery_mul(&acc, &tmp);\n }\n\n // acc is nonzero iff all inputs are nonzero\n debug_assert!(acc.pack() != Scalar::ZERO);\n\n // Compute the inverse of all products\n acc = acc.montgomery_invert().from_montgomery();\n\n // We need to return the product of all inverses later\n let ret = acc.pack();\n\n // Pass through the vector backwards to compute the inverses\n // in place\n for (input, scratch) in inputs.iter_mut().rev().zip(scratch.iter().rev()) {\n let tmp = UnpackedScalar::montgomery_mul(&acc, &input.unpack());\n *input = UnpackedScalar::montgomery_mul(&acc, scratch).pack();\n acc = tmp;\n }\n\n #[cfg(feature = \"zeroize\")]\n scratch.zeroize();\n\n ret\n }\n\n /// Compute `b` such that `b + b = a mod modulus`.\n pub fn div_by_2(&self) -> Self {\n // We are looking for such `b` that `b + b = a mod modulus`.\n // Two possibilities:\n // - if `a` is even, we can just divide by 2;\n // - if `a` is odd, we divide `(a + modulus)` by 2.\n let is_odd = Choice::from(self.as_bytes()[0] & 1);\n let mut scalar = self.unpack();\n scalar.conditional_add_l(is_odd);\n\n let carry = scalar.shr1_assign();\n debug_assert_eq!(carry, 0);\n\n scalar.pack()\n }\n\n /// Get the bits of the scalar, in little-endian order\n pub(crate) fn bits_le(&self) -> impl DoubleEndedIterator + '_ {\n (0..256).map(|i| {\n // As i runs from 0..256, the bottom 3 bits index the bit, while the upper bits index\n // the byte. Since self.bytes is little-endian at the byte level, this iterator is\n // little-endian on the bit level\n ((self.bytes[i >> 3] >> (i & 7)) & 1u8) == 1\n })\n }\n\n /// Compute a width-\\\\(w\\\\) \"Non-Adjacent Form\" of this scalar.\n ///\n /// A width-\\\\(w\\\\) NAF of a positive integer \\\\(k\\\\) is an expression\n /// $$\n /// k = \\sum_{i=0}\\^m n\\_i 2\\^i,\n /// $$\n /// where each nonzero\n /// coefficient \\\\(n\\_i\\\\) is odd and bounded by \\\\(|n\\_i| < 2\\^{w-1}\\\\),\n /// \\\\(n\\_{m-1}\\\\) is nonzero, and at most one of any \\\\(w\\\\) consecutive\n /// coefficients is nonzero. (Hankerson, Menezes, Vanstone; def 3.32).\n ///\n /// The length of the NAF is at most one more than the length of\n /// the binary representation of \\\\(k\\\\). This is why the\n /// `Scalar` type maintains an invariant (invariant #1) that the top bit is\n /// \\\\(0\\\\), so that the NAF of a scalar has at most 256 digits.\n ///\n /// Intuitively, this is like a binary expansion, except that we\n /// allow some coefficients to grow in magnitude up to\n /// \\\\(2\\^{w-1}\\\\) so that the nonzero coefficients are as sparse\n /// as possible.\n ///\n /// When doing scalar multiplication, we can then use a lookup\n /// table of precomputed multiples of a point to add the nonzero\n /// terms \\\\( k_i P \\\\). Using signed digits cuts the table size\n /// in half, and using odd digits cuts the table size in half\n /// again.\n ///\n /// To compute a \\\\(w\\\\)-NAF, we use a modification of Algorithm 3.35 of HMV:\n ///\n /// 1. \\\\( i \\gets 0 \\\\)\n /// 2. While \\\\( k \\ge 1 \\\\):\n /// 1. If \\\\(k\\\\) is odd, \\\\( n_i \\gets k \\operatorname{mods} 2^w \\\\), \\\\( k \\gets k - n_i \\\\).\n /// 2. If \\\\(k\\\\) is even, \\\\( n_i \\gets 0 \\\\).\n /// 3. \\\\( k \\gets k / 2 \\\\), \\\\( i \\gets i + 1 \\\\).\n /// 3. Return \\\\( n_0, n_1, ... , \\\\)\n ///\n /// Here \\\\( \\bar x = x \\operatorname{mods} 2^w \\\\) means the\n /// \\\\( \\bar x \\\\) with \\\\( \\bar x \\equiv x \\pmod{2^w} \\\\) and\n /// \\\\( -2^{w-1} \\leq \\bar x < 2^{w-1} \\\\).\n ///\n /// We implement this by scanning across the bits of \\\\(k\\\\) from\n /// least-significant bit to most-significant-bit.\n /// Write the bits of \\\\(k\\\\) as\n /// $$\n /// k = \\sum\\_{i=0}\\^m k\\_i 2^i,\n /// $$\n /// and split the sum as\n /// $$\n /// k = \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i\n /// $$\n /// where the first part is \\\\( k \\mod 2^w \\\\).\n ///\n /// If \\\\( k \\mod 2^w\\\\) is odd, and \\\\( k \\mod 2^w < 2^{w-1} \\\\), then we emit\n /// \\\\( n_0 = k \\mod 2^w \\\\). Instead of computing\n /// \\\\( k - n_0 \\\\), we just advance \\\\(w\\\\) bits and reindex.\n ///\n /// If \\\\( k \\mod 2^w\\\\) is odd, and \\\\( k \\mod 2^w \\ge 2^{w-1} \\\\), then\n /// \\\\( n_0 = k \\operatorname{mods} 2^w = k \\mod 2^w - 2^w \\\\).\n /// The quantity \\\\( k - n_0 \\\\) is\n /// $$\n /// \\begin{aligned}\n /// k - n_0 &= \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i\n /// - \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\\\\\\\\n /// &= 2^w + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i\n /// \\end{aligned}\n /// $$\n /// so instead of computing the subtraction, we can set a carry\n /// bit, advance \\\\(w\\\\) bits, and reindex.\n ///\n /// If \\\\( k \\mod 2^w\\\\) is even, we emit \\\\(0\\\\), advance 1 bit\n /// and reindex. In fact, by setting all digits to \\\\(0\\\\)\n /// initially, we don't need to emit anything.\n pub(crate) fn non_adjacent_form(&self, w: usize) -> [i8; 256] {\n // required by the NAF definition\n debug_assert!(w >= 2);\n // required so that the NAF digits fit in i8\n debug_assert!(w <= 8);\n\n let mut naf = [0i8; 256];\n\n let mut x_u64 = [0u64; 5];\n // AENEAS-COMPAT: index-based little-endian load instead of\n // read_le_u64_into (its chunks/zip iterators are opaque to the\n // extraction). Pure refactor, semantics identical.\n let mut k: usize = 0;\n while k < 4 {\n let mut t: u64 = 0;\n let mut bi: usize = 0;\n while bi < 8 {\n t |= (self.bytes[8 * k + bi] as u64) << (8 * bi);\n bi += 1;\n }\n x_u64[k] = t;\n k += 1;\n }\n\n let width = 1 << w;\n let window_mask = width - 1;\n\n let mut pos = 0;\n let mut carry = 0;\n while pos < 256 {\n // Construct a buffer of bits of the scalar, starting at bit `pos`\n let u64_idx = pos / 64;\n let bit_idx = pos % 64;\n let bit_buf: u64 = if bit_idx < 64 - w {\n // This window's bits are contained in a single u64\n x_u64[u64_idx] >> bit_idx\n } else {\n // Combine the current u64's bits with the bits from the next u64\n (x_u64[u64_idx] >> bit_idx) | (x_u64[1 + u64_idx] << (64 - bit_idx))\n };\n\n // Add the carry into the current window\n let window = carry + (bit_buf & window_mask);\n\n if window & 1 == 0 {\n // If the window value is even, preserve the carry and continue.\n // Why is the carry preserved?\n // If carry == 0 and window & 1 == 0, then the next carry should be 0\n // If carry == 1 and window & 1 == 0, then bit_buf & 1 == 1 so the next carry should be 1\n pos += 1;\n continue;\n }\n\n if window < width / 2 {\n carry = 0;\n naf[pos] = window as i8;\n } else {\n carry = 1;\n naf[pos] = (window as i8).wrapping_sub(width as i8);\n }\n\n pos += w;\n }\n\n naf\n }\n\n /// Compute a width-\\\\(w\\\\) non-adjacent form for scalars known to fit in 128 bits.\n pub(crate) fn non_adjacent_form_128(&self, w: usize) -> [i8; NAF_128_SIZE] {\n // required by the NAF definition\n debug_assert!(w >= 2);\n // required so that the NAF digits fit in i8\n debug_assert!(w <= 8);\n debug_assert!(self.bytes[16..32].iter().all(|&b| b == 0));\n\n let mut naf = [0i8; NAF_128_SIZE];\n\n let mut x_u64 = [0u64; 3];\n read_le_u64_into(&self.bytes[..16], &mut x_u64[0..2]);\n\n let width = 1u64 << w;\n let window_mask = width - 1;\n\n let mut pos = 0;\n let mut carry = 0;\n while pos < HEEA_MAX_INDEX {\n let u64_idx = pos / 64;\n let bit_idx = pos % 64;\n let bit_buf: u64 = if bit_idx < 64 - w {\n x_u64[u64_idx] >> bit_idx\n } else {\n (x_u64[u64_idx] >> bit_idx) | (x_u64[1 + u64_idx] << (64 - bit_idx))\n };\n\n let window = carry + (bit_buf & window_mask);\n\n if window & 1 == 0 {\n pos += 1;\n continue;\n }\n\n if window < width / 2 {\n carry = 0;\n naf[pos] = window as i8;\n } else {\n carry = 1;\n naf[pos] = (window as i8).wrapping_sub(width as i8);\n }\n\n pos += w;\n }\n\n debug_assert_eq!(carry, 0);\n naf\n }\n\n /// Write this scalar in radix 16, with coefficients in \\\\([-8,8)\\\\),\n /// i.e., compute \\\\(a\\_i\\\\) such that\n /// $$\n /// a = a\\_0 + a\\_1 16\\^1 + \\cdots + a_{63} 16\\^{63},\n /// $$\n /// with \\\\(-8 \\leq a_i < 8\\\\) for \\\\(0 \\leq i < 63\\\\) and \\\\(-8 \\leq a_{63} \\leq 8\\\\).\n ///\n /// The largest value that can be decomposed like this is just over \\\\(2^{255}\\\\). Thus, in\n /// order to not error, the top bit MUST NOT be set, i.e., `Self` MUST be less than\n /// \\\\(2^{255}\\\\).\n pub(crate) fn as_radix_16(&self) -> [i8; 64] {\n debug_assert!(self[31] <= 127);\n let mut output = [0i8; 64];\n\n // Step 1: change radix.\n // Convert from radix 256 (bytes) to radix 16 (nibbles)\n #[allow(clippy::identity_op)]\n #[inline(always)]\n fn bot_half(x: u8) -> u8 {\n (x >> 0) & 15\n }\n #[inline(always)]\n fn top_half(x: u8) -> u8 {\n (x >> 4) & 15\n }\n\n for i in 0..32 {\n output[2 * i] = bot_half(self[i]) as i8;\n output[2 * i + 1] = top_half(self[i]) as i8;\n }\n // Precondition note: since self[31] <= 127, output[63] <= 7\n\n // Step 2: recenter coefficients from [0,16) to [-8,8)\n for i in 0..63 {\n let carry = (output[i] + 8) >> 4;\n output[i] -= carry << 4;\n output[i + 1] += carry;\n }\n // Precondition note: output[63] is not recentered. It\n // increases by carry <= 1. Thus output[63] <= 8.\n\n output\n }\n\n /// Returns a size hint indicating how many entries of the return\n /// value of `to_radix_2w` are nonzero.\n #[cfg(any(feature = \"alloc\", all(test, feature = \"precomputed-tables\")))]\n pub(crate) fn to_radix_2w_size_hint(w: usize) -> usize {\n debug_assert!(w >= 4);\n debug_assert!(w <= 8);\n\n let digits_count = match w {\n 4..=7 => 256_usize.div_ceil(w),\n // See comment in to_radix_2w on handling the terminal carry.\n 8 => 256_usize.div_ceil(w) + 1_usize,\n _ => panic!(\"invalid radix parameter\"),\n };\n\n debug_assert!(digits_count <= 64);\n digits_count\n }\n\n /// Creates a representation of a Scalar in radix \\\\( 2^w \\\\) with \\\\(w = 4, 5, 6, 7, 8\\\\) for\n /// use with the Pippenger algorithm. Higher radixes are not supported to save cache space.\n /// Radix 256 is near-optimal even for very large inputs.\n ///\n /// Radix below 16 or above 256 is prohibited.\n /// This method returns digits in a fixed-sized array, excess digits are zeroes.\n ///\n /// For radix 16, `Self` must be less than \\\\(2^{255}\\\\). This is because most integers larger\n /// than \\\\(2^{255}\\\\) are unrepresentable in the form described below for \\\\(w = 4\\\\). This\n /// would be true for \\\\(w = 8\\\\) as well, but it is compensated for by increasing the size\n /// hint by 1.\n ///\n /// ## Scalar representation\n ///\n /// Radix \\\\(2\\^w\\\\), with \\\\(n = ceil(256/w)\\\\) coefficients in \\\\([-(2\\^w)/2,(2\\^w)/2)\\\\),\n /// i.e., scalar is represented using digits \\\\(a\\_i\\\\) such that\n /// $$\n /// a = a\\_0 + a\\_1 2\\^1w + \\cdots + a_{n-1} 2\\^{w*(n-1)},\n /// $$\n /// with \\\\(-2\\^w/2 \\leq a_i < 2\\^w/2\\\\) for \\\\(0 \\leq i < (n-1)\\\\) and \\\\(-2\\^w/2 \\leq a_{n-1} \\leq 2\\^w/2\\\\).\n ///\n #[cfg(any(feature = \"alloc\", feature = \"precomputed-tables\"))]\n pub(crate) fn as_radix_2w(&self, w: usize) -> [i8; 64] {\n debug_assert!(w >= 4);\n debug_assert!(w <= 8);\n\n if w == 4 {\n return self.as_radix_16();\n }\n\n // Scalar formatted as four `u64`s with carry bit packed into the highest bit.\n let mut scalar64x4 = [0u64; 4];\n read_le_u64_into(&self.bytes, &mut scalar64x4[0..4]);\n\n let radix: u64 = 1 << w;\n let window_mask: u64 = radix - 1;\n\n let mut carry = 0u64;\n let mut digits = [0i8; 64];\n let digits_count = 256_usize.div_ceil(w);\n #[allow(clippy::needless_range_loop)]\n for i in 0..digits_count {\n // Construct a buffer of bits of the scalar, starting at `bit_offset`.\n let bit_offset = i * w;\n let u64_idx = bit_offset / 64;\n let bit_idx = bit_offset % 64;\n\n // Read the bits from the scalar\n let bit_buf: u64 = if bit_idx < 64 - w || u64_idx == 3 {\n // This window's bits are contained in a single u64,\n // or it's the last u64 anyway.\n scalar64x4[u64_idx] >> bit_idx\n } else {\n // Combine the current u64's bits with the bits from the next u64\n (scalar64x4[u64_idx] >> bit_idx) | (scalar64x4[1 + u64_idx] << (64 - bit_idx))\n };\n\n // Read the actual coefficient value from the window\n let coef = carry + (bit_buf & window_mask); // coef = [0, 2^r)\n\n // Recenter coefficients from [0,2^w) to [-2^w/2, 2^w/2)\n carry = (coef + (radix / 2)) >> w;\n digits[i] = ((coef as i64) - (carry << w) as i64) as i8;\n }\n\n // When 4 < w < 8, we can fold the final carry onto the last digit d,\n // because d < 2^w/2 so d + carry*2^w = d + 1*2^w < 2^(w+1) < 2^8.\n //\n // When w = 8, we can't fit carry*2^w into an i8. This should\n // not happen anyways, because the final carry will be 0 for\n // reduced scalars, but Scalar invariant #1 allows 255-bit scalars.\n // To handle this, we expand the size_hint by 1 when w=8,\n // and accumulate the final carry onto another digit.\n match w {\n 8 => digits[digits_count] += carry as i8,\n _ => digits[digits_count - 1] += (carry << w) as i8,\n }\n\n digits\n }\n\n /// Unpack this `Scalar` to an `UnpackedScalar` for faster arithmetic.\n pub(crate) fn unpack(&self) -> UnpackedScalar {\n UnpackedScalar::from_bytes(&self.bytes)\n }\n\n /// Create a `Scalar` from a positive `I256`.\n /// The caller must ensure val > 0.\n pub(crate) fn from_positive_i256(val: &I256) -> Self {\n debug_assert!(val >= &I256::ZERO);\n Scalar {\n bytes: val.to_le_bytes(),\n }\n }\n\n /// Reduce this `Scalar` modulo \\\\(\\ell\\\\).\n #[allow(non_snake_case)]\n fn reduce(&self) -> Scalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut x = self.unpack();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut xR = UnpackedScalar::mul_internal(&x, &constants::R);\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut x_mod_l = UnpackedScalar::montgomery_reduce(&xR);\n let scalar = x_mod_l.pack();\n\n #[cfg(feature = \"zeroize\")]\n {\n x.zeroize();\n xR.zeroize();\n x_mod_l.zeroize();\n }\n\n scalar\n }\n\n /// Check whether this `Scalar` is the canonical representative mod \\\\(\\ell\\\\). This is not\n /// public because any `Scalar` that is publicly observed is reduced, by scalar invariant #2.\n fn is_canonical(&self) -> Choice {\n self.ct_eq(&self.reduce())\n }\n}\n\nimpl UnpackedScalar {\n /// Pack the limbs of this `UnpackedScalar` into a `Scalar`.\n fn pack(&self) -> Scalar {\n Scalar {\n bytes: self.to_bytes(),\n }\n }\n\n /// Inverts an UnpackedScalar in Montgomery form.\n #[rustfmt::skip] // keep alignment of addition chain and squarings\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n #[allow(clippy::just_underscores_and_digits)]\n pub fn montgomery_invert(&self) -> UnpackedScalar {\n // Uses the addition chain from\n // https://briansmith.org/ecc-inversion-addition-chains-01#curve25519_scalar_inversion\n let mut _1 = *self;\n let mut _10 = _1.montgomery_square();\n let mut _100 = _10.montgomery_square();\n let mut _11 = UnpackedScalar::montgomery_mul(&_10, &_1);\n let mut _101 = UnpackedScalar::montgomery_mul(&_10, &_11);\n let mut _111 = UnpackedScalar::montgomery_mul(&_10, &_101);\n let mut _1001 = UnpackedScalar::montgomery_mul(&_10, &_111);\n let mut _1011 = UnpackedScalar::montgomery_mul(&_10, &_1001);\n let mut _1111 = UnpackedScalar::montgomery_mul(&_100, &_1011);\n\n // _10000\n let mut y = UnpackedScalar::montgomery_mul(&_1111, &_1);\n\n #[inline]\n fn square_multiply(y: &mut UnpackedScalar, squarings: usize, x: &UnpackedScalar) {\n for _ in 0..squarings {\n *y = y.montgomery_square();\n }\n *y = UnpackedScalar::montgomery_mul(y, x);\n }\n\n square_multiply(&mut y, 123 + 3, &_101);\n square_multiply(&mut y, 2 + 2, &_11);\n square_multiply(&mut y, 1 + 4, &_1111);\n square_multiply(&mut y, 1 + 4, &_1111);\n square_multiply(&mut y, 4, &_1001);\n square_multiply(&mut y, 2, &_11);\n square_multiply(&mut y, 1 + 4, &_1111);\n square_multiply(&mut y, 1 + 3, &_101);\n square_multiply(&mut y, 3 + 3, &_101);\n square_multiply(&mut y, 3, &_111);\n square_multiply(&mut y, 1 + 4, &_1111);\n square_multiply(&mut y, 2 + 3, &_111);\n square_multiply(&mut y, 2 + 2, &_11);\n square_multiply(&mut y, 1 + 4, &_1011);\n square_multiply(&mut y, 2 + 4, &_1011);\n square_multiply(&mut y, 6 + 4, &_1001);\n square_multiply(&mut y, 2 + 2, &_11);\n square_multiply(&mut y, 3 + 2, &_11);\n square_multiply(&mut y, 3 + 2, &_11);\n square_multiply(&mut y, 1 + 4, &_1001);\n square_multiply(&mut y, 1 + 3, &_111);\n square_multiply(&mut y, 2 + 4, &_1111);\n square_multiply(&mut y, 1 + 4, &_1011);\n square_multiply(&mut y, 3, &_101);\n square_multiply(&mut y, 2 + 4, &_1111);\n square_multiply(&mut y, 3, &_101);\n square_multiply(&mut y, 1 + 2, &_11);\n\n let inverse = y;\n\n #[cfg(feature = \"zeroize\")]\n {\n _1.zeroize();\n _10.zeroize();\n _100.zeroize();\n _11.zeroize();\n _101.zeroize();\n _111.zeroize();\n _1001.zeroize();\n _1011.zeroize();\n _1111.zeroize();\n y.zeroize();\n }\n\n inverse\n }\n\n /// Inverts an UnpackedScalar not in Montgomery form.\n pub fn invert(&self) -> UnpackedScalar {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut montgomery = self.as_montgomery();\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut inverse = montgomery.montgomery_invert();\n let result = inverse.from_montgomery();\n\n #[cfg(feature = \"zeroize\")]\n {\n montgomery.zeroize();\n inverse.zeroize();\n }\n\n result\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl Field for Scalar {\n const ZERO: Self = Self::ZERO;\n const ONE: Self = Self::ONE;\n\n fn random(mut rng: impl RngCore) -> Self {\n // NOTE: this is duplicated due to different `rng` bounds\n let mut scalar_bytes = [0u8; 64];\n rng.fill_bytes(&mut scalar_bytes);\n let scalar = Self::from_bytes_mod_order_wide(&scalar_bytes);\n\n #[cfg(feature = \"zeroize\")]\n scalar_bytes.zeroize();\n\n scalar\n }\n\n fn square(&self) -> Self {\n self * self\n }\n\n fn double(&self) -> Self {\n self + self\n }\n\n fn invert(&self) -> CtOption {\n CtOption::new(self.invert(), !self.is_zero())\n }\n\n fn sqrt_ratio(num: &Self, div: &Self) -> (Choice, Self) {\n #[allow(unused_qualifications)]\n group::ff::helpers::sqrt_ratio_generic(num, div)\n }\n\n fn sqrt(&self) -> CtOption {\n #[allow(unused_qualifications)]\n group::ff::helpers::sqrt_tonelli_shanks(\n self,\n [\n 0xcb02_4c63_4b9e_ba7d,\n 0x029b_df3b_d45e_f39a,\n 0x0000_0000_0000_0000,\n 0x0200_0000_0000_0000,\n ],\n )\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl PrimeField for Scalar {\n type Repr = [u8; 32];\n\n fn from_repr(repr: Self::Repr) -> CtOption {\n Self::from_canonical_bytes(repr)\n }\n\n fn from_repr_vartime(repr: Self::Repr) -> Option {\n // Check that the high bit is not set\n if (repr[31] >> 7) != 0u8 {\n return None;\n }\n\n let candidate = Scalar { bytes: repr };\n\n if candidate == candidate.reduce() {\n Some(candidate)\n } else {\n None\n }\n }\n\n fn to_repr(&self) -> Self::Repr {\n self.to_bytes()\n }\n\n fn is_odd(&self) -> Choice {\n Choice::from(self.as_bytes()[0] & 1)\n }\n\n const MODULUS: &'static str =\n \"0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed\";\n const NUM_BITS: u32 = 253;\n const CAPACITY: u32 = 252;\n\n const TWO_INV: Self = Self {\n bytes: [\n 0xf7, 0xe9, 0x7a, 0x2e, 0x8d, 0x31, 0x09, 0x2c, 0x6b, 0xce, 0x7b, 0x51, 0xef, 0x7c,\n 0x6f, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x08,\n ],\n };\n const MULTIPLICATIVE_GENERATOR: Self = Self {\n bytes: [\n 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ],\n };\n const S: u32 = 2;\n const ROOT_OF_UNITY: Self = Self {\n bytes: [\n 0xd4, 0x07, 0xbe, 0xeb, 0xdf, 0x75, 0x87, 0xbe, 0xfe, 0x83, 0xce, 0x42, 0x53, 0x56,\n 0xf0, 0x0e, 0x7a, 0xc2, 0xc1, 0xab, 0x60, 0x6d, 0x3d, 0x7d, 0xe7, 0x81, 0x79, 0xe0,\n 0x10, 0x73, 0x4a, 0x09,\n ],\n };\n const ROOT_OF_UNITY_INV: Self = Self {\n bytes: [\n 0x19, 0xcc, 0x37, 0x71, 0x3a, 0xed, 0x8a, 0x99, 0xd7, 0x18, 0x29, 0x60, 0x8b, 0xa3,\n 0xee, 0x05, 0x86, 0x3d, 0x3e, 0x54, 0x9f, 0x92, 0xc2, 0x82, 0x18, 0x7e, 0x86, 0x1f,\n 0xef, 0x8c, 0xb5, 0x06,\n ],\n };\n const DELTA: Self = Self {\n bytes: [\n 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ],\n };\n}\n\n#[cfg(feature = \"group-bits\")]\nimpl PrimeFieldBits for Scalar {\n type ReprBits = [u8; 32];\n\n fn to_le_bits(&self) -> FieldBits {\n self.to_repr().into()\n }\n\n fn char_le_bits() -> FieldBits {\n constants::BASEPOINT_ORDER.to_bytes().into()\n }\n}\n\n#[cfg(feature = \"group\")]\nimpl FromUniformBytes<64> for Scalar {\n fn from_uniform_bytes(bytes: &[u8; 64]) -> Self {\n Scalar::from_bytes_mod_order_wide(bytes)\n }\n}\n\n/// Read one or more u64s stored as little endian bytes.\n///\n/// ## Panics\n/// Panics if `src.len() != 8 * dst.len()`.\nfn read_le_u64_into(src: &[u8], dst: &mut [u64]) {\n assert!(\n src.len() == 8 * dst.len(),\n \"src.len() = {}, dst.len() = {}\",\n src.len(),\n dst.len()\n );\n for (bytes, val) in src.chunks(8).zip(dst.iter_mut()) {\n *val = u64::from_le_bytes(\n bytes\n .try_into()\n .expect(\"Incorrect src length, should be 8 * dst.len()\"),\n );\n }\n}\n\n/// _Clamps_ the given little-endian representation of a 32-byte integer. Clamping the value puts\n/// it in the range:\n///\n/// **n ∈ 2^254 + 8\\*{0, 1, 2, 3, . . ., 2^251 − 1}**\n///\n/// # Explanation of clamping\n///\n/// For Curve25519, h = 8, and multiplying by 8 is the same as a binary left-shift by 3 bits.\n/// If you take a secret scalar value between 2^251 and 2^252 – 1 and left-shift by 3 bits\n/// then you end up with a 255-bit number with the most significant bit set to 1 and\n/// the least-significant three bits set to 0.\n///\n/// The Curve25519 clamping operation takes **an arbitrary 256-bit random value** and\n/// clears the most-significant bit (making it a 255-bit number), sets the next bit, and then\n/// clears the 3 least-significant bits. In other words, it directly creates a scalar value that is\n/// in the right form and pre-multiplied by the cofactor.\n///\n/// See [here](https://neilmadden.blog/2020/05/28/whats-the-curve25519-clamping-all-about/) for\n/// more details.\n#[must_use]\npub const fn clamp_integer(mut bytes: [u8; 32]) -> [u8; 32] {\n bytes[0] &= 0b1111_1000;\n bytes[31] &= 0b0111_1111;\n bytes[31] |= 0b0100_0000;\n bytes\n}\n\n#[cfg(test)]\npub(crate) mod test {\n use super::*;\n\n #[cfg(feature = \"alloc\")]\n use alloc::vec::Vec;\n use rand::RngCore;\n\n /// x = 2238329342913194256032495932344128051776374960164957527413114840482143558222\n pub static X: Scalar = Scalar {\n bytes: [\n 0x4e, 0x5a, 0xb4, 0x34, 0x5d, 0x47, 0x08, 0x84, 0x59, 0x13, 0xb4, 0x64, 0x1b, 0xc2,\n 0x7d, 0x52, 0x52, 0xa5, 0x85, 0x10, 0x1b, 0xcc, 0x42, 0x44, 0xd4, 0x49, 0xf4, 0xa8,\n 0x79, 0xd9, 0xf2, 0x04,\n ],\n };\n /// 1/x = 6859937278830797291664592131120606308688036382723378951768035303146619657244\n pub static XINV: Scalar = Scalar {\n bytes: [\n 0x1c, 0xdc, 0x17, 0xfc, 0xe0, 0xe9, 0xa5, 0xbb, 0xd9, 0x24, 0x7e, 0x56, 0xbb, 0x01,\n 0x63, 0x47, 0xbb, 0xba, 0x31, 0xed, 0xd5, 0xa9, 0xbb, 0x96, 0xd5, 0x0b, 0xcd, 0x7a,\n 0x3f, 0x96, 0x2a, 0x0f,\n ],\n };\n /// y = 2592331292931086675770238855846338635550719849568364935475441891787804997264\n pub static Y: Scalar = Scalar {\n bytes: [\n 0x90, 0x76, 0x33, 0xfe, 0x1c, 0x4b, 0x66, 0xa4, 0xa2, 0x8d, 0x2d, 0xd7, 0x67, 0x83,\n 0x86, 0xc3, 0x53, 0xd0, 0xde, 0x54, 0x55, 0xd4, 0xfc, 0x9d, 0xe8, 0xef, 0x7a, 0xc3,\n 0x1f, 0x35, 0xbb, 0x05,\n ],\n };\n\n /// The largest scalar that satisfies invariant #1, i.e., the largest scalar with the top bit\n /// set to 0. Since this scalar violates invariant #2, i.e., it's greater than the modulus `l`,\n /// addition and subtraction are broken. The only thing you can do with this is scalar-point\n /// multiplication (and actually also scalar-scalar multiplication, but that's just a quirk of\n /// our implementation).\n pub(crate) static LARGEST_UNREDUCED_SCALAR: Scalar = Scalar {\n bytes: [\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0x7f,\n ],\n };\n\n /// x*y = 5690045403673944803228348699031245560686958845067437804563560795922180092780\n static X_TIMES_Y: Scalar = Scalar {\n bytes: [\n 0x6c, 0x33, 0x74, 0xa1, 0x89, 0x4f, 0x62, 0x21, 0x0a, 0xaa, 0x2f, 0xe1, 0x86, 0xa6,\n 0xf9, 0x2c, 0xe0, 0xaa, 0x75, 0xc2, 0x77, 0x95, 0x81, 0xc2, 0x95, 0xfc, 0x08, 0x17,\n 0x9a, 0x73, 0x94, 0x0c,\n ],\n };\n\n /// sage: l = 2^252 + 27742317777372353535851937790883648493\n /// sage: big = 2^256 - 1\n /// sage: repr((big % l).digits(256))\n static CANONICAL_2_256_MINUS_1: Scalar = Scalar {\n bytes: [\n 28, 149, 152, 141, 116, 49, 236, 214, 112, 207, 125, 115, 244, 91, 239, 198, 254, 255,\n 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15,\n ],\n };\n\n static A_SCALAR: Scalar = Scalar {\n bytes: [\n 0x1a, 0x0e, 0x97, 0x8a, 0x90, 0xf6, 0x62, 0x2d, 0x37, 0x47, 0x02, 0x3f, 0x8a, 0xd8,\n 0x26, 0x4d, 0xa7, 0x58, 0xaa, 0x1b, 0x88, 0xe0, 0x40, 0xd1, 0x58, 0x9e, 0x7b, 0x7f,\n 0x23, 0x76, 0xef, 0x09,\n ],\n };\n\n static A_NAF: [i8; 256] = [\n 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, -11, 0, 0, 0, 0, 3, 0, 0,\n 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 11, 0, 0, 0, 0,\n 11, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n 0, -1, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, -15, 0, 0, 0, 0, -7, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 5,\n 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, -11, 0, 0, 0, 0, -7, 0, 0, 0, 0, -13, 0, 0,\n 0, 0, 11, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n 7, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 15,\n 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, -15, 0,\n 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n ];\n\n const BASEPOINT_ORDER_MINUS_ONE: Scalar = Scalar {\n bytes: [\n 0xec, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9,\n 0xde, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x10,\n ],\n };\n\n /// The largest clamped integer\n static LARGEST_CLAMPED_INTEGER: [u8; 32] = clamp_integer(LARGEST_UNREDUCED_SCALAR.bytes);\n\n #[test]\n fn fuzzer_testcase_reduction() {\n // LE bytes of 24519928653854221733733552434404946937899825954937634815\n let a_bytes = [\n 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,\n 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n ];\n // LE bytes of 4975441334397345751130612518500927154628011511324180036903450236863266160640\n let b_bytes = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210,\n 210, 255, 255, 255, 255, 10,\n ];\n // LE bytes of 6432735165214683820902750800207468552549813371247423777071615116673864412038\n let c_bytes = [\n 134, 171, 119, 216, 180, 128, 178, 62, 171, 132, 32, 62, 34, 119, 104, 193, 47, 215,\n 181, 250, 14, 207, 172, 93, 75, 207, 211, 103, 144, 204, 56, 14,\n ];\n\n let a = Scalar::from_bytes_mod_order(a_bytes);\n let b = Scalar::from_bytes_mod_order(b_bytes);\n let c = Scalar::from_bytes_mod_order(c_bytes);\n\n let mut tmp = [0u8; 64];\n\n // also_a = (a mod l)\n tmp[0..32].copy_from_slice(&a_bytes[..]);\n let also_a = Scalar::from_bytes_mod_order_wide(&tmp);\n\n // also_b = (b mod l)\n tmp[0..32].copy_from_slice(&b_bytes[..]);\n let also_b = Scalar::from_bytes_mod_order_wide(&tmp);\n\n let expected_c = a * b;\n let also_expected_c = also_a * also_b;\n\n assert_eq!(c, expected_c);\n assert_eq!(c, also_expected_c);\n }\n\n #[test]\n fn non_adjacent_form_test_vector() {\n let naf = A_SCALAR.non_adjacent_form(5);\n for i in 0..256 {\n assert_eq!(naf[i], A_NAF[i]);\n }\n }\n\n #[test]\n fn non_adjacent_form_128_matches_generic() {\n let mut high_bit = [0u8; 32];\n high_bit[15] = 0x80;\n\n let cases = [\n Scalar::ZERO,\n Scalar::ONE,\n Scalar::from(u64::MAX),\n Scalar::from(0xfedc_ba98_7654_3210_0123_4567_89ab_cdefu128),\n Scalar::from(u128::MAX),\n Scalar { bytes: high_bit },\n ];\n\n for scalar in cases {\n for w in 2..=8 {\n let generic = scalar.non_adjacent_form(w);\n let naf_128 = scalar.non_adjacent_form_128(w);\n\n for i in 0..=HEEA_MAX_INDEX {\n assert_eq!(\n naf_128[i], generic[i],\n \"NAF mismatch at index {i} for width {w}\"\n );\n }\n\n assert!(\n generic[NAF_128_SIZE..].iter().all(|&digit| digit == 0),\n \"generic NAF has non-zero digits above 128-bit range for width {w}\"\n );\n }\n }\n }\n\n #[cfg(feature = \"rand_core\")]\n fn non_adjacent_form_iter(w: usize, x: &Scalar) {\n let naf = x.non_adjacent_form(w);\n\n // Reconstruct the scalar from the computed NAF\n let mut y = Scalar::ZERO;\n for i in (0..256).rev() {\n y += y;\n let digit = if naf[i] < 0 {\n -Scalar::from((-naf[i]) as u64)\n } else {\n Scalar::from(naf[i] as u64)\n };\n y += digit;\n }\n\n assert_eq!(*x, y);\n }\n\n #[cfg(feature = \"rand_core\")]\n #[test]\n fn non_adjacent_form_random() {\n let mut rng = rand::thread_rng();\n for _ in 0..1_000 {\n let x = Scalar::random(&mut rng);\n for w in &[5, 6, 7, 8] {\n non_adjacent_form_iter(*w, &x);\n }\n }\n }\n\n #[test]\n fn from_u64() {\n let val: u64 = 0xdeadbeefdeadbeef;\n let s = Scalar::from(val);\n assert_eq!(s[7], 0xde);\n assert_eq!(s[6], 0xad);\n assert_eq!(s[5], 0xbe);\n assert_eq!(s[4], 0xef);\n assert_eq!(s[3], 0xde);\n assert_eq!(s[2], 0xad);\n assert_eq!(s[1], 0xbe);\n assert_eq!(s[0], 0xef);\n }\n\n #[test]\n fn scalar_mul_by_one() {\n let test_scalar = X * Scalar::ONE;\n for i in 0..32 {\n assert!(test_scalar[i] == X[i]);\n }\n }\n\n #[test]\n fn add_reduces() {\n // Check that addition wraps around the modulus\n assert_eq!(BASEPOINT_ORDER_MINUS_ONE + Scalar::ONE, Scalar::ZERO);\n }\n\n #[test]\n fn sub_reduces() {\n // Check that subtraction wraps around the modulus\n assert_eq!(Scalar::ZERO - Scalar::ONE, BASEPOINT_ORDER_MINUS_ONE);\n }\n\n #[test]\n fn impl_add() {\n let two = Scalar::from(2u64);\n let one = Scalar::ONE;\n let should_be_two = one + one;\n assert_eq!(should_be_two, two);\n }\n\n #[allow(non_snake_case)]\n #[test]\n fn impl_mul() {\n let should_be_X_times_Y = X * Y;\n assert_eq!(should_be_X_times_Y, X_TIMES_Y);\n }\n\n #[allow(non_snake_case)]\n #[test]\n #[cfg(feature = \"alloc\")]\n fn impl_product() {\n // Test that product works for non-empty iterators\n let X_Y_vector = [X, Y];\n let should_be_X_times_Y: Scalar = X_Y_vector.iter().product();\n assert_eq!(should_be_X_times_Y, X_TIMES_Y);\n\n // Test that product works for the empty iterator\n let one = Scalar::ONE;\n let empty_vector = [];\n let should_be_one: Scalar = empty_vector.iter().product();\n assert_eq!(should_be_one, one);\n\n // Test that product works for iterators where Item = Scalar\n let xs = [Scalar::from(2u64); 10];\n let ys = [Scalar::from(3u64); 10];\n // now zs is an iterator with Item = Scalar\n let zs = xs.iter().zip(ys.iter()).map(|(x, y)| x * y);\n\n let x_prod: Scalar = xs.iter().product();\n let y_prod: Scalar = ys.iter().product();\n let z_prod: Scalar = zs.product();\n\n assert_eq!(x_prod, Scalar::from(1024u64));\n assert_eq!(y_prod, Scalar::from(59049u64));\n assert_eq!(z_prod, Scalar::from(60466176u64));\n assert_eq!(x_prod * y_prod, z_prod);\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn impl_sum() {\n // Test that sum works for non-empty iterators\n let two = Scalar::from(2u64);\n let one_vector = [Scalar::ONE, Scalar::ONE];\n let should_be_two: Scalar = one_vector.iter().sum();\n assert_eq!(should_be_two, two);\n\n // Test that sum works for the empty iterator\n let zero = Scalar::ZERO;\n let empty_vector = [];\n let should_be_zero: Scalar = empty_vector.iter().sum();\n assert_eq!(should_be_zero, zero);\n\n // Test that sum works for owned types\n let xs = [Scalar::from(1u64); 10];\n let ys = [Scalar::from(2u64); 10];\n // now zs is an iterator with Item = Scalar\n let zs = xs.iter().zip(ys.iter()).map(|(x, y)| x + y);\n\n let x_sum: Scalar = xs.iter().sum();\n let y_sum: Scalar = ys.iter().sum();\n let z_sum: Scalar = zs.sum();\n\n assert_eq!(x_sum, Scalar::from(10u64));\n assert_eq!(y_sum, Scalar::from(20u64));\n assert_eq!(z_sum, Scalar::from(30u64));\n assert_eq!(x_sum + y_sum, z_sum);\n }\n\n #[test]\n fn square() {\n let expected = X * X;\n let actual = X.unpack().square().pack();\n for i in 0..32 {\n assert!(expected[i] == actual[i]);\n }\n }\n\n #[test]\n fn div_by_2() {\n // test a range of small scalars\n for i in 0u64..32 {\n let scalar = Scalar::from(i);\n let dividend = scalar.div_by_2();\n assert_eq!(scalar, dividend + dividend);\n }\n\n // test a range of scalars near the modulus\n for i in 0u64..32 {\n let scalar = Scalar::ZERO - Scalar::from(i);\n let dividend = scalar.div_by_2();\n assert_eq!(scalar, dividend + dividend);\n }\n }\n\n #[test]\n fn reduce() {\n let biggest = Scalar::from_bytes_mod_order([0xff; 32]);\n assert_eq!(biggest, CANONICAL_2_256_MINUS_1);\n }\n\n #[test]\n fn from_bytes_mod_order_wide() {\n let mut bignum = [0u8; 64];\n // set bignum = x + 2^256x\n for i in 0..32 {\n bignum[i] = X[i];\n bignum[32 + i] = X[i];\n }\n // 3958878930004874126169954872055634648693766179881526445624823978500314864344\n // = x + 2^256x (mod l)\n let reduced = Scalar {\n bytes: [\n 216, 154, 179, 139, 210, 121, 2, 71, 69, 99, 158, 216, 23, 173, 63, 100, 204, 0,\n 91, 50, 219, 153, 57, 249, 28, 82, 31, 197, 100, 165, 192, 8,\n ],\n };\n let test_red = Scalar::from_bytes_mod_order_wide(&bignum);\n for i in 0..32 {\n assert!(test_red[i] == reduced[i]);\n }\n }\n\n #[allow(non_snake_case)]\n #[test]\n fn invert() {\n let inv_X = X.invert();\n assert_eq!(inv_X, XINV);\n let should_be_one = inv_X * X;\n assert_eq!(should_be_one, Scalar::ONE);\n }\n\n // Negating a scalar twice should result in the original scalar.\n #[allow(non_snake_case)]\n #[test]\n fn neg_twice_is_identity() {\n let negative_X = -&X;\n let should_be_X = -&negative_X;\n\n assert_eq!(should_be_X, X);\n }\n\n #[test]\n fn to_bytes_from_bytes_roundtrips() {\n let unpacked = X.unpack();\n let bytes = unpacked.to_bytes();\n let should_be_unpacked = UnpackedScalar::from_bytes(&bytes);\n\n assert_eq!(should_be_unpacked.0, unpacked.0);\n }\n\n #[test]\n fn montgomery_reduce_matches_from_bytes_mod_order_wide() {\n let mut bignum = [0u8; 64];\n\n // set bignum = x + 2^256x\n for i in 0..32 {\n bignum[i] = X[i];\n bignum[32 + i] = X[i];\n }\n // x + 2^256x (mod l)\n // = 3958878930004874126169954872055634648693766179881526445624823978500314864344\n let expected = Scalar {\n bytes: [\n 216, 154, 179, 139, 210, 121, 2, 71, 69, 99, 158, 216, 23, 173, 63, 100, 204, 0,\n 91, 50, 219, 153, 57, 249, 28, 82, 31, 197, 100, 165, 192, 8,\n ],\n };\n let reduced = Scalar::from_bytes_mod_order_wide(&bignum);\n\n // The reduced scalar should match the expected\n assert_eq!(reduced.bytes, expected.bytes);\n\n // (x + 2^256x) * R\n let interim =\n UnpackedScalar::mul_internal(&UnpackedScalar::from_bytes_wide(&bignum), &constants::R);\n // ((x + 2^256x) * R) / R (mod l)\n let montgomery_reduced = UnpackedScalar::montgomery_reduce(&interim);\n\n // The Montgomery reduced scalar should match the reduced one, as well as the expected\n assert_eq!(montgomery_reduced.0, reduced.unpack().0);\n assert_eq!(montgomery_reduced.0, expected.unpack().0)\n }\n\n #[test]\n fn canonical_decoding() {\n // canonical encoding of 1667457891\n let canonical_bytes = [\n 99, 99, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0,\n ];\n\n // encoding of\n // 7265385991361016183439748078976496179028704920197054998554201349516117938192\n // = 28380414028753969466561515933501938171588560817147392552250411230663687203 (mod l)\n // non_canonical because unreduced mod l\n let non_canonical_bytes_because_unreduced = [16; 32];\n\n // encoding with high bit set, to check that the parser isn't pre-masking the high bit\n let non_canonical_bytes_because_highbit = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 128,\n ];\n\n assert!(bool::from(\n Scalar::from_canonical_bytes(canonical_bytes).is_some()\n ));\n assert!(bool::from(\n Scalar::from_canonical_bytes(non_canonical_bytes_because_unreduced).is_none()\n ));\n assert!(bool::from(\n Scalar::from_canonical_bytes(non_canonical_bytes_because_highbit).is_none()\n ));\n }\n\n #[test]\n #[cfg(feature = \"serde\")]\n fn serde_bincode_scalar_roundtrip() {\n use bincode;\n let encoded = bincode::serialize(&X).unwrap();\n let parsed: Scalar = bincode::deserialize(&encoded).unwrap();\n assert_eq!(parsed, X);\n\n // Check that the encoding is 32 bytes exactly\n assert_eq!(encoded.len(), 32);\n\n // Check that the encoding itself matches the usual one\n assert_eq!(X, bincode::deserialize(X.as_bytes()).unwrap(),);\n }\n\n #[cfg(debug_assertions)]\n #[test]\n #[should_panic]\n fn invert_batch_with_a_zero_input_panics() {\n let mut xs = [Scalar::ONE; 16];\n xs[3] = Scalar::ZERO;\n // This should panic in debug mode.\n Scalar::invert_batch(&mut xs);\n }\n\n #[test]\n fn invert_batch_empty() {\n assert_eq!(Scalar::ONE, Scalar::invert_batch(&mut []));\n }\n\n #[test]\n fn invert_batch_consistency() {\n let mut x = Scalar::from(1u64);\n let mut v1: [Scalar; 16] = core::array::from_fn(|_| {\n let tmp = x;\n x = x + x;\n tmp\n });\n let v2 = v1;\n\n let expected: Scalar = v1.iter().product();\n let expected = expected.invert();\n let ret = Scalar::invert_batch(&mut v1);\n assert_eq!(ret, expected);\n\n for (a, b) in v1.iter().zip(v2.iter()) {\n assert_eq!(a * b, Scalar::ONE);\n }\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn batch_vec_invert_consistency() {\n let mut x = Scalar::from(1u64);\n let mut v1: Vec<_> = (0..16)\n .map(|_| {\n let tmp = x;\n x = x + x;\n tmp\n })\n .collect();\n let v2 = v1.clone();\n\n let expected: Scalar = v1.iter().product();\n let expected = expected.invert();\n let ret = Scalar::invert_batch_alloc(&mut v1);\n assert_eq!(ret, expected);\n\n for (a, b) in v1.iter().zip(v2.iter()) {\n assert_eq!(a * b, Scalar::ONE);\n }\n }\n\n #[cfg(feature = \"precomputed-tables\")]\n fn test_pippenger_radix_iter(scalar: Scalar, w: usize) {\n let digits_count = Scalar::to_radix_2w_size_hint(w);\n let digits = scalar.as_radix_2w(w);\n\n let radix = Scalar::from((1 << w) as u64);\n let mut term = Scalar::ONE;\n let mut recovered_scalar = Scalar::ZERO;\n for digit in &digits[0..digits_count] {\n let digit = *digit;\n if digit != 0 {\n let sdigit = if digit < 0 {\n -Scalar::from((-(digit as i64)) as u64)\n } else {\n Scalar::from(digit as u64)\n };\n recovered_scalar += term * sdigit;\n }\n term *= radix;\n }\n // When the input is unreduced, we may only recover the scalar mod l.\n assert_eq!(recovered_scalar, scalar.reduce());\n }\n\n #[test]\n #[cfg(feature = \"precomputed-tables\")]\n fn test_pippenger_radix() {\n use core::iter;\n // For each valid radix it tests that 1000 random-ish scalars can be restored\n // from the produced representation precisely.\n let cases = (2..100)\n .map(|s| Scalar::from(s as u64).invert())\n // The largest unreduced scalar, s = 2^255-1. This is not reduced mod l. Scalar mult\n // still works though.\n .chain(iter::once(LARGEST_UNREDUCED_SCALAR));\n\n for scalar in cases {\n test_pippenger_radix_iter(scalar, 6);\n test_pippenger_radix_iter(scalar, 7);\n test_pippenger_radix_iter(scalar, 8);\n }\n }\n\n #[test]\n #[cfg(feature = \"alloc\")]\n fn test_read_le_u64_into() {\n let cases: &[(&[u8], &[u64])] = &[\n (\n &[0xFE, 0xEF, 0x10, 0x01, 0x1F, 0xF1, 0x0F, 0xF0],\n &[0xF00F_F11F_0110_EFFE],\n ),\n (\n &[\n 0xFE, 0xEF, 0x10, 0x01, 0x1F, 0xF1, 0x0F, 0xF0, 0x12, 0x34, 0x56, 0x78, 0x9A,\n 0xBC, 0xDE, 0xF0,\n ],\n &[0xF00F_F11F_0110_EFFE, 0xF0DE_BC9A_7856_3412],\n ),\n ];\n\n for (src, expected) in cases {\n let mut dst = vec![0; expected.len()];\n read_le_u64_into(src, &mut dst);\n\n assert_eq!(&dst, expected, \"Expected {:x?} got {:x?}\", expected, dst);\n }\n }\n\n // Tests consistency of From<{integer}> impls for Scalar\n #[test]\n fn test_scalar_from_int() {\n let s1 = Scalar::ONE;\n\n // For `x` in `u8`, `u16`, `u32`, `u64`, and `u128`, check that\n // `Scalar::from(x + 1) == Scalar::from(x) + Scalar::from(1)`\n\n let x = 0x23u8;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n\n let x = 0x2323u16;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n\n let x = 0x2323_2323u32;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n\n let x = 0x2323_2323_2323_2323u64;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n\n let x = 0x2323_2323_2323_2323_2323_2323_2323_2323u128;\n let sx = Scalar::from(x);\n assert_eq!(sx + s1, Scalar::from(x + 1));\n }\n\n #[cfg(feature = \"group\")]\n #[test]\n fn ff_constants() {\n assert_eq!(Scalar::from(2u64) * Scalar::TWO_INV, Scalar::ONE);\n\n assert_eq!(\n Scalar::ROOT_OF_UNITY * Scalar::ROOT_OF_UNITY_INV,\n Scalar::ONE,\n );\n\n // ROOT_OF_UNITY^{2^s} mod m == 1\n assert_eq!(\n Scalar::ROOT_OF_UNITY.pow(&[1u64 << Scalar::S, 0, 0, 0]),\n Scalar::ONE,\n );\n\n // DELTA^{t} mod m == 1\n assert_eq!(\n Scalar::DELTA.pow(&[\n 0x9604_98c6_973d_74fb,\n 0x0537_be77_a8bd_e735,\n 0x0000_0000_0000_0000,\n 0x0400_0000_0000_0000,\n ]),\n Scalar::ONE,\n );\n }\n\n #[cfg(feature = \"group\")]\n #[test]\n fn ff_impls() {\n assert!(bool::from(Scalar::ZERO.is_even()));\n assert!(bool::from(Scalar::ONE.is_odd()));\n assert!(bool::from(Scalar::from(2u64).is_even()));\n assert!(bool::from(Scalar::DELTA.is_even()));\n\n assert!(bool::from(Field::invert(&Scalar::ZERO).is_none()));\n assert_eq!(Field::invert(&X).unwrap(), XINV);\n\n let x_sq = X.square();\n // We should get back either the positive or negative root.\n assert!([X, -X].contains(&x_sq.sqrt().unwrap()));\n\n assert_eq!(Scalar::from_repr_vartime(X.to_repr()), Some(X));\n assert_eq!(Scalar::from_repr_vartime([0xff; 32]), None);\n\n assert_eq!(Scalar::from_repr(X.to_repr()).unwrap(), X);\n assert!(bool::from(Scalar::from_repr([0xff; 32]).is_none()));\n }\n\n #[test]\n #[should_panic]\n fn test_read_le_u64_into_should_panic_on_bad_input() {\n let mut dst = [0_u64; 1];\n // One byte short\n read_le_u64_into(&[0xFE, 0xEF, 0x10, 0x01, 0x1F, 0xF1, 0x0F], &mut dst);\n }\n\n #[test]\n fn test_scalar_clamp() {\n let input = A_SCALAR.bytes;\n let expected = [\n 0x18, 0x0e, 0x97, 0x8a, 0x90, 0xf6, 0x62, 0x2d, 0x37, 0x47, 0x02, 0x3f, 0x8a, 0xd8,\n 0x26, 0x4d, 0xa7, 0x58, 0xaa, 0x1b, 0x88, 0xe0, 0x40, 0xd1, 0x58, 0x9e, 0x7b, 0x7f,\n 0x23, 0x76, 0xef, 0x49,\n ];\n let actual = clamp_integer(input);\n assert_eq!(actual, expected);\n\n let expected = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0x40,\n ];\n let actual = clamp_integer([0; 32]);\n assert_eq!(expected, actual);\n let expected = [\n 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0xff, 0xff, 0x7f,\n ];\n let actual = clamp_integer([0xff; 32]);\n assert_eq!(actual, expected);\n\n assert_eq!(\n LARGEST_CLAMPED_INTEGER,\n clamp_integer(LARGEST_CLAMPED_INTEGER)\n );\n }\n\n // Check that a * b == a.reduce() * a.reduce() for ANY scalars a,b, even ones that violate\n // invariant #1, i.e., a,b > 2^255. Old versions of ed25519-dalek did multiplication where a\n // was reduced and b was clamped and unreduced. This checks that was always well-defined.\n #[test]\n fn test_mul_reduction_invariance() {\n let mut rng = rand::thread_rng();\n\n for _ in 0..10 {\n // Also define c that's clamped. We'll make sure that clamping doesn't affect\n // computation\n let (a, b, c) = {\n let mut a_bytes = [0u8; 32];\n let mut b_bytes = [0u8; 32];\n let mut c_bytes = [0u8; 32];\n rng.fill_bytes(&mut a_bytes);\n rng.fill_bytes(&mut b_bytes);\n rng.fill_bytes(&mut c_bytes);\n (\n Scalar { bytes: a_bytes },\n Scalar { bytes: b_bytes },\n Scalar {\n bytes: clamp_integer(c_bytes),\n },\n )\n };\n\n // Make sure this is the same product no matter how you cut it\n let reduced_mul_ab = a.reduce() * b.reduce();\n let reduced_mul_ac = a.reduce() * c.reduce();\n assert_eq!(a * b, reduced_mul_ab);\n assert_eq!(a.reduce() * b, reduced_mul_ab);\n assert_eq!(a * b.reduce(), reduced_mul_ab);\n assert_eq!(a * c, reduced_mul_ac);\n assert_eq!(a.reduce() * c, reduced_mul_ac);\n assert_eq!(a * c.reduce(), reduced_mul_ac);\n }\n }\n}\n"},{"id":29,"name":{"Local":"/rustc/library/core/src/result.rs"},"crate_name":"core","contents":null},{"id":30,"name":{"Local":"/rustc/library/core/src/macros/mod.rs"},"crate_name":"core","contents":null},{"id":31,"name":{"Local":"/rustc/library/core/src/ops/range.rs"},"crate_name":"core","contents":null},{"id":32,"name":{"Local":"/rustc/library/core/src/fmt/rt.rs"},"crate_name":"core","contents":null},{"id":33,"name":{"Local":"/rustc/library/core/src/ops/index.rs"},"crate_name":"core","contents":null},{"id":34,"name":{"Local":"/rustc/library/core/src/slice/index.rs"},"crate_name":"core","contents":null},{"id":35,"name":{"Local":"/rustc/library/core/src/slice/mod.rs"},"crate_name":"core","contents":null},{"id":36,"name":{"Local":"/rustc/library/core/src/fmt/num.rs"},"crate_name":"core","contents":null},{"id":37,"name":{"Local":"/rustc/library/core/src/option.rs"},"crate_name":"core","contents":null},{"id":38,"name":{"Local":"/rustc/library/core/src/iter/traits/collect.rs"},"crate_name":"core","contents":null},{"id":39,"name":{"Local":"/rustc/library/core/src/iter/range.rs"},"crate_name":"core","contents":null},{"id":40,"name":{"Local":"/rustc/library/core/src/panicking.rs"},"crate_name":"core","contents":null},{"id":41,"name":{"Local":"curve25519/solana-ed25519/src/montgomery.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Scalar multiplication on the Montgomery form of Curve25519.\n//!\n//! To avoid notational confusion with the Edwards code, we use\n//! variables \\\\( u, v \\\\) for the Montgomery curve, so that “Montgomery\n//! \\\\(u\\\\)” here corresponds to “Montgomery \\\\(x\\\\)” elsewhere.\n//!\n//! Montgomery arithmetic works not on the curve itself, but on the\n//! \\\\(u\\\\)-line, which discards sign information and unifies the curve\n//! and its quadratic twist. See [_Montgomery curves and their\n//! arithmetic_][costello-smith] by Costello and Smith for more details.\n//!\n//! The `MontgomeryPoint` struct contains the affine \\\\(u\\\\)-coordinate\n//! \\\\(u\\_0(P)\\\\) of a point \\\\(P\\\\) on either the curve or the twist.\n//! Here the map \\\\(u\\_0 : \\mathcal M \\rightarrow \\mathbb F\\_p \\\\) is\n//! defined by \\\\(u\\_0((u,v)) = u\\\\); \\\\(u\\_0(\\mathcal O) = 0\\\\). See\n//! section 5.4 of Costello-Smith for more details.\n//!\n//! # Scalar Multiplication\n//!\n//! Scalar multiplication on `MontgomeryPoint`s is provided by the `*`\n//! operator, which implements the Montgomery ladder.\n//!\n//! # Edwards Conversion\n//!\n//! The \\\\(2\\\\)-to-\\\\(1\\\\) map from the Edwards model to the Montgomery\n//! \\\\(u\\\\)-line is provided by `EdwardsPoint::to_montgomery()`.\n//!\n//! To lift a `MontgomeryPoint` to an `EdwardsPoint`, use\n//! `MontgomeryPoint::to_edwards()`, which takes a sign parameter.\n//! This function rejects `MontgomeryPoints` which correspond to points\n//! on the twist.\n//!\n//! [costello-smith]: https://eprint.iacr.org/2017/212.pdf\n\n// We allow non snake_case names because coordinates in projective space are\n// traditionally denoted by the capitalisation of their respective\n// counterparts in affine space. Yeah, you heard me, rustc, I'm gonna have my\n// affine and projective cakes and eat both of them too.\n#![allow(non_snake_case)]\n\nuse core::{\n hash::{Hash, Hasher},\n ops::{Mul, MulAssign},\n};\n\nuse crate::constants::APLUS2_OVER_FOUR;\n#[cfg(feature = \"digest\")]\nuse crate::constants::{MONTGOMERY_A, MONTGOMERY_A_NEG, SQRT_M1};\nuse crate::edwards::{CompressedEdwardsY, EdwardsPoint};\nuse crate::field::FieldElement;\nuse crate::scalar::{Scalar, clamp_integer};\n\nuse crate::traits::Identity;\n\nuse subtle::Choice;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\n// We need the const 2^((p+3)/8) for elligator_encode. This def is checked in tests::consts()\n#[cfg(feature = \"digest\")]\nconst FE_C2: FieldElement = FieldElement::from_limbs([\n 1718705420411057,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n]);\n\n/// Holds the \\\\(u\\\\)-coordinate of a point on the Montgomery form of\n/// Curve25519 or its twist.\n#[derive(Copy, Clone, Debug, Default)]\n#[cfg_attr(feature = \"serde\", derive(serde::Serialize, serde::Deserialize))]\npub struct MontgomeryPoint(pub [u8; 32]);\n\n/// Equality of `MontgomeryPoint`s is defined mod p.\nimpl ConstantTimeEq for MontgomeryPoint {\n fn ct_eq(&self, other: &MontgomeryPoint) -> Choice {\n let self_fe = FieldElement::from_bytes(&self.0);\n let other_fe = FieldElement::from_bytes(&other.0);\n\n self_fe.ct_eq(&other_fe)\n }\n}\n\nimpl ConditionallySelectable for MontgomeryPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n Self(<[u8; 32]>::conditional_select(&a.0, &b.0, choice))\n }\n}\n\nimpl PartialEq for MontgomeryPoint {\n fn eq(&self, other: &MontgomeryPoint) -> bool {\n self.ct_eq(other).into()\n }\n}\n\nimpl Eq for MontgomeryPoint {}\n\n// Equal MontgomeryPoints must hash to the same value. So we have to get them into a canonical\n// encoding first\nimpl Hash for MontgomeryPoint {\n fn hash(&self, state: &mut H) {\n // Do a round trip through a `FieldElement`. `as_bytes` is guaranteed to give a canonical\n // 32-byte encoding\n let canonical_bytes = FieldElement::from_bytes(&self.0).to_bytes();\n canonical_bytes.hash(state);\n }\n}\n\nimpl Identity for MontgomeryPoint {\n /// Return the group identity element, which has order 4.\n fn identity() -> MontgomeryPoint {\n MontgomeryPoint([0u8; 32])\n }\n}\n\n#[cfg(feature = \"zeroize\")]\nimpl Zeroize for MontgomeryPoint {\n fn zeroize(&mut self) {\n self.0.zeroize();\n }\n}\n\nimpl MontgomeryPoint {\n /// Fixed-base scalar multiplication (i.e. multiplication by the base point).\n pub fn mul_base(scalar: &Scalar) -> Self {\n EdwardsPoint::mul_base(scalar).to_montgomery()\n }\n\n /// Multiply this point by `clamp_integer(bytes)`. For a description of clamping, see\n /// [`clamp_integer`].\n pub fn mul_clamped(self, bytes: [u8; 32]) -> Self {\n // We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant\n // #2. But #2 is not necessary for correctness of variable-base multiplication. All that\n // needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed\n // by clamping.\n // Further, we don't do any reduction or arithmetic with this clamped value, so there's no\n // issues arising from the fact that the curve point is not necessarily in the prime-order\n // subgroup.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n s * self\n }\n\n /// Multiply the basepoint by `clamp_integer(bytes)`. For a description of clamping, see\n /// [`clamp_integer`].\n pub fn mul_base_clamped(bytes: [u8; 32]) -> Self {\n // See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We\n // note that fixed-base multiplication is also defined for all values of `bytes` less than\n // 2^255.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n Self::mul_base(&s)\n }\n\n /// Given `self` \\\\( = u\\_0(P) \\\\), and a big-endian bit representation of an integer\n /// \\\\(n\\\\), return \\\\( u\\_0(\\[n\\]P) \\\\). This is constant time in the length of `bits`.\n ///\n /// **NOTE:** You probably do not want to use this function. Almost every protocol built on\n /// Curve25519 uses _clamped multiplication_, explained\n /// [here](https://neilmadden.blog/2020/05/28/whats-the-curve25519-clamping-all-about/).\n /// When in doubt, use [`Self::mul_clamped`].\n pub fn mul_bits_be(&self, bits: impl Iterator) -> MontgomeryPoint {\n // Algorithm 8 of Costello-Smith 2017\n let affine_u = FieldElement::from_bytes(&self.0);\n let mut x0 = ProjectivePoint::identity();\n let mut x1 = ProjectivePoint {\n U: affine_u,\n W: FieldElement::ONE,\n };\n\n // Go through the bits from most to least significant, using a sliding window of 2\n let mut prev_bit = false;\n for cur_bit in bits {\n let choice: u8 = (prev_bit ^ cur_bit) as u8;\n\n debug_assert!(choice == 0 || choice == 1);\n\n ProjectivePoint::conditional_swap(&mut x0, &mut x1, choice.into());\n differential_add_and_double(&mut x0, &mut x1, &affine_u);\n\n prev_bit = cur_bit;\n }\n // The final value of prev_bit above is scalar.bits()[0], i.e., the LSB of scalar\n ProjectivePoint::conditional_swap(&mut x0, &mut x1, Choice::from(prev_bit as u8));\n // Don't leave the bit in the stack\n #[cfg(feature = \"zeroize\")]\n prev_bit.zeroize();\n\n x0.as_affine()\n }\n\n /// View this `MontgomeryPoint` as an array of bytes.\n pub const fn as_bytes(&self) -> &[u8; 32] {\n &self.0\n }\n\n /// Convert this `MontgomeryPoint` to an array of bytes.\n pub const fn to_bytes(&self) -> [u8; 32] {\n self.0\n }\n\n /// Attempt to convert to an `EdwardsPoint`, using the supplied\n /// choice of sign for the `EdwardsPoint`.\n ///\n /// # Inputs\n ///\n /// * `sign`: a `u8` donating the desired sign of the resulting\n /// `EdwardsPoint`. `0` denotes positive and `1` negative.\n ///\n /// # Return\n ///\n /// * `Some(EdwardsPoint)` if `self` is the \\\\(u\\\\)-coordinate of a\n /// point on (the Montgomery form of) Curve25519;\n ///\n /// * `None` if `self` is the \\\\(u\\\\)-coordinate of a point on the\n /// twist of (the Montgomery form of) Curve25519;\n ///\n pub fn to_edwards(&self, sign: u8) -> Option {\n // To decompress the Montgomery u coordinate to an\n // `EdwardsPoint`, we apply the birational map to obtain the\n // Edwards y coordinate, then do Edwards decompression.\n //\n // The birational map is y = (u-1)/(u+1).\n //\n // The exceptional points are the zeros of the denominator,\n // i.e., u = -1.\n //\n // But when u = -1, v^2 = u*(u^2+486662*u+1) = 486660.\n //\n // Since this is nonsquare mod p, u = -1 corresponds to a point\n // on the twist, not the curve, so we can reject it early.\n\n let u = FieldElement::from_bytes(&self.0);\n\n if u == FieldElement::MINUS_ONE {\n return None;\n }\n\n let one = FieldElement::ONE;\n\n let y = &(&u - &one) * &(&u + &one).invert();\n\n let mut y_bytes = y.to_bytes();\n y_bytes[31] ^= sign << 7;\n\n CompressedEdwardsY(y_bytes).decompress()\n }\n}\n\n#[cfg(feature = \"digest\")]\n/// Perform the Elligator2 mapping to a tuple `(xn, xd, yn, yd)` such that\n/// `(xn / xd, yn / yd)` is a point on curve25519.\n///\n/// See \npub(crate) fn elligator_encode(\n u: &FieldElement,\n) -> (FieldElement, FieldElement, FieldElement, FieldElement) {\n // We follow https://www.rfc-editor.org/rfc/rfc9380.html#appendix-G.2.1\n\n use core::ops::Neg;\n let one = FieldElement::ONE;\n let c2 = FE_C2;\n\n // 1. tv1 = u^2\n // 2. tv1 = 2 * tv1\n let tv1 = u.square2();\n // 3. xd = tv1 + 1\n let xd = &one + &tv1;\n // 4. x1n = -J\n let x1n = MONTGOMERY_A_NEG;\n // 5. tv2 = xd^2\n let tv2 = xd.square();\n // 6. gxd = tv2 * xd\n let gxd = &tv2 * &xd;\n // 7. gx1 = J * tv1\n let gx1 = &MONTGOMERY_A * &tv1;\n // 8. gx1 = gx1 * x1n\n let gx1 = &gx1 * &x1n;\n // 9. gx1 = gx1 + tv2\n let gx1 = &gx1 + &tv2;\n // 10. gx1 = gx1 * x1n\n let gx1 = &gx1 * &x1n;\n // 11. tv3 = gxd^2\n let tv3 = gxd.square();\n // 12. tv2 = tv3^2\n let tv2 = tv3.square();\n // 13. tv3 = tv3 * gxd\n let tv3 = &tv3 * &gxd;\n // 14. tv3 = tv3 * gx1\n let tv3 = &tv3 * &gx1;\n // 15. tv2 = tv2 * tv3\n let tv2 = &tv2 * &tv3;\n // 16. y11 = tv2^c4\n let y11 = tv2.pow_p58();\n // 17. y11 = y11 * tv3\n let y11 = &y11 * &tv3;\n // 18. y12 = y11 * c3\n let y12 = &y11 * &SQRT_M1;\n // 19. tv2 = y11^2\n let tv2 = y11.square();\n // 20. tv2 = tv2 * gxd\n let tv2 = &tv2 * &gxd;\n // 21. e1 = tv2 == gx1\n let e1 = tv2.ct_eq(&gx1);\n // 22. y1 = CMOV(y12, y11, e1)\n let y1 = FieldElement::conditional_select(&y12, &y11, e1);\n // 23. x2n = x1n * tv1\n let x2n = &x1n * &tv1;\n // 24. y21 = y11 * u\n let y21 = &y11 * u;\n // 25. y21 = y21 * c2\n let y21 = &y21 * &c2;\n // 26. y22 = y21 * c3\n let y22 = &y21 * &SQRT_M1;\n // 27. gx2 = gx1 * tv1\n let gx2 = &gx1 * &tv1;\n // 28. tv2 = y21^2\n let tv2 = y21.square();\n // 29. tv2 = tv2 * gxd\n let tv2 = &tv2 * &gxd;\n // 30. e2 = tv2 == gx2\n let e2 = tv2.ct_eq(&gx2);\n // 31. y2 = CMOV(y22, y21, e2)\n let y2 = FieldElement::conditional_select(&y22, &y21, e2);\n // 32. tv2 = y1^2\n let tv2 = y1.square();\n // 33. tv2 = tv2 * gxd\n let tv2 = &tv2 * &gxd;\n // 34. e3 = tv2 == gx1\n let e3 = tv2.ct_eq(&gx1);\n // 35. xn = CMOV(x2n, x1n, e3)\n let xn = FieldElement::conditional_select(&x2n, &x1n, e3);\n // 36. y = CMOV(y2, y1, e3)\n let y = FieldElement::conditional_select(&y2, &y1, e3);\n // 37. e4 = sgn0(y) == 1\n let e4 = y.is_negative();\n // 38. y = CMOV(y, -y, e3 XOR e4)\n let y = FieldElement::conditional_select(&y, &y.neg(), e3 ^ e4);\n // 39. return (xn, xd, y, 1)\n\n (xn, xd, y, one)\n}\n\n/// A `ProjectivePoint` holds a point on the projective line\n/// \\\\( \\mathbb P(\\mathbb F\\_p) \\\\), which we identify with the Kummer\n/// line of the Montgomery curve.\n#[derive(Copy, Clone, Debug)]\nstruct ProjectivePoint {\n pub U: FieldElement,\n pub W: FieldElement,\n}\n\nimpl Identity for ProjectivePoint {\n fn identity() -> ProjectivePoint {\n ProjectivePoint {\n U: FieldElement::ONE,\n W: FieldElement::ZERO,\n }\n }\n}\n\nimpl Default for ProjectivePoint {\n fn default() -> ProjectivePoint {\n ProjectivePoint::identity()\n }\n}\n\nimpl ConditionallySelectable for ProjectivePoint {\n fn conditional_select(\n a: &ProjectivePoint,\n b: &ProjectivePoint,\n choice: Choice,\n ) -> ProjectivePoint {\n ProjectivePoint {\n U: FieldElement::conditional_select(&a.U, &b.U, choice),\n W: FieldElement::conditional_select(&a.W, &b.W, choice),\n }\n }\n}\n\nimpl ProjectivePoint {\n /// Dehomogenize this point to affine coordinates.\n ///\n /// # Return\n ///\n /// * \\\\( u = U / W \\\\) if \\\\( W \\neq 0 \\\\);\n /// * \\\\( 0 \\\\) if \\\\( W \\eq 0 \\\\);\n pub fn as_affine(&self) -> MontgomeryPoint {\n let u = &self.U * &self.W.invert();\n MontgomeryPoint(u.to_bytes())\n }\n}\n\n/// Perform the double-and-add step of the Montgomery ladder.\n///\n/// Given projective points\n/// \\\\( (U\\_P : W\\_P) = u(P) \\\\),\n/// \\\\( (U\\_Q : W\\_Q) = u(Q) \\\\),\n/// and the affine difference\n/// \\\\( u\\_{P-Q} = u(P-Q) \\\\), set\n/// $$\n/// (U\\_P : W\\_P) \\gets u(\\[2\\]P)\n/// $$\n/// and\n/// $$\n/// (U\\_Q : W\\_Q) \\gets u(P + Q).\n/// $$\n#[rustfmt::skip] // keep alignment of explanatory comments\nfn differential_add_and_double(\n P: &mut ProjectivePoint,\n Q: &mut ProjectivePoint,\n affine_PmQ: &FieldElement,\n) {\n let t0 = &P.U + &P.W;\n let t1 = &P.U - &P.W;\n let t2 = &Q.U + &Q.W;\n let t3 = &Q.U - &Q.W;\n\n let t4 = t0.square(); // (U_P + W_P)^2 = U_P^2 + 2 U_P W_P + W_P^2\n let t5 = t1.square(); // (U_P - W_P)^2 = U_P^2 - 2 U_P W_P + W_P^2\n\n let t6 = &t4 - &t5; // 4 U_P W_P\n\n let t7 = &t0 * &t3; // (U_P + W_P) (U_Q - W_Q) = U_P U_Q + W_P U_Q - U_P W_Q - W_P W_Q\n let t8 = &t1 * &t2; // (U_P - W_P) (U_Q + W_Q) = U_P U_Q - W_P U_Q + U_P W_Q - W_P W_Q\n\n let t9 = &t7 + &t8; // 2 (U_P U_Q - W_P W_Q)\n let t10 = &t7 - &t8; // 2 (W_P U_Q - U_P W_Q)\n\n let t11 = t9.square(); // 4 (U_P U_Q - W_P W_Q)^2\n let t12 = t10.square(); // 4 (W_P U_Q - U_P W_Q)^2\n\n let t13 = &APLUS2_OVER_FOUR * &t6; // (A + 2) U_P U_Q\n\n let t14 = &t4 * &t5; // ((U_P + W_P)(U_P - W_P))^2 = (U_P^2 - W_P^2)^2\n let t15 = &t13 + &t5; // (U_P - W_P)^2 + (A + 2) U_P W_P\n\n let t16 = &t6 * &t15; // 4 (U_P W_P) ((U_P - W_P)^2 + (A + 2) U_P W_P)\n\n let t17 = affine_PmQ * &t12; // U_D * 4 (W_P U_Q - U_P W_Q)^2\n let t18 = t11; // W_D * 4 (U_P U_Q - W_P W_Q)^2\n\n P.U = t14; // U_{P'} = (U_P + W_P)^2 (U_P - W_P)^2\n P.W = t16; // W_{P'} = (4 U_P W_P) ((U_P - W_P)^2 + ((A + 2)/4) 4 U_P W_P)\n Q.U = t18; // U_{Q'} = W_D * 4 (U_P U_Q - W_P W_Q)^2\n Q.W = t17; // W_{Q'} = U_D * 4 (W_P U_Q - U_P W_Q)^2\n}\n\ndefine_mul_assign_variants!(LHS = MontgomeryPoint, RHS = Scalar);\n\ndefine_mul_variants!(\n LHS = MontgomeryPoint,\n RHS = Scalar,\n Output = MontgomeryPoint\n);\ndefine_mul_variants!(\n LHS = Scalar,\n RHS = MontgomeryPoint,\n Output = MontgomeryPoint\n);\n\n/// Multiply this `MontgomeryPoint` by a `Scalar`.\nimpl Mul<&Scalar> for &MontgomeryPoint {\n type Output = MontgomeryPoint;\n\n /// Given `self` \\\\( = u\\_0(P) \\\\), and a `Scalar` \\\\(n\\\\), return \\\\( u\\_0(\\[n\\]P) \\\\)\n fn mul(self, scalar: &Scalar) -> MontgomeryPoint {\n // We multiply by the integer representation of the given Scalar. By scalar invariant #1,\n // the MSB is 0, so we can skip it.\n self.mul_bits_be(scalar.bits_le().rev().skip(1))\n }\n}\n\nimpl MulAssign<&Scalar> for MontgomeryPoint {\n fn mul_assign(&mut self, scalar: &Scalar) {\n *self = (self as &MontgomeryPoint) * scalar;\n }\n}\n\nimpl Mul<&MontgomeryPoint> for &Scalar {\n type Output = MontgomeryPoint;\n\n fn mul(self, point: &MontgomeryPoint) -> MontgomeryPoint {\n point * self\n }\n}\n\n// ------------------------------------------------------------------------\n// Tests\n// ------------------------------------------------------------------------\n\n#[cfg(test)]\nmod test {\n use super::*;\n use crate::constants;\n\n #[cfg(feature = \"rand_core\")]\n use rand::CryptoRng;\n use rand::RngCore;\n\n #[test]\n fn identity_in_different_coordinates() {\n let id_projective = ProjectivePoint::identity();\n let id_montgomery = id_projective.as_affine();\n\n assert!(id_montgomery == MontgomeryPoint::identity());\n }\n\n #[test]\n fn identity_in_different_models() {\n assert!(EdwardsPoint::identity().to_montgomery() == MontgomeryPoint::identity());\n }\n\n #[test]\n #[cfg(feature = \"serde\")]\n fn serde_bincode_basepoint_roundtrip() {\n use bincode;\n\n let encoded = bincode::serialize(&constants::X25519_BASEPOINT).unwrap();\n let decoded: MontgomeryPoint = bincode::deserialize(&encoded).unwrap();\n\n assert_eq!(encoded.len(), 32);\n assert_eq!(decoded, constants::X25519_BASEPOINT);\n\n let raw_bytes = constants::X25519_BASEPOINT.as_bytes();\n let bp: MontgomeryPoint = bincode::deserialize(raw_bytes).unwrap();\n assert_eq!(bp, constants::X25519_BASEPOINT);\n }\n\n /// Test Montgomery -> Edwards on the X/Ed25519 basepoint\n #[test]\n fn basepoint_montgomery_to_edwards() {\n // sign bit = 0 => basepoint\n assert_eq!(\n constants::ED25519_BASEPOINT_POINT,\n constants::X25519_BASEPOINT\n .to_edwards(0)\n .expect(\"sign bit 0 should decompress\")\n );\n // sign bit = 1 => minus basepoint\n assert_eq!(\n -constants::ED25519_BASEPOINT_POINT,\n constants::X25519_BASEPOINT\n .to_edwards(1)\n .expect(\"sign bit 1 should decompress\")\n );\n }\n\n /// Test Edwards -> Montgomery on the X/Ed25519 basepoint\n #[test]\n fn basepoint_edwards_to_montgomery() {\n assert_eq!(\n constants::ED25519_BASEPOINT_POINT.to_montgomery(),\n constants::X25519_BASEPOINT\n );\n }\n\n /// Check that Montgomery -> Edwards fails for points on the twist.\n #[test]\n fn montgomery_to_edwards_rejects_twist() {\n let one = FieldElement::ONE;\n\n // u = 2 corresponds to a point on the twist.\n let two = MontgomeryPoint((&one + &one).to_bytes());\n\n assert!(two.to_edwards(0).is_none());\n\n // u = -1 corresponds to a point on the twist, but should be\n // checked explicitly because it's an exceptional point for the\n // birational map. For instance, libsignal will accept it.\n let minus_one = MontgomeryPoint((-&one).to_bytes());\n\n assert!(minus_one.to_edwards(0).is_none());\n }\n\n #[test]\n fn eq_defined_mod_p() {\n let mut u18_bytes = [0u8; 32];\n u18_bytes[0] = 18;\n let u18 = MontgomeryPoint(u18_bytes);\n let u18_unred = MontgomeryPoint([255; 32]);\n\n assert_eq!(u18, u18_unred);\n }\n\n /// Returns a random point on the prime-order subgroup\n #[cfg(feature = \"rand_core\")]\n fn rand_prime_order_point(rng: &mut R) -> EdwardsPoint {\n let s: Scalar = Scalar::random(rng);\n EdwardsPoint::mul_base(&s)\n }\n\n /// Given a bytestring that's little-endian at the byte level, return an iterator over all the\n /// bits, in little-endian order.\n fn bytestring_bits_le(x: &[u8]) -> impl DoubleEndedIterator + Clone + '_ {\n let bitlen = x.len() * 8;\n (0..bitlen).map(|i| {\n // As i runs from 0..256, the bottom 3 bits index the bit, while the upper bits index\n // the byte. Since self.bytes is little-endian at the byte level, this iterator is\n // little-endian on the bit level\n ((x[i >> 3] >> (i & 7)) & 1u8) == 1\n })\n }\n\n #[cfg(feature = \"rand_core\")]\n #[test]\n fn montgomery_ladder_matches_edwards_scalarmult() {\n let mut csprng = rand::thread_rng();\n\n for _ in 0..100 {\n let p_edwards = rand_prime_order_point(&mut csprng);\n let p_montgomery: MontgomeryPoint = p_edwards.to_montgomery();\n\n let s: Scalar = Scalar::random(&mut csprng);\n let expected = s * p_edwards;\n let result = s * p_montgomery;\n\n assert_eq!(result, expected.to_montgomery())\n }\n }\n\n // Tests that, on the prime-order subgroup, MontgomeryPoint::mul_bits_be is the same as\n // multiplying by the Scalar representation of the same bits\n #[cfg(feature = \"rand_core\")]\n #[test]\n fn montgomery_mul_bits_be() {\n let mut csprng = rand::thread_rng();\n\n for _ in 0..100 {\n // Make a random prime-order point P\n let p_edwards = rand_prime_order_point(&mut csprng);\n let p_montgomery: MontgomeryPoint = p_edwards.to_montgomery();\n\n // Make a random integer b\n let mut bigint = [0u8; 64];\n csprng.fill_bytes(&mut bigint[..]);\n let bigint_bits_be = bytestring_bits_le(&bigint).rev();\n\n // Check that bP is the same whether calculated as scalar-times-edwards or\n // integer-times-montgomery.\n let expected = Scalar::from_bytes_mod_order_wide(&bigint) * p_edwards;\n let result = p_montgomery.mul_bits_be(bigint_bits_be);\n assert_eq!(result, expected.to_montgomery())\n }\n }\n\n // Tests that MontgomeryPoint::mul_bits_be is consistent on any point, even ones that might be\n // on the curve's twist. Specifically, this tests that b₁(b₂P) == b₂(b₁P) for random\n // integers b₁, b₂ and random (curve or twist) point P.\n #[test]\n fn montgomery_mul_bits_be_twist() {\n let mut csprng = rand::rngs::OsRng;\n\n for _ in 0..100 {\n // Make a random point P on the curve or its twist\n let p_montgomery = {\n let mut buf = [0u8; 32];\n csprng.fill_bytes(&mut buf);\n MontgomeryPoint(buf)\n };\n\n // Compute two big integers b₁ and b₂\n let mut bigint1 = [0u8; 64];\n let mut bigint2 = [0u8; 64];\n csprng.fill_bytes(&mut bigint1[..]);\n csprng.fill_bytes(&mut bigint2[..]);\n\n // Compute b₁P and b₂P\n let bigint1_bits_be = bytestring_bits_le(&bigint1).rev();\n let bigint2_bits_be = bytestring_bits_le(&bigint2).rev();\n let prod1 = p_montgomery.mul_bits_be(bigint1_bits_be.clone());\n let prod2 = p_montgomery.mul_bits_be(bigint2_bits_be.clone());\n\n // Check that b₁(b₂P) == b₂(b₁P)\n assert_eq!(\n prod1.mul_bits_be(bigint2_bits_be),\n prod2.mul_bits_be(bigint1_bits_be)\n );\n }\n }\n\n /// Check that mul_base_clamped and mul_clamped agree\n #[test]\n fn mul_base_clamped() {\n let mut csprng = rand::rngs::OsRng;\n\n // Test agreement on a large integer. Even after clamping, this is not reduced mod l.\n let a_bytes = [0xff; 32];\n assert_eq!(\n MontgomeryPoint::mul_base_clamped(a_bytes),\n constants::X25519_BASEPOINT.mul_clamped(a_bytes)\n );\n\n // Test agreement on random integers\n for _ in 0..100 {\n // This will be reduced mod l with probability l / 2^256 ≈ 6.25%\n let mut a_bytes = [0u8; 32];\n csprng.fill_bytes(&mut a_bytes);\n\n assert_eq!(\n MontgomeryPoint::mul_base_clamped(a_bytes),\n constants::X25519_BASEPOINT.mul_clamped(a_bytes)\n );\n }\n }\n\n #[cfg(feature = \"alloc\")]\n #[cfg(feature = \"digest\")]\n const ELLIGATOR_CORRECT_OUTPUT: [u8; 32] = [\n 0x5f, 0x35, 0x20, 0x00, 0x1c, 0x6c, 0x99, 0x36, 0xa3, 0x12, 0x06, 0xaf, 0xe7, 0xc7, 0xac,\n 0x22, 0x4e, 0x88, 0x61, 0x61, 0x9b, 0xf9, 0x88, 0x72, 0x44, 0x49, 0x15, 0x89, 0x9d, 0x95,\n 0xf4, 0x6e,\n ];\n\n #[test]\n #[cfg(feature = \"alloc\")]\n #[cfg(feature = \"digest\")]\n fn montgomery_elligator_correct() {\n use alloc::vec::Vec;\n let bytes: Vec = (0u8..32u8).collect();\n let bits_in: [u8; 32] = (&bytes[..]).try_into().expect(\"Range invariant broken\");\n\n let fe = FieldElement::from_bytes(&bits_in);\n let (un, ud, ..) = elligator_encode(&fe);\n let u = &un * &ud.invert();\n assert_eq!(u.to_bytes(), ELLIGATOR_CORRECT_OUTPUT);\n }\n\n #[test]\n #[cfg(feature = \"digest\")]\n fn montgomery_elligator_zero_zero() {\n let zero = [0u8; 32];\n let fe = FieldElement::from_bytes(&zero);\n let (un, ud, ..) = elligator_encode(&fe);\n let u = &un * &ud.invert();\n assert_eq!(u.to_bytes(), zero);\n }\n\n // Check that FE_C2 is correctly defined\n #[test]\n #[cfg(feature = \"digest\")]\n fn c2() {\n let one = FieldElement::ONE;\n let two = &one + &one;\n // c2 = 2^((p+3)/8) = 2^((p-5)/8 + 8/8) = 2*2^((p-5)/8)\n let c2 = &two * &(two.pow_p58());\n\n assert_eq!(c2, FE_C2);\n }\n}\n"},{"id":42,"name":{"Local":"/rustc/library/core/src/array/iter.rs"},"crate_name":"core","contents":null},{"id":43,"name":{"Local":"/rustc/library/core/src/num/nonzero.rs"},"crate_name":"core","contents":null},{"id":44,"name":{"Local":"/rustc/library/core/src/num/mod.rs"},"crate_name":"core","contents":null},{"id":45,"name":{"Local":"/rustc/library/core/src/iter/adapters/step_by.rs"},"crate_name":"core","contents":null},{"id":46,"name":{"Local":"/rustc/library/core/src/iter/adapters/mod.rs"},"crate_name":"core","contents":null},{"id":47,"name":{"Local":"/rustc/library/core/src/iter/adapters/chain.rs"},"crate_name":"core","contents":null},{"id":48,"name":{"Local":"/rustc/library/core/src/iter/adapters/zip.rs"},"crate_name":"core","contents":null},{"id":49,"name":{"Local":"/rustc/library/core/src/iter/adapters/intersperse.rs"},"crate_name":"core","contents":null},{"id":50,"name":{"Local":"/rustc/library/core/src/ops/function.rs"},"crate_name":"core","contents":null},{"id":51,"name":{"Local":"/rustc/library/core/src/iter/adapters/map.rs"},"crate_name":"core","contents":null},{"id":52,"name":{"Local":"/rustc/library/core/src/iter/adapters/filter.rs"},"crate_name":"core","contents":null},{"id":53,"name":{"Local":"/rustc/library/core/src/iter/adapters/filter_map.rs"},"crate_name":"core","contents":null},{"id":54,"name":{"Local":"/rustc/library/core/src/iter/adapters/enumerate.rs"},"crate_name":"core","contents":null},{"id":55,"name":{"Local":"/rustc/library/core/src/iter/adapters/peekable.rs"},"crate_name":"core","contents":null},{"id":56,"name":{"Local":"/rustc/library/core/src/iter/adapters/skip_while.rs"},"crate_name":"core","contents":null},{"id":57,"name":{"Local":"/rustc/library/core/src/iter/adapters/take_while.rs"},"crate_name":"core","contents":null},{"id":58,"name":{"Local":"/rustc/library/core/src/iter/adapters/map_while.rs"},"crate_name":"core","contents":null},{"id":59,"name":{"Local":"/rustc/library/core/src/iter/adapters/skip.rs"},"crate_name":"core","contents":null},{"id":60,"name":{"Local":"/rustc/library/core/src/iter/adapters/take.rs"},"crate_name":"core","contents":null},{"id":61,"name":{"Local":"/rustc/library/core/src/iter/adapters/scan.rs"},"crate_name":"core","contents":null},{"id":62,"name":{"Local":"/rustc/library/core/src/iter/adapters/flatten.rs"},"crate_name":"core","contents":null},{"id":63,"name":{"Local":"/rustc/library/core/src/iter/adapters/map_windows.rs"},"crate_name":"core","contents":null},{"id":64,"name":{"Local":"/rustc/library/core/src/iter/adapters/fuse.rs"},"crate_name":"core","contents":null},{"id":65,"name":{"Local":"/rustc/library/core/src/iter/adapters/inspect.rs"},"crate_name":"core","contents":null},{"id":66,"name":{"Local":"/rustc/library/core/src/ops/try_trait.rs"},"crate_name":"core","contents":null},{"id":67,"name":{"Local":"/rustc/library/core/src/iter/traits/double_ended.rs"},"crate_name":"core","contents":null},{"id":68,"name":{"Local":"/rustc/library/core/src/iter/traits/exact_size.rs"},"crate_name":"core","contents":null},{"id":69,"name":{"Local":"/rustc/library/core/src/iter/adapters/rev.rs"},"crate_name":"core","contents":null},{"id":70,"name":{"Local":"/rustc/library/core/src/iter/adapters/copied.rs"},"crate_name":"core","contents":null},{"id":71,"name":{"Local":"/rustc/library/core/src/iter/adapters/cloned.rs"},"crate_name":"core","contents":null},{"id":72,"name":{"Local":"/rustc/library/core/src/iter/adapters/cycle.rs"},"crate_name":"core","contents":null},{"id":73,"name":{"Local":"/rustc/library/core/src/iter/adapters/array_chunks.rs"},"crate_name":"core","contents":null},{"id":74,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/u64/constants.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! This module contains backend-specific constant values, such as the 64-bit limbs of curve constants.\n\nuse super::field::FieldElement51;\nuse super::scalar::Scalar52;\nuse crate::edwards::EdwardsPoint;\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::{\n backend::serial::curve_models::{AffineNielsPoint, ProjectiveNielsPoint},\n edwards::EdwardsBasepointTable,\n window::{LookupTable, NafLookupTable5, NafLookupTable8},\n};\n\n/// The value of minus one, equal to `-&FieldElement::ONE`\npub(crate) const MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n]);\n\n/// sqrt(-486664)\n#[cfg(feature = \"digest\")]\npub(crate) const ED25519_SQRTAM2: FieldElement51 = FieldElement51::from_limbs([\n 1693982333959686,\n 608509411481997,\n 2235573344831311,\n 947681270984193,\n 266558006233600,\n]);\n\n/// Edwards `d` value, equal to `-121665/121666 mod p`.\npub(crate) const EDWARDS_D: FieldElement51 = FieldElement51::from_limbs([\n 929955233495203,\n 466365720129213,\n 1662059464998953,\n 2033849074728123,\n 1442794654840575,\n]);\n\n/// Edwards `2*d` value, equal to `2*(-121665/121666) mod p`.\npub(crate) const EDWARDS_D2: FieldElement51 = FieldElement51::from_limbs([\n 1859910466990425,\n 932731440258426,\n 1072319116312658,\n 1815898335770999,\n 633789495995903,\n]);\n\n/// One minus edwards `d` value squared, equal to `(1 - (-121665/121666) mod p) pow 2`\npub(crate) const ONE_MINUS_EDWARDS_D_SQUARED: FieldElement51 = FieldElement51::from_limbs([\n 1136626929484150,\n 1998550399581263,\n 496427632559748,\n 118527312129759,\n 45110755273534,\n]);\n\n/// Edwards `d` value minus one squared, equal to `(((-121665/121666) mod p) - 1) pow 2`\npub(crate) const EDWARDS_D_MINUS_ONE_SQUARED: FieldElement51 = FieldElement51::from_limbs([\n 1507062230895904,\n 1572317787530805,\n 683053064812840,\n 317374165784489,\n 1572899562415810,\n]);\n\n/// `= sqrt(a*d - 1)`, where `a = -1 (mod p)`, `d` are the Edwards curve parameters.\npub(crate) const SQRT_AD_MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2241493124984347,\n 425987919032274,\n 2207028919301688,\n 1220490630685848,\n 974799131293748,\n]);\n\n/// `= 1/sqrt(a-d)`, where `a = -1 (mod p)`, `d` are the Edwards curve parameters.\npub(crate) const INVSQRT_A_MINUS_D: FieldElement51 = FieldElement51::from_limbs([\n 278908739862762,\n 821645201101625,\n 8113234426968,\n 1777959178193151,\n 2118520810568447,\n]);\n\n/// Precomputed value of one of the square roots of -1 (mod p)\npub(crate) const SQRT_M1: FieldElement51 = FieldElement51::from_limbs([\n 1718705420411056,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n]);\n\n/// `APLUS2_OVER_FOUR` is (A+2)/4. (This is used internally within the Montgomery ladder.)\npub(crate) const APLUS2_OVER_FOUR: FieldElement51 =\n FieldElement51::from_limbs([121666, 0, 0, 0, 0]);\n\n#[cfg(feature = \"digest\")]\n/// `MONTGOMERY_A` is equal to 486662, which is a constant of the curve equation\n/// for Curve25519 in its Montgomery form. (This is used internally within the\n/// Elligator map.)\npub(crate) const MONTGOMERY_A: FieldElement51 = FieldElement51::from_limbs([486662, 0, 0, 0, 0]);\n\n#[cfg(feature = \"digest\")]\n/// `MONTGOMERY_A_NEG` is equal to -486662. (This is used internally within the\n/// Elligator map.)\npub(crate) const MONTGOMERY_A_NEG: FieldElement51 = FieldElement51::from_limbs([\n 2251799813198567,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n]);\n\n/// `L` is the order of base point, i.e. 2^252 + 27742317777372353535851937790883648493\npub(crate) const L: Scalar52 = Scalar52([\n 0x0002631a5cf5d3ed,\n 0x000dea2f79cd6581,\n 0x000000000014def9,\n 0x0000000000000000,\n 0x0000100000000000,\n]);\n\n/// `L` * `LFACTOR` = -1 (mod 2^52)\npub(crate) const LFACTOR: u64 = 0x51da312547e1b;\n\n/// `R` = R % L where R = 2^260\npub(crate) const R: Scalar52 = Scalar52([\n 0x000f48bd6721e6ed,\n 0x0003bab5ac67e45a,\n 0x000fffffeb35e51b,\n 0x000fffffffffffff,\n 0x00000fffffffffff,\n]);\n\n/// `RR` = (R^2) % L where R = 2^260\npub(crate) const RR: Scalar52 = Scalar52([\n 0x0009d265e952d13b,\n 0x000d63c715bea69f,\n 0x0005be65cb687604,\n 0x0003dceec73d217f,\n 0x000009411b7c309a,\n]);\n\n/// The Ed25519 basepoint, as an `EdwardsPoint`.\n///\n/// This is called `_POINT` to distinguish it from\n/// `ED25519_BASEPOINT_TABLE`, which should be used for scalar\n/// multiplication (it's much faster).\npub const ED25519_BASEPOINT_POINT: EdwardsPoint = EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1738742601995546,\n 1146398526822698,\n 2070867633025821,\n 562264141797630,\n 587772402128613,\n ]),\n Y: FieldElement51::from_limbs([\n 1801439850948184,\n 1351079888211148,\n 450359962737049,\n 900719925474099,\n 1801439850948198,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1841354044333475,\n 16398895984059,\n 755974180946558,\n 900171276175154,\n 1821297809914039,\n ]),\n};\n\n/// The Ed25519 basepoint, mul by 2^128, as an `EdwardsPoint`.\npub const ED25519_BASEPOINT_128_POINT: EdwardsPoint = EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1573694877509226,\n 2118644427590872,\n 940662180141619,\n 707110682864191,\n 1255997186674731,\n ]),\n Y: FieldElement51::from_limbs([\n 1162474291335259,\n 820106152083656,\n 523232807607258,\n 2134608004007539,\n 729879497843472,\n ]),\n Z: FieldElement51::from_limbs([\n 445134475408207,\n 1820906444767788,\n 40212681131971,\n 1448661247201044,\n 965705781338211,\n ]),\n T: FieldElement51::from_limbs([\n 1855274855831337,\n 1818119365171423,\n 269991889323070,\n 1370944576683708,\n 140790155072480,\n ]),\n};\n\n/// The 8-torsion subgroup \\\\(\\mathcal E \\[8\\]\\\\).\n///\n/// In the case of Curve25519, it is cyclic; the \\\\(i\\\\)-th element of\n/// the array is \\\\(\\[i\\]P\\\\), where \\\\(P\\\\) is a point of order \\\\(8\\\\)\n/// generating \\\\(\\mathcal E\\[8\\]\\\\).\n///\n/// Thus \\\\(\\mathcal E\\[4\\]\\\\) is the points indexed by `0,2,4,6`, and\n/// \\\\(\\mathcal E\\[2\\]\\\\) is the points indexed by `0,4`.\npub const EIGHT_TORSION: [EdwardsPoint; 8] = EIGHT_TORSION_INNER_DOC_HIDDEN;\n\n/// Inner item used to hide limb constants from cargo doc output.\n#[doc(hidden)]\npub const EIGHT_TORSION_INNER_DOC_HIDDEN: [EdwardsPoint; 8] = [\n EdwardsPoint {\n X: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n Y: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 358744748052810,\n 1691584618240980,\n 977650209285361,\n 1429865912637724,\n 560044844278676,\n ]),\n Y: FieldElement51::from_limbs([\n 84926274344903,\n 473620666599931,\n 365590438845504,\n 1028470286882429,\n 2146499180330972,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1448326834587521,\n 1857896831960481,\n 1093722731865333,\n 1677408490711241,\n 1915505153018406,\n ]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 533094393274173,\n 2016890930128738,\n 18285341111199,\n 134597186663265,\n 1486323764102114,\n ]),\n Y: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 358744748052810,\n 1691584618240980,\n 977650209285361,\n 1429865912637724,\n 560044844278676,\n ]),\n Y: FieldElement51::from_limbs([\n 2166873539340326,\n 1778179147085316,\n 1886209374839743,\n 1223329526802818,\n 105300633354275,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 803472979097708,\n 393902981724766,\n 1158077081819914,\n 574391322974006,\n 336294660666841,\n ]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n Y: FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1893055065632419,\n 560215195444267,\n 1274149604399886,\n 821933901047523,\n 1691754969406571,\n ]),\n Y: FieldElement51::from_limbs([\n 2166873539340326,\n 1778179147085316,\n 1886209374839743,\n 1223329526802818,\n 105300633354275,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1448326834587521,\n 1857896831960481,\n 1093722731865333,\n 1677408490711241,\n 1915505153018406,\n ]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1718705420411056,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n ]),\n Y: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([0, 0, 0, 0, 0]),\n },\n EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1893055065632419,\n 560215195444267,\n 1274149604399886,\n 821933901047523,\n 1691754969406571,\n ]),\n Y: FieldElement51::from_limbs([\n 84926274344903,\n 473620666599931,\n 365590438845504,\n 1028470286882429,\n 2146499180330972,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 803472979097708,\n 393902981724766,\n 1158077081819914,\n 574391322974006,\n 336294660666841,\n ]),\n },\n];\n\n/// Table containing precomputed multiples of the Ed25519 basepoint \\\\(B = (x, 4/5)\\\\).\n#[cfg(feature = \"precomputed-tables\")]\npub static ED25519_BASEPOINT_TABLE: &EdwardsBasepointTable =\n &ED25519_BASEPOINT_TABLE_INNER_DOC_HIDDEN;\n\n/// Inner constant, used to avoid filling the docs with precomputed points.\n#[doc(hidden)]\n#[cfg(feature = \"precomputed-tables\")]\nstatic ED25519_BASEPOINT_TABLE_INNER_DOC_HIDDEN: EdwardsBasepointTable = EdwardsBasepointTable([\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3540182452943730,\n 2497478415033846,\n 2521227595762870,\n 1462984067271729,\n 2389212253076811,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 62697248952638,\n 204681361388450,\n 631292143396476,\n 338455783676468,\n 1213667448819585,\n ]),\n xy2d: FieldElement51::from_limbs([\n 301289933810280,\n 1259582250014073,\n 1422107436869536,\n 796239922652654,\n 1953934009299142,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3632771708514775,\n 790832306631235,\n 2067202295274102,\n 1995808275510000,\n 1566530869037010,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 463307831301544,\n 432984605774163,\n 1610641361907204,\n 750899048855000,\n 1894842303421586,\n ]),\n xy2d: FieldElement51::from_limbs([\n 748439484463711,\n 1033211726465151,\n 1396005112841647,\n 1611506220286469,\n 1972177495910992,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1601611775252272,\n 1720807796594148,\n 1132070835939856,\n 3512254832574799,\n 2147779492816910,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 316559037616741,\n 2177824224946892,\n 1459442586438991,\n 1461528397712656,\n 751590696113597,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1850748884277385,\n 1200145853858453,\n 1068094770532492,\n 672251375690438,\n 1586055907191707,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 934282339813791,\n 1846903124198670,\n 1172395437954843,\n 1007037127761661,\n 1830588347719256,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1694390458783935,\n 1735906047636159,\n 705069562067493,\n 648033061693059,\n 696214010414170,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1121406372216585,\n 192876649532226,\n 190294192191717,\n 1994165897297032,\n 2245000007398739,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 769950342298400,\n 2384754244604994,\n 3095885746880802,\n 3225892188161580,\n 2977876099231263,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 425251763115706,\n 608463272472562,\n 442562545713235,\n 837766094556764,\n 374555092627893,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1086255230780037,\n 274979815921559,\n 1960002765731872,\n 929474102396301,\n 1190409889297339,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1388594989461809,\n 316767091099457,\n 2646098655878230,\n 1230079486801004,\n 1440737038838979,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 7380825640100,\n 146210432690483,\n 304903576448906,\n 1198869323871120,\n 997689833219095,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1181317918772081,\n 114573476638901,\n 262805072233344,\n 265712217171332,\n 294181933805782,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2916800678241215,\n 2065379846933858,\n 2622030924071124,\n 2602788184473875,\n 1233371373142984,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2019367628972465,\n 676711900706637,\n 110710997811333,\n 1108646842542025,\n 517791959672113,\n ]),\n xy2d: FieldElement51::from_limbs([\n 965130719900578,\n 247011430587952,\n 526356006571389,\n 91986625355052,\n 2157223321444601,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4320419353804412,\n 4218074731744053,\n 957728544705548,\n 729906502578991,\n 2411634706750414,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2073601412052185,\n 31021124762708,\n 264500969797082,\n 248034690651703,\n 1030252227928288,\n ]),\n xy2d: FieldElement51::from_limbs([\n 551790716293402,\n 1989538725166328,\n 801169423371717,\n 2052451893578887,\n 678432056995012,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1368953770187805,\n 3042147450398169,\n 2689308289352409,\n 2142576377050579,\n 1932081720066286,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 953638594433374,\n 1092333936795051,\n 1419774766716690,\n 805677984380077,\n 859228993502513,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1200766035879111,\n 20142053207432,\n 1465634435977050,\n 1645256912097844,\n 295121984874596,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1735718747031538,\n 1248237894295956,\n 1204753118328107,\n 976066523550493,\n 2317743583219840,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1060098822528990,\n 1586825862073490,\n 212301317240126,\n 1975302711403555,\n 666724059764335,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1091990273418756,\n 1572899409348578,\n 80968014455247,\n 306009358661350,\n 1520450739132526,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3732317023121341,\n 1511153322193951,\n 3496143672676420,\n 2556587964178488,\n 2620936670181690,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2151330273626164,\n 762045184746182,\n 1688074332551515,\n 823046109005759,\n 907602769079491,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2047386910586836,\n 168470092900250,\n 1552838872594810,\n 340951180073789,\n 360819374702533,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1982622644432037,\n 2014393600336956,\n 2380709022489462,\n 3869592437614438,\n 2357094095599062,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 980234343912898,\n 1712256739246056,\n 588935272190264,\n 204298813091998,\n 841798321043288,\n ]),\n xy2d: FieldElement51::from_limbs([\n 197561292938973,\n 454817274782871,\n 1963754960082318,\n 2113372252160468,\n 971377527342673,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2416499262514576,\n 2254927265442919,\n 3451304785234000,\n 1766155447043651,\n 1899238924683527,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 732262946680281,\n 1674412764227063,\n 2182456405662809,\n 1350894754474250,\n 558458873295247,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2103305098582922,\n 1960809151316468,\n 715134605001343,\n 1454892949167181,\n 40827143824949,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1239289043050193,\n 1744654158124578,\n 758702410031698,\n 4048562808759936,\n 2253402870349013,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2232056027107988,\n 987343914584615,\n 2115594492994461,\n 1819598072792159,\n 1119305654014850,\n ]),\n xy2d: FieldElement51::from_limbs([\n 320153677847348,\n 939613871605645,\n 641883205761567,\n 1930009789398224,\n 329165806634126,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3232730304159378,\n 1242488692177892,\n 1251446316964684,\n 1086618677993530,\n 1961430968465772,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 276821765317453,\n 1536835591188030,\n 1305212741412361,\n 61473904210175,\n 2051377036983058,\n ]),\n xy2d: FieldElement51::from_limbs([\n 833449923882501,\n 1750270368490475,\n 1123347002068295,\n 185477424765687,\n 278090826653186,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 794524995833413,\n 1849907304548286,\n 2305148486158393,\n 1272368559505216,\n 1147304168324779,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1504846112759364,\n 1203096289004681,\n 562139421471418,\n 274333017451844,\n 1284344053775441,\n ]),\n xy2d: FieldElement51::from_limbs([\n 483048732424432,\n 2116063063343382,\n 30120189902313,\n 292451576741007,\n 1156379271702225,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3180171966714267,\n 2147692869914563,\n 1455665844462196,\n 1986737809425946,\n 2437006863943337,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 137732961814206,\n 706670923917341,\n 1387038086865771,\n 1965643813686352,\n 1384777115696347,\n ]),\n xy2d: FieldElement51::from_limbs([\n 481144981981577,\n 2053319313589856,\n 2065402289827512,\n 617954271490316,\n 1106602634668125,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2948097833334040,\n 3145099472726142,\n 1148636718636008,\n 2278533891034865,\n 2203955659340680,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 657390353372855,\n 998499966885562,\n 991893336905797,\n 810470207106761,\n 343139804608786,\n ]),\n xy2d: FieldElement51::from_limbs([\n 791736669492960,\n 934767652997115,\n 824656780392914,\n 1759463253018643,\n 361530362383518,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2022541353055578,\n 4346500076272714,\n 3802807888710933,\n 2494585331103411,\n 2947785218648809,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1287487199965223,\n 2215311941380308,\n 1552928390931986,\n 1664859529680196,\n 1125004975265243,\n ]),\n xy2d: FieldElement51::from_limbs([\n 677434665154918,\n 989582503122485,\n 1817429540898386,\n 1052904935475344,\n 1143826298169798,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2619066141993637,\n 2570231002607651,\n 2947429167440602,\n 2885885471266079,\n 2276381426249673,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 773360688841258,\n 1815381330538070,\n 363773437667376,\n 539629987070205,\n 783280434248437,\n ]),\n xy2d: FieldElement51::from_limbs([\n 180820816194166,\n 168937968377394,\n 748416242794470,\n 1227281252254508,\n 1567587861004268,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2730575372268893,\n 2062896624554806,\n 2951191072970647,\n 2609899222113120,\n 1277310261461760,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1984740906540026,\n 1079164179400229,\n 1056021349262661,\n 1659958556483663,\n 1088529069025527,\n ]),\n xy2d: FieldElement51::from_limbs([\n 580736401511151,\n 1842931091388998,\n 1177201471228238,\n 2075460256527244,\n 1301133425678027,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1515728832059163,\n 1575261009617579,\n 1510246567196186,\n 2442877836294952,\n 2368461529974388,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1295295738269652,\n 1714742313707026,\n 545583042462581,\n 2034411676262552,\n 1513248090013606,\n ]),\n xy2d: FieldElement51::from_limbs([\n 230710545179830,\n 30821514358353,\n 760704303452229,\n 390668103790604,\n 573437871383156,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3421179921230875,\n 2514967047430861,\n 4274701112739695,\n 3071700566936367,\n 4275698278559832,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2102254323485823,\n 1570832666216754,\n 34696906544624,\n 1993213739807337,\n 70638552271463,\n ]),\n xy2d: FieldElement51::from_limbs([\n 894132856735058,\n 548675863558441,\n 845349339503395,\n 1942269668326667,\n 1615682209874691,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3539470031223082,\n 1222355136884919,\n 1846481788678694,\n 1150426571265110,\n 1613523400722047,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 793388516527298,\n 1315457083650035,\n 1972286999342417,\n 1901825953052455,\n 338269477222410,\n ]),\n xy2d: FieldElement51::from_limbs([\n 550201530671806,\n 778605267108140,\n 2063911101902983,\n 115500557286349,\n 2041641272971022,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 717255318455100,\n 519313764361315,\n 2080406977303708,\n 541981206705521,\n 774328150311600,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 261715221532238,\n 1795354330069993,\n 1496878026850283,\n 499739720521052,\n 389031152673770,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1997217696294013,\n 1717306351628065,\n 1684313917746180,\n 1644426076011410,\n 1857378133465451,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3727234538477877,\n 2328731709971226,\n 3368528843456914,\n 2002544139318041,\n 2977347647489186,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2022306639183567,\n 726296063571875,\n 315345054448644,\n 1058733329149221,\n 1448201136060677,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1710065158525665,\n 1895094923036397,\n 123988286168546,\n 1145519900776355,\n 1607510767693874,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2813405189107769,\n 1071733543815036,\n 2383296312486238,\n 1946868434569998,\n 3079937947649451,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1548495173745801,\n 442310529226540,\n 998072547000384,\n 553054358385281,\n 644824326376171,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1445526537029440,\n 2225519789662536,\n 914628859347385,\n 1064754194555068,\n 1660295614401091,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3451490036797185,\n 2275827949507588,\n 2318438102929588,\n 2309425969971222,\n 2816893781664854,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 876926774220824,\n 554618976488214,\n 1012056309841565,\n 839961821554611,\n 1414499340307677,\n ]),\n xy2d: FieldElement51::from_limbs([\n 703047626104145,\n 1266841406201770,\n 165556500219173,\n 486991595001879,\n 1011325891650656,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1622861044480487,\n 1156394801573634,\n 4120932379100752,\n 2578903799462977,\n 2095342781472283,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 334886927423922,\n 489511099221528,\n 129160865966726,\n 1720809113143481,\n 619700195649254,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1646545795166119,\n 1758370782583567,\n 714746174550637,\n 1472693650165135,\n 898994790308209,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2585203586724508,\n 2547572356138185,\n 1693106465353609,\n 912330357530760,\n 2723035471635610,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1811196219982022,\n 1068969825533602,\n 289602974833439,\n 1988956043611592,\n 863562343398367,\n ]),\n xy2d: FieldElement51::from_limbs([\n 906282429780072,\n 2108672665779781,\n 432396390473936,\n 150625823801893,\n 1708930497638539,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 925664675702309,\n 2273216662253932,\n 4083236455546587,\n 601157008940112,\n 2623617868729744,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1479786007267725,\n 1738881859066675,\n 68646196476567,\n 2146507056100328,\n 1247662817535471,\n ]),\n xy2d: FieldElement51::from_limbs([\n 52035296774456,\n 939969390708103,\n 312023458773250,\n 59873523517659,\n 1231345905848899,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2895154920100990,\n 2541986621181021,\n 2013561737429022,\n 2571447883196794,\n 2645536492181409,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 129358342392716,\n 1932811617704777,\n 1176749390799681,\n 398040349861790,\n 1170779668090425,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2051980782668029,\n 121859921510665,\n 2048329875753063,\n 1235229850149665,\n 519062146124755,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3859970785658325,\n 2667608874045675,\n 1350468408164765,\n 2038620059057678,\n 3278704299674360,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1837656083115103,\n 1510134048812070,\n 906263674192061,\n 1821064197805734,\n 565375124676301,\n ]),\n xy2d: FieldElement51::from_limbs([\n 578027192365650,\n 2034800251375322,\n 2128954087207123,\n 478816193810521,\n 2196171989962750,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1633188840273120,\n 3104586986058956,\n 1548762607215795,\n 1266275218902681,\n 3359018017010381,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 462189358480054,\n 1784816734159228,\n 1611334301651368,\n 1303938263943540,\n 707589560319424,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1038829280972848,\n 38176604650029,\n 753193246598573,\n 1136076426528122,\n 595709990562434,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3660251634545082,\n 2194984964010832,\n 2198361797561729,\n 1061962440055713,\n 1645147963442934,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 4701053362120,\n 1647641066302348,\n 1047553002242085,\n 1923635013395977,\n 206970314902065,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1750479161778571,\n 1362553355169293,\n 1891721260220598,\n 966109370862782,\n 1024913988299801,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2464498862816952,\n 1117950018299774,\n 1873945661751056,\n 3655602735669306,\n 2382695896337945,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 636808533673210,\n 1262201711667560,\n 390951380330599,\n 1663420692697294,\n 561951321757406,\n ]),\n xy2d: FieldElement51::from_limbs([\n 520731594438141,\n 1446301499955692,\n 273753264629267,\n 1565101517999256,\n 1019411827004672,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3178327305714638,\n 3443653291096626,\n 734233225181170,\n 2435838701226518,\n 4042225960010590,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1464651961852572,\n 1483737295721717,\n 1519450561335517,\n 1161429831763785,\n 405914998179977,\n ]),\n xy2d: FieldElement51::from_limbs([\n 996126634382301,\n 796204125879525,\n 127517800546509,\n 344155944689303,\n 615279846169038,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2990523894660505,\n 2188666632415295,\n 1961313708559162,\n 1506545807547587,\n 3403101452654988,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 622917337413835,\n 1218989177089035,\n 1284857712846592,\n 970502061709359,\n 351025208117090,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2067814584765580,\n 1677855129927492,\n 2086109782475197,\n 235286517313238,\n 1416314046739645,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2838644076315587,\n 2559244195637442,\n 458399356043425,\n 2853867838192310,\n 3280348017100490,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 678489922928203,\n 2016657584724032,\n 90977383049628,\n 1026831907234582,\n 615271492942522,\n ]),\n xy2d: FieldElement51::from_limbs([\n 301225714012278,\n 1094837270268560,\n 1202288391010439,\n 644352775178361,\n 1647055902137983,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1210746697896459,\n 1416608304244708,\n 2938287290903104,\n 3496931005119382,\n 3303038150540984,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1135604073198207,\n 1683322080485474,\n 769147804376683,\n 2086688130589414,\n 900445683120379,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1971518477615628,\n 401909519527336,\n 448627091057375,\n 1409486868273821,\n 1214789035034363,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1364039144731711,\n 1897497433586190,\n 2203097701135459,\n 2397261210496499,\n 1349844460790698,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1045230323257973,\n 818206601145807,\n 630513189076103,\n 1672046528998132,\n 807204017562437,\n ]),\n xy2d: FieldElement51::from_limbs([\n 439961968385997,\n 386362664488986,\n 1382706320807688,\n 309894000125359,\n 2207801346498567,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3480804500082836,\n 3172443782216110,\n 2375775707596425,\n 2933223806901024,\n 1400559197080972,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2003766096898049,\n 170074059235165,\n 1141124258967971,\n 1485419893480973,\n 1573762821028725,\n ]),\n xy2d: FieldElement51::from_limbs([\n 729905708611432,\n 1270323270673202,\n 123353058984288,\n 426460209632942,\n 2195574535456672,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1271140255321216,\n 2044363183174497,\n 2303925201319937,\n 3696920060379952,\n 3194341800024331,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1761608437466135,\n 583360847526804,\n 1586706389685493,\n 2157056599579261,\n 1170692369685772,\n ]),\n xy2d: FieldElement51::from_limbs([\n 871476219910823,\n 1878769545097794,\n 2241832391238412,\n 548957640601001,\n 690047440233174,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2548994545820755,\n 1366347803776819,\n 3552985325930849,\n 561849853336293,\n 1533554921345731,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 999628998628371,\n 1132836708493400,\n 2084741674517453,\n 469343353015612,\n 678782988708035,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2189427607417022,\n 699801937082607,\n 412764402319267,\n 1478091893643349,\n 2244675696854460,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3964091869651792,\n 2456213404310121,\n 3657538451018088,\n 2660781114515010,\n 3112882032961968,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 508561155940631,\n 966928475686665,\n 2236717801150132,\n 424543858577297,\n 2089272956986143,\n ]),\n xy2d: FieldElement51::from_limbs([\n 221245220129925,\n 1156020201681217,\n 491145634799213,\n 542422431960839,\n 828100817819207,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2405556784925632,\n 1299874139923976,\n 2644898978945750,\n 1058234455773021,\n 996989038681183,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 559086812798481,\n 573177704212711,\n 1629737083816402,\n 1399819713462595,\n 1646954378266038,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1887963056288059,\n 228507035730124,\n 1468368348640282,\n 930557653420194,\n 613513962454686,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1224529808187534,\n 1577022856702685,\n 2206946542980843,\n 625883007765001,\n 2531730607197406,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1076287717051609,\n 1114455570543035,\n 187297059715481,\n 250446884292121,\n 1885187512550540,\n ]),\n xy2d: FieldElement51::from_limbs([\n 902497362940219,\n 76749815795675,\n 1657927525633846,\n 1420238379745202,\n 1340321636548352,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1129576631190765,\n 3533793823712575,\n 996844254743017,\n 2509676177174497,\n 3402650555740265,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 628740660038789,\n 1943038498527841,\n 467786347793886,\n 1093341428303375,\n 235413859513003,\n ]),\n xy2d: FieldElement51::from_limbs([\n 237425418909360,\n 469614029179605,\n 1512389769174935,\n 1241726368345357,\n 441602891065214,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3988217766743784,\n 726531315520507,\n 1833335034432527,\n 1629442561574747,\n 2876218732971333,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1960754663920689,\n 497040957888962,\n 1909832851283095,\n 1271432136996826,\n 2219780368020940,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1537037379417136,\n 1358865369268262,\n 2130838645654099,\n 828733687040705,\n 1999987652890901,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 629042105241795,\n 1098854999137608,\n 887281544569320,\n 3674901833560025,\n 2259711072636808,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1811562332665373,\n 1501882019007673,\n 2213763501088999,\n 359573079719636,\n 36370565049116,\n ]),\n xy2d: FieldElement51::from_limbs([\n 218907117361280,\n 1209298913016966,\n 1944312619096112,\n 1130690631451061,\n 1342327389191701,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1369976867854685,\n 1396479602419169,\n 4017456468084104,\n 2203659200586298,\n 3250127649802489,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2230701885562825,\n 1348173180338974,\n 2172856128624598,\n 1426538746123771,\n 444193481326151,\n ]),\n xy2d: FieldElement51::from_limbs([\n 784210426627951,\n 918204562375674,\n 1284546780452985,\n 1324534636134684,\n 1872449409642708,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2571438643225542,\n 2848082470493653,\n 2037902696412607,\n 1557219121643918,\n 341938082688094,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1901860206695915,\n 2004489122065736,\n 1625847061568236,\n 973529743399879,\n 2075287685312905,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1371853944110545,\n 1042332820512553,\n 1949855697918254,\n 1791195775521505,\n 37487364849293,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 687200189577836,\n 1082536651125675,\n 2896024754556794,\n 2592723009743198,\n 2595381160432643,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2082717129583892,\n 27829425539422,\n 145655066671970,\n 1690527209845512,\n 1865260509673478,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1059729620568824,\n 2163709103470266,\n 1440302280256872,\n 1769143160546397,\n 869830310425069,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3861316033464273,\n 777277757338816,\n 2101121130363987,\n 550762194946473,\n 1905542338659364,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2024821921041576,\n 426948675450149,\n 595133284085473,\n 471860860885970,\n 600321679413000,\n ]),\n xy2d: FieldElement51::from_limbs([\n 598474602406721,\n 1468128276358244,\n 1191923149557635,\n 1501376424093216,\n 1281662691293476,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1721138489890688,\n 1264336102277790,\n 2684864359106535,\n 1359988423149465,\n 3813671107094695,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 719520245587143,\n 393380711632345,\n 132350400863381,\n 1543271270810729,\n 1819543295798660,\n ]),\n xy2d: FieldElement51::from_limbs([\n 396397949784152,\n 1811354474471839,\n 1362679985304303,\n 2117033964846756,\n 498041172552279,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1812471844975748,\n 1856491995543149,\n 126579494584102,\n 3288044672967868,\n 1975108050082549,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 650623932407995,\n 1137551288410575,\n 2125223403615539,\n 1725658013221271,\n 2134892965117796,\n ]),\n xy2d: FieldElement51::from_limbs([\n 522584000310195,\n 1241762481390450,\n 1743702789495384,\n 2227404127826575,\n 1686746002148897,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 427904865186293,\n 1703211129693455,\n 1585368107547509,\n 3688784302429584,\n 3012988348299225,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 318101947455002,\n 248138407995851,\n 1481904195303927,\n 309278454311197,\n 1258516760217879,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1275068538599310,\n 513726919533379,\n 349926553492294,\n 688428871968420,\n 1702400196000666,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3313663849950481,\n 3213411074010628,\n 2573659446386085,\n 3297400443644764,\n 1985130202504037,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1558816436882417,\n 1962896332636523,\n 1337709822062152,\n 1501413830776938,\n 294436165831932,\n ]),\n xy2d: FieldElement51::from_limbs([\n 818359826554971,\n 1862173000996177,\n 626821592884859,\n 573655738872376,\n 1749691246745455,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1988022651432119,\n 3333911312271288,\n 1834020786104820,\n 3706626690108935,\n 692929915223121,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2146513703733331,\n 584788900394667,\n 464965657279958,\n 2183973639356127,\n 238371159456790,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1129007025494441,\n 2197883144413266,\n 265142755578169,\n 971864464758890,\n 1983715884903702,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1291366624493056,\n 2633256531874362,\n 1711482489312443,\n 1815233647702022,\n 3144079596677715,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 444548969917454,\n 1452286453853356,\n 2113731441506810,\n 645188273895859,\n 810317625309512,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2242724082797924,\n 1373354730327868,\n 1006520110883049,\n 2147330369940688,\n 1151816104883620,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3997520014069025,\n 4163522956860564,\n 2056329390702073,\n 2607026987995097,\n 3131032608056347,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 163723479936298,\n 115424889803150,\n 1156016391581227,\n 1894942220753364,\n 1970549419986329,\n ]),\n xy2d: FieldElement51::from_limbs([\n 681981452362484,\n 267208874112496,\n 1374683991933094,\n 638600984916117,\n 646178654558546,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2265178468539480,\n 2358037120714814,\n 1944412051589650,\n 4093776581610705,\n 2482502633520820,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 260683893467075,\n 854060306077237,\n 913639551980112,\n 4704576840123,\n 280254810808712,\n ]),\n xy2d: FieldElement51::from_limbs([\n 715374893080287,\n 1173334812210491,\n 1806524662079626,\n 1894596008000979,\n 398905715033393,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2751826223412909,\n 3848231101880618,\n 1420380351989369,\n 3237011375206737,\n 392444930785632,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2096421546958141,\n 1922523000950363,\n 789831022876840,\n 427295144688779,\n 320923973161730,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1927770723575450,\n 1485792977512719,\n 1850996108474547,\n 551696031508956,\n 2126047405475647,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2112099158080129,\n 2994370617594963,\n 2258284371762679,\n 1951119898618915,\n 2344890196388664,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 383905201636970,\n 859946997631870,\n 855623867637644,\n 1017125780577795,\n 794250831877809,\n ]),\n xy2d: FieldElement51::from_limbs([\n 77571826285752,\n 999304298101753,\n 487841111777762,\n 1038031143212339,\n 339066367948762,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2926794589205781,\n 2517835660016036,\n 826951213393477,\n 1405007746162285,\n 1781791018620876,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1001412661522686,\n 348196197067298,\n 1666614366723946,\n 888424995032760,\n 580747687801357,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1939560076207777,\n 1409892634407635,\n 552574736069277,\n 383854338280405,\n 190706709864139,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2177087163428741,\n 1439255351721944,\n 3459870654068041,\n 2230616362004768,\n 1396886392021913,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 676962063230039,\n 1880275537148808,\n 2046721011602706,\n 888463247083003,\n 1318301552024067,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1466980508178206,\n 617045217998949,\n 652303580573628,\n 757303753529064,\n 207583137376902,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3762856566592150,\n 2357202940576524,\n 2745234706458093,\n 1091943425335975,\n 1802717338077427,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1853982405405128,\n 1878664056251147,\n 1528011020803992,\n 1019626468153565,\n 1128438412189035,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1963939888391106,\n 293456433791664,\n 697897559513649,\n 985882796904380,\n 796244541237972,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2668570812315008,\n 2641455366112301,\n 1314476859406755,\n 1749382513022778,\n 3413705412424739,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1428358296490651,\n 1027115282420478,\n 304840698058337,\n 441410174026628,\n 1819358356278573,\n ]),\n xy2d: FieldElement51::from_limbs([\n 204943430200135,\n 1554861433819175,\n 216426658514651,\n 264149070665950,\n 2047097371738319,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1934415182909015,\n 1393285083565062,\n 2768209145458208,\n 3409490548679139,\n 2372839480279515,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 662035583584445,\n 286736105093098,\n 1131773000510616,\n 818494214211439,\n 472943792054479,\n ]),\n xy2d: FieldElement51::from_limbs([\n 665784778135882,\n 1893179629898606,\n 808313193813106,\n 276797254706413,\n 1563426179676396,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 945205108984213,\n 2778077376644543,\n 1324180513733565,\n 1666970227868664,\n 2405347422974421,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2031433403516252,\n 203996615228162,\n 170487168837083,\n 981513604791390,\n 843573964916831,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1476570093962618,\n 838514669399805,\n 1857930577281364,\n 2017007352225784,\n 317085545220047,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1461557121912823,\n 1600674043318359,\n 2157134900399597,\n 1670641601940616,\n 2379565397488531,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1293543509393474,\n 2143624609202546,\n 1058361566797508,\n 214097127393994,\n 946888515472729,\n ]),\n xy2d: FieldElement51::from_limbs([\n 357067959932916,\n 1290876214345711,\n 521245575443703,\n 1494975468601005,\n 800942377643885,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2817916472785262,\n 820247422481739,\n 994464017954148,\n 2578957425371613,\n 2344391131796991,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 617256647603209,\n 1652107761099439,\n 1857213046645471,\n 1085597175214970,\n 817432759830522,\n ]),\n xy2d: FieldElement51::from_limbs([\n 771808161440705,\n 1323510426395069,\n 680497615846440,\n 851580615547985,\n 1320806384849017,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1219260086131896,\n 2898968820282063,\n 2331400938444953,\n 2161724213426747,\n 2656661710745446,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1327968293887866,\n 1335500852943256,\n 1401587164534264,\n 558137311952440,\n 1551360549268902,\n ]),\n xy2d: FieldElement51::from_limbs([\n 417621685193956,\n 1429953819744454,\n 396157358457099,\n 1940470778873255,\n 214000046234152,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1268047918491954,\n 2172375426948536,\n 1533916099229249,\n 1761293575457130,\n 3842422480712013,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1627072914981959,\n 2211603081280073,\n 1912369601616504,\n 1191770436221309,\n 2187309757525860,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1149147819689533,\n 378692712667677,\n 828475842424202,\n 2218619146419342,\n 70688125792186,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3551539230764990,\n 3690416477138006,\n 3788528892189659,\n 2053896748919837,\n 3260220846276494,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2040723824657366,\n 399555637875075,\n 632543375452995,\n 872649937008051,\n 1235394727030233,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2211311599327900,\n 2139787259888175,\n 938706616835350,\n 12609661139114,\n 2081897930719789,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1324994503390431,\n 2588782144267879,\n 1183998925654176,\n 3343454479598522,\n 2300527487656566,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1845522914617879,\n 1222198248335542,\n 150841072760134,\n 1927029069940982,\n 1189913404498011,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1079559557592645,\n 2215338383666441,\n 1903569501302605,\n 49033973033940,\n 305703433934152,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2346453219102138,\n 3637921163538246,\n 3313930291577009,\n 2288353761164521,\n 3085469462634093,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1432015813136298,\n 440364795295369,\n 1395647062821501,\n 1976874522764578,\n 934452372723352,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1296625309219774,\n 2068273464883862,\n 1858621048097805,\n 1492281814208508,\n 2235868981918946,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1490330266465551,\n 1858795661361448,\n 3688040948655011,\n 2546373032584894,\n 3459939824714180,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1282462923712748,\n 741885683986255,\n 2027754642827561,\n 518989529541027,\n 1826610009555945,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1525827120027511,\n 723686461809551,\n 1597702369236987,\n 244802101764964,\n 1502833890372311,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2365421849929742,\n 3485539881431101,\n 2925909765963743,\n 2114345180342964,\n 2418564326541511,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2041668749310338,\n 2184405322203901,\n 1633400637611036,\n 2110682505536899,\n 2048144390084644,\n ]),\n xy2d: FieldElement51::from_limbs([\n 503058759232932,\n 760293024620937,\n 2027152777219493,\n 666858468148475,\n 1539184379870952,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1916168475367211,\n 3167426246226591,\n 883217071712574,\n 363427871374304,\n 1976029821251593,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 678039535434506,\n 570587290189340,\n 1605302676614120,\n 2147762562875701,\n 1706063797091704,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1439489648586438,\n 2194580753290951,\n 832380563557396,\n 561521973970522,\n 584497280718389,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2439789269177838,\n 681223515948274,\n 1933493571072456,\n 1872921007304880,\n 2739962177820919,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1413466089534451,\n 410844090765630,\n 1397263346404072,\n 408227143123410,\n 1594561803147811,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2102170800973153,\n 719462588665004,\n 1479649438510153,\n 1097529543970028,\n 1302363283777685,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3193865531532443,\n 3321113493038208,\n 2007341951411050,\n 2322773230131539,\n 1419433790163705,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1146565545556377,\n 1661971299445212,\n 406681704748893,\n 564452436406089,\n 1109109865829139,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2214421081775077,\n 1165671861210569,\n 1890453018796184,\n 3556249878661,\n 442116172656317,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3005630360306059,\n 1666955059895018,\n 1530775289309243,\n 3371786842789394,\n 2164156153857579,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 615171919212796,\n 1523849404854568,\n 854560460547503,\n 2067097370290715,\n 1765325848586042,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1094538949313667,\n 1796592198908825,\n 870221004284388,\n 2025558921863561,\n 1699010892802384,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1951351290725195,\n 1916457206844795,\n 2449824998123274,\n 1909076887557594,\n 1938542290318919,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1014323197538413,\n 869150639940606,\n 1756009942696599,\n 1334952557375672,\n 1544945379082874,\n ]),\n xy2d: FieldElement51::from_limbs([\n 764055910920305,\n 1603590757375439,\n 146805246592357,\n 1843313433854297,\n 954279890114939,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 80113526615731,\n 764536758732259,\n 3306939158785481,\n 2721052465444637,\n 2869697326116762,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 74497112547268,\n 740094153192149,\n 1745254631717581,\n 727713886503130,\n 1283034364416928,\n ]),\n xy2d: FieldElement51::from_limbs([\n 525892105991110,\n 1723776830270342,\n 1476444848991936,\n 573789489857760,\n 133864092632978,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2794411533877810,\n 1986812262899320,\n 1162535242465837,\n 2733298779828712,\n 2796400347268869,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 64123227344372,\n 1239927720647794,\n 1360722983445904,\n 222610813654661,\n 62429487187991,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1793193323953132,\n 91096687857833,\n 70945970938921,\n 2158587638946380,\n 1537042406482111,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1895854577604590,\n 3646695522634664,\n 1728548428495943,\n 3392664713925397,\n 2815445147288308,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 141358280486863,\n 91435889572504,\n 1087208572552643,\n 1829599652522921,\n 1193307020643647,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1611230858525381,\n 950720175540785,\n 499589887488610,\n 2001656988495019,\n 88977313255908,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3440880315164906,\n 2184348804772596,\n 3292618539427567,\n 2018318290311833,\n 1712060030915354,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 873966876953756,\n 1090638350350440,\n 1708559325189137,\n 672344594801910,\n 1320437969700239,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1508590048271766,\n 1131769479776094,\n 101550868699323,\n 428297785557897,\n 561791648661744,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3008217384184691,\n 2489682092917849,\n 2136263418594015,\n 1701968045454886,\n 2955512998822720,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1781187809325462,\n 1697624151492346,\n 1381393690939988,\n 175194132284669,\n 1483054666415238,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2175517777364616,\n 708781536456029,\n 955668231122942,\n 1967557500069555,\n 2021208005604118,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3366935780292116,\n 2476017186636029,\n 915967306279221,\n 593866251291540,\n 2813546907893254,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1443163092879439,\n 391875531646162,\n 2180847134654632,\n 464538543018753,\n 1594098196837178,\n ]),\n xy2d: FieldElement51::from_limbs([\n 850858855888869,\n 319436476624586,\n 327807784938441,\n 740785849558761,\n 17128415486016,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2132756334090048,\n 2788047633840893,\n 2300706964962114,\n 2860273011285942,\n 3513489358708031,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1525176236978354,\n 974205476721062,\n 293436255662638,\n 148269621098039,\n 137961998433963,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1121075518299410,\n 2071745529082111,\n 1265567917414828,\n 1648196578317805,\n 496232102750820,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2374121042985030,\n 3274721891178932,\n 2001275453369483,\n 2017441881607947,\n 3245005694463250,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 654925550560074,\n 1168810995576858,\n 575655959430926,\n 905758704861388,\n 496774564663534,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1954109525779738,\n 2117022646152485,\n 338102630417180,\n 1194140505732026,\n 107881734943492,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1714785840001267,\n 4288299832366837,\n 1876380234251965,\n 2056717182974196,\n 1645855254384642,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 106431476499341,\n 62482972120563,\n 1513446655109411,\n 807258751769522,\n 538491469114,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2002850762893643,\n 1243624520538135,\n 1486040410574605,\n 2184752338181213,\n 378495998083531,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 922510868424903,\n 1089502620807680,\n 402544072617374,\n 1131446598479839,\n 1290278588136533,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1867998812076769,\n 715425053580701,\n 39968586461416,\n 2173068014586163,\n 653822651801304,\n ]),\n xy2d: FieldElement51::from_limbs([\n 162892278589453,\n 182585796682149,\n 75093073137630,\n 497037941226502,\n 133871727117371,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4166396390264918,\n 1608999621851577,\n 1987629837704609,\n 1519655314857977,\n 1819193753409464,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1949315551096831,\n 1069003344994464,\n 1939165033499916,\n 1548227205730856,\n 1933767655861407,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1730519386931635,\n 1393284965610134,\n 1597143735726030,\n 416032382447158,\n 1429665248828629,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 360275475604546,\n 2799635544748326,\n 2467160717872776,\n 2848446553564254,\n 2584509464110332,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 47602113726801,\n 1522314509708010,\n 437706261372925,\n 814035330438027,\n 335930650933545,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1291597595523886,\n 1058020588994081,\n 402837842324045,\n 1363323695882781,\n 2105763393033193,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2361321796251793,\n 3967057562270386,\n 1112231216891515,\n 2046641005101484,\n 2386048970842261,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2156991030936798,\n 2227544497153325,\n 1869050094431622,\n 754875860479115,\n 1754242344267058,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1846089562873800,\n 98894784984326,\n 1412430299204844,\n 171351226625762,\n 1100604760929008,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2335972195815721,\n 2751510784385293,\n 425749630620777,\n 1762872794206857,\n 2864642415813208,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 868309334532756,\n 1703010512741873,\n 1952690008738057,\n 4325269926064,\n 2071083554962116,\n ]),\n xy2d: FieldElement51::from_limbs([\n 523094549451158,\n 401938899487815,\n 1407690589076010,\n 2022387426254453,\n 158660516411257,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 612867287630009,\n 2700012425789062,\n 2823428891104443,\n 1466796750919375,\n 1728478129663858,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1723848973783452,\n 2208822520534681,\n 1718748322776940,\n 1974268454121942,\n 1194212502258141,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1254114807944608,\n 977770684047110,\n 2010756238954993,\n 1783628927194099,\n 1525962994408256,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2484263871921055,\n 1948628555342433,\n 1835348780427694,\n 1031609499437291,\n 2316271920603621,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 767338676040683,\n 754089548318405,\n 1523192045639075,\n 435746025122062,\n 512692508440385,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1255955808701983,\n 1700487367990941,\n 1166401238800299,\n 1175121994891534,\n 1190934801395380,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2600943821853521,\n 1337012557669161,\n 1475912332999108,\n 3573418268585706,\n 2299411105589567,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 877519947135419,\n 2172838026132651,\n 272304391224129,\n 1655143327559984,\n 886229406429814,\n ]),\n xy2d: FieldElement51::from_limbs([\n 375806028254706,\n 214463229793940,\n 572906353144089,\n 572168269875638,\n 697556386112979,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1168827102357825,\n 823864273033637,\n 4323338565789945,\n 788062026895923,\n 2851378154428610,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1948116082078088,\n 2054898304487796,\n 2204939184983900,\n 210526805152138,\n 786593586607626,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1915320147894736,\n 156481169009469,\n 655050471180417,\n 592917090415421,\n 2165897438660879,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1726336468579724,\n 1119932070398949,\n 1929199510967666,\n 2285718602008207,\n 1836837863503149,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 829996854845988,\n 217061778005138,\n 1686565909803640,\n 1346948817219846,\n 1723823550730181,\n ]),\n xy2d: FieldElement51::from_limbs([\n 384301494966394,\n 687038900403062,\n 2211195391021739,\n 254684538421383,\n 1245698430589680,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1247567493562669,\n 4229981908141095,\n 2435671288478202,\n 806570235643434,\n 2540261331753164,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1449077384734201,\n 38285445457996,\n 2136537659177832,\n 2146493000841573,\n 725161151123125,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1201928866368855,\n 800415690605445,\n 1703146756828343,\n 997278587541744,\n 1858284414104014,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2608268623334125,\n 3034173730618399,\n 1718002439402869,\n 3644022065904502,\n 663171266061950,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 759628738230460,\n 1012693474275852,\n 353780233086498,\n 246080061387552,\n 2030378857679162,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2040672435071076,\n 888593182036908,\n 1298443657189359,\n 1804780278521327,\n 354070726137060,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1894938527423184,\n 3715012855162525,\n 2726210319182898,\n 2499094776718546,\n 877975941029127,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 207937160991127,\n 12966911039119,\n 820997788283092,\n 1010440472205286,\n 1701372890140810,\n ]),\n xy2d: FieldElement51::from_limbs([\n 218882774543183,\n 533427444716285,\n 1233243976733245,\n 435054256891319,\n 1509568989549904,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4140638349397055,\n 3303977572025869,\n 3465353617009382,\n 2420981822812579,\n 2715174081801119,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 299137589460312,\n 1594371588983567,\n 868058494039073,\n 257771590636681,\n 1805012993142921,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1806842755664364,\n 2098896946025095,\n 1356630998422878,\n 1458279806348064,\n 347755825962072,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1402334161391744,\n 3811883484731547,\n 1008585416617746,\n 1147797150908892,\n 1420416683642459,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 665506704253369,\n 273770475169863,\n 799236974202630,\n 848328990077558,\n 1811448782807931,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1468412523962641,\n 771866649897997,\n 1931766110147832,\n 799561180078482,\n 524837559150077,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2223212657821831,\n 2882216061048914,\n 2144451165500327,\n 3068710944633039,\n 3276150872095279,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1266603897524861,\n 156378408858100,\n 1275649024228779,\n 447738405888420,\n 253186462063095,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2022215964509735,\n 136144366993649,\n 1800716593296582,\n 1193970603800203,\n 871675847064218,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1862751661970309,\n 851596246739884,\n 1519315554814041,\n 3794598280232697,\n 3669775149586767,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1228168094547481,\n 334133883362894,\n 587567568420081,\n 433612590281181,\n 603390400373205,\n ]),\n xy2d: FieldElement51::from_limbs([\n 121893973206505,\n 1843345804916664,\n 1703118377384911,\n 497810164760654,\n 101150811654673,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2710146069631716,\n 2542709749304591,\n 1452768413850678,\n 2802722688939463,\n 1537286854336537,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 584322311184395,\n 380661238802118,\n 114839394528060,\n 655082270500073,\n 2111856026034852,\n ]),\n xy2d: FieldElement51::from_limbs([\n 996965581008991,\n 2148998626477022,\n 1012273164934654,\n 1073876063914522,\n 1688031788934939,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3175286832534829,\n 2085106799623354,\n 2779882615305384,\n 1606206360876187,\n 2987706905397772,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1697697887804317,\n 1335343703828273,\n 831288615207040,\n 949416685250051,\n 288760277392022,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1419122478109648,\n 1325574567803701,\n 602393874111094,\n 2107893372601700,\n 1314159682671307,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2201150872731785,\n 2180241023425241,\n 2349463270108411,\n 1633405770247823,\n 3100744856129234,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1173339555550611,\n 818605084277583,\n 47521504364289,\n 924108720564965,\n 735423405754506,\n ]),\n xy2d: FieldElement51::from_limbs([\n 830104860549448,\n 1886653193241086,\n 1600929509383773,\n 1475051275443631,\n 286679780900937,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3828911108518224,\n 3282698983453994,\n 2396700729978777,\n 4216472406664814,\n 2820189914640497,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 278388655910247,\n 487143369099838,\n 927762205508727,\n 181017540174210,\n 1616886700741287,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1191033906638969,\n 940823957346562,\n 1606870843663445,\n 861684761499847,\n 658674867251089,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1875032594195527,\n 1427106132796197,\n 2976536204647406,\n 3153660325729987,\n 2887068310954007,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 622869792298357,\n 1903919278950367,\n 1922588621661629,\n 1520574711600434,\n 1087100760174640,\n ]),\n xy2d: FieldElement51::from_limbs([\n 25465949416618,\n 1693639527318811,\n 1526153382657203,\n 125943137857169,\n 145276964043999,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2466539671654587,\n 920212862967914,\n 4191701364657517,\n 3463662605460468,\n 2336897329405367,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2006245852772938,\n 734762734836159,\n 254642929763427,\n 1406213292755966,\n 239303749517686,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1619678837192149,\n 1919424032779215,\n 1357391272956794,\n 1525634040073113,\n 1310226789796241,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3292563523447371,\n 1704449869235351,\n 2857062884141577,\n 1998838089036354,\n 1312142911487502,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1996723311435669,\n 1844342766567060,\n 985455700466044,\n 1165924681400960,\n 311508689870129,\n ]),\n xy2d: FieldElement51::from_limbs([\n 43173156290518,\n 2202883069785309,\n 1137787467085917,\n 1733636061944606,\n 1394992037553852,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 670078326344559,\n 2807454838744604,\n 2723759199967685,\n 2141455487356408,\n 849015953823125,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2197214573372804,\n 794254097241315,\n 1030190060513737,\n 267632515541902,\n 2040478049202624,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1812516004670529,\n 1609256702920783,\n 1706897079364493,\n 258549904773295,\n 996051247540686,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1540374301420565,\n 1764656898914615,\n 1810104162020396,\n 3175608592848336,\n 2916189887881826,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1323460699404750,\n 1262690757880991,\n 871777133477900,\n 1060078894988977,\n 1712236889662886,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1696163952057966,\n 1391710137550823,\n 608793846867416,\n 1034391509472039,\n 1780770894075012,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1367603834210822,\n 4383788460268472,\n 890353773628143,\n 1908908219165595,\n 2522636708938139,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 597536315471731,\n 40375058742586,\n 1942256403956049,\n 1185484645495932,\n 312666282024145,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1919411405316294,\n 1234508526402192,\n 1066863051997083,\n 1008444703737597,\n 1348810787701552,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2102881477513865,\n 3822074379630609,\n 1573617900503707,\n 2270462449417831,\n 2232324307922097,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1853931367696942,\n 8107973870707,\n 350214504129299,\n 775206934582587,\n 1752317649166792,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1417148368003523,\n 721357181628282,\n 505725498207811,\n 373232277872983,\n 261634707184480,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2186733281493248,\n 2250694917008620,\n 1014829812957440,\n 2731797975137637,\n 2335366007561721,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1268116367301224,\n 560157088142809,\n 802626839600444,\n 2210189936605713,\n 1129993785579988,\n ]),\n xy2d: FieldElement51::from_limbs([\n 615183387352312,\n 917611676109240,\n 878893615973325,\n 978940963313282,\n 938686890583575,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 522024729211672,\n 3296859129001056,\n 1892245413707789,\n 1907891107684253,\n 2059998109500714,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1799679152208884,\n 912132775900387,\n 25967768040979,\n 432130448590461,\n 274568990261996,\n ]),\n xy2d: FieldElement51::from_limbs([\n 98698809797682,\n 2144627600856209,\n 1907959298569602,\n 811491302610148,\n 1262481774981493,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1791451399743152,\n 1713538728337276,\n 2370149810942738,\n 1882306388849953,\n 158235232210248,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1217809823321928,\n 2173947284933160,\n 1986927836272325,\n 1388114931125539,\n 12686131160169,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1650875518872272,\n 1136263858253897,\n 1732115601395988,\n 734312880662190,\n 1252904681142109,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2624786269799113,\n 2777230729143418,\n 2116279931702134,\n 2753222527273063,\n 1907002872974924,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 803147181835288,\n 868941437997146,\n 316299302989663,\n 943495589630550,\n 571224287904572,\n ]),\n xy2d: FieldElement51::from_limbs([\n 227742695588364,\n 1776969298667369,\n 628602552821802,\n 457210915378118,\n 2041906378111140,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 815000523470260,\n 3164885502413555,\n 3303859931956420,\n 1345536665214222,\n 541623413135555,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1580216071604333,\n 1877997504342444,\n 857147161260913,\n 703522726778478,\n 2182763974211603,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1870080310923419,\n 71988220958492,\n 1783225432016732,\n 615915287105016,\n 1035570475990230,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2982787564515398,\n 857613889540279,\n 1083813157271766,\n 1002817255970169,\n 1719228484436074,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 377616581647602,\n 1581980403078513,\n 804044118130621,\n 2034382823044191,\n 643844048472185,\n ]),\n xy2d: FieldElement51::from_limbs([\n 176957326463017,\n 1573744060478586,\n 528642225008045,\n 1816109618372371,\n 1515140189765006,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1888911448245718,\n 3638910709296328,\n 4176303607751676,\n 1731539523700948,\n 2230378382645454,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 443392177002051,\n 233793396845137,\n 2199506622312416,\n 1011858706515937,\n 974676837063129,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1846351103143623,\n 1949984838808427,\n 671247021915253,\n 1946756846184401,\n 1929296930380217,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 849646212451983,\n 1410198775302919,\n 2325567699868943,\n 1641663456615811,\n 3014056086137659,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 692017667358279,\n 723305578826727,\n 1638042139863265,\n 748219305990306,\n 334589200523901,\n ]),\n xy2d: FieldElement51::from_limbs([\n 22893968530686,\n 2235758574399251,\n 1661465835630252,\n 925707319443452,\n 1203475116966621,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3053098849470395,\n 3985092410411378,\n 1664508947088595,\n 2719548934677170,\n 3899298398220870,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 903105258014366,\n 427141894933047,\n 561187017169777,\n 1884330244401954,\n 1914145708422219,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1344191060517578,\n 1960935031767890,\n 1518838929955259,\n 1781502350597190,\n 1564784025565682,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2925523165433334,\n 1979969272514922,\n 3427087126180756,\n 1187589090978665,\n 1881897672213940,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1917185587363432,\n 1098342571752737,\n 5935801044414,\n 2000527662351839,\n 1538640296181569,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2495540013192,\n 678856913479236,\n 224998292422872,\n 219635787698590,\n 1972465269000940,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 271413961212179,\n 3604851875156899,\n 2596511104968730,\n 2014925838520661,\n 2006221033113941,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 194583029968109,\n 514316781467765,\n 829677956235672,\n 1676415686873082,\n 810104584395840,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1980510813313589,\n 1948645276483975,\n 152063780665900,\n 129968026417582,\n 256984195613935,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1860190562533083,\n 1936576191345085,\n 2712900106391212,\n 1811043097042829,\n 3209286562992083,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 796664815624365,\n 1543160838872951,\n 1500897791837765,\n 1667315977988401,\n 599303877030711,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1151480509533204,\n 2136010406720455,\n 738796060240027,\n 319298003765044,\n 1150614464349587,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1731069268103131,\n 2987442261301335,\n 1364750481334267,\n 2669032653668119,\n 3178908082812908,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1017222050227968,\n 1987716148359,\n 2234319589635701,\n 621282683093392,\n 2132553131763026,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1567828528453324,\n 1017807205202360,\n 565295260895298,\n 829541698429100,\n 307243822276582,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 249079270936229,\n 1501514259790706,\n 3199709537890096,\n 944551802437486,\n 2804458577667728,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2089966982947227,\n 1854140343916181,\n 2151980759220007,\n 2139781292261749,\n 158070445864917,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1338766321464554,\n 1906702607371284,\n 1519569445519894,\n 115384726262267,\n 1393058953390992,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3616421371950629,\n 3764188048593604,\n 1926731583198685,\n 2041482526432505,\n 3172200936019022,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1884844597333588,\n 601480070269079,\n 620203503079537,\n 1079527400117915,\n 1202076693132015,\n ]),\n xy2d: FieldElement51::from_limbs([\n 840922919763324,\n 727955812569642,\n 1303406629750194,\n 522898432152867,\n 294161410441865,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2605560604520539,\n 1598361541848742,\n 3374705511887547,\n 4174333403844152,\n 2670907514351827,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 359856369838236,\n 180914355488683,\n 861726472646627,\n 218807937262986,\n 575626773232501,\n ]),\n xy2d: FieldElement51::from_limbs([\n 755467689082474,\n 909202735047934,\n 730078068932500,\n 936309075711518,\n 2007798262842972,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1609384177904054,\n 2614544999293875,\n 1335318541768200,\n 3052765584121496,\n 2799677792952659,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 984339177776787,\n 815727786505884,\n 1645154585713747,\n 1659074964378553,\n 1686601651984156,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1697863093781930,\n 599794399429786,\n 1104556219769607,\n 830560774794755,\n 12812858601017,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1168737550514982,\n 897832437380552,\n 463140296333799,\n 2554364413707795,\n 2008360505135500,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1856930662813910,\n 678090852002597,\n 1920179140755167,\n 1259527833759868,\n 55540971895511,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1158643631044921,\n 476554103621892,\n 178447851439725,\n 1305025542653569,\n 103433927680625,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2176793111709008,\n 3828525530035639,\n 2009350167273522,\n 2012390194631546,\n 2125297410909580,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 825403285195098,\n 2144208587560784,\n 1925552004644643,\n 1915177840006985,\n 1015952128947864,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1807108316634472,\n 1534392066433717,\n 347342975407218,\n 1153820745616376,\n 7375003497471,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3234860815484973,\n 2683011703586488,\n 2201903782961092,\n 3069193724749589,\n 2214616493042166,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 228567918409756,\n 865093958780220,\n 358083886450556,\n 159617889659320,\n 1360637926292598,\n ]),\n xy2d: FieldElement51::from_limbs([\n 234147501399755,\n 2229469128637390,\n 2175289352258889,\n 1397401514549353,\n 1885288963089922,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3363562226636810,\n 2504649386192636,\n 3300514047508588,\n 2397910909286693,\n 1237505378776769,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1113790697840279,\n 1051167139966244,\n 1045930658550944,\n 2011366241542643,\n 1686166824620755,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1054097349305049,\n 1872495070333352,\n 182121071220717,\n 1064378906787311,\n 100273572924182,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3558210666856834,\n 1627717417672446,\n 2302783034773665,\n 1109249951172249,\n 3122001602766640,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 104233794644221,\n 1548919791188248,\n 2224541913267306,\n 2054909377116478,\n 1043803389015153,\n ]),\n xy2d: FieldElement51::from_limbs([\n 216762189468802,\n 707284285441622,\n 190678557969733,\n 973969342604308,\n 1403009538434867,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3530824104723725,\n 2596576648903557,\n 2525521909702446,\n 4086000250496689,\n 634517197663803,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 343805853118335,\n 1302216857414201,\n 566872543223541,\n 2051138939539004,\n 321428858384280,\n ]),\n xy2d: FieldElement51::from_limbs([\n 470067171324852,\n 1618629234173951,\n 2000092177515639,\n 7307679772789,\n 1117521120249968,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2529951391976704,\n 1810282338562946,\n 1771599529530998,\n 3635459223356879,\n 2937173228157088,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 577009397403102,\n 1791440261786291,\n 2177643735971638,\n 174546149911960,\n 1412505077782326,\n ]),\n xy2d: FieldElement51::from_limbs([\n 893719721537457,\n 1201282458018197,\n 1522349501711173,\n 58011597740583,\n 1130406465887139,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 412607348255434,\n 1280455764199780,\n 2233277987330768,\n 2265979894086913,\n 2583384512102412,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 262483770854550,\n 990511055108216,\n 526885552771698,\n 571664396646158,\n 354086190278723,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1820352417585487,\n 24495617171480,\n 1547899057533253,\n 10041836186225,\n 480457105094042,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2023310314989233,\n 2889705151211129,\n 2106474638900686,\n 2809620524769320,\n 1687858215057825,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1144168702609745,\n 604444390410187,\n 1544541121756138,\n 1925315550126027,\n 626401428894002,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1922168257351784,\n 2018674099908659,\n 1776454117494445,\n 956539191509034,\n 36031129147635,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2796444352433270,\n 1039872944430373,\n 3128550222815858,\n 2962457525011798,\n 3468752501170219,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 58242421545916,\n 2035812695641843,\n 2118491866122923,\n 1191684463816273,\n 46921517454099,\n ]),\n xy2d: FieldElement51::from_limbs([\n 272268252444639,\n 1374166457774292,\n 2230115177009552,\n 1053149803909880,\n 1354288411641016,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1857910905368338,\n 1754729879288912,\n 3137745277795125,\n 1516096106802165,\n 1602902393369811,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1193437069800958,\n 901107149704790,\n 999672920611411,\n 477584824802207,\n 364239578697845,\n ]),\n xy2d: FieldElement51::from_limbs([\n 886299989548838,\n 1538292895758047,\n 1590564179491896,\n 1944527126709657,\n 837344427345298,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3006358179063534,\n 1712186480903617,\n 3955456640022779,\n 3002110732175033,\n 2770795853936147,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1309847803895382,\n 1462151862813074,\n 211370866671570,\n 1544595152703681,\n 1027691798954090,\n ]),\n xy2d: FieldElement51::from_limbs([\n 803217563745370,\n 1884799722343599,\n 1357706345069218,\n 2244955901722095,\n 730869460037413,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2941099284981214,\n 1831210565161070,\n 3626987155270686,\n 3358084791231418,\n 1893781834054268,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 696351368613042,\n 1494385251239250,\n 738037133616932,\n 636385507851544,\n 927483222611406,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1949114198209333,\n 1104419699537997,\n 783495707664463,\n 1747473107602770,\n 2002634765788641,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1607325776830197,\n 2782683755100581,\n 1451089452727894,\n 3833490970768671,\n 496100432831153,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1068900648804224,\n 2006891997072550,\n 1134049269345549,\n 1638760646180091,\n 2055396084625778,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2222475519314561,\n 1870703901472013,\n 1884051508440561,\n 1344072275216753,\n 1318025677799069,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 155711679280637,\n 681100400509288,\n 389811735211209,\n 2135723811340709,\n 2660533024889373,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 7813206966729,\n 194444201427550,\n 2071405409526507,\n 1065605076176312,\n 1645486789731291,\n ]),\n xy2d: FieldElement51::from_limbs([\n 16625790644959,\n 1647648827778410,\n 1579910185572704,\n 436452271048548,\n 121070048451050,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3289062842237779,\n 2820185594063076,\n 2549752917829677,\n 3810384325616458,\n 2238221839292470,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 190565267697443,\n 672855706028058,\n 338796554369226,\n 337687268493904,\n 853246848691734,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1763863028400139,\n 766498079432444,\n 1321118624818005,\n 69494294452268,\n 858786744165651,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3543856582248253,\n 1456632109855637,\n 3352431060735432,\n 1386133165675320,\n 3484698163879000,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 366253102478259,\n 525676242508811,\n 1449610995265438,\n 1183300845322183,\n 185960306491545,\n ]),\n xy2d: FieldElement51::from_limbs([\n 28315355815982,\n 460422265558930,\n 1799675876678724,\n 1969256312504498,\n 1051823843138725,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2408714813047231,\n 3857948219405196,\n 1665208410108429,\n 2569443092377519,\n 1383783705665319,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 54684536365732,\n 2210010038536222,\n 1194984798155308,\n 535239027773705,\n 1516355079301361,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1484387703771650,\n 198537510937949,\n 2186282186359116,\n 617687444857508,\n 647477376402122,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2147715541830533,\n 2751832352131065,\n 2898179830570073,\n 2604027669016369,\n 1488268620408051,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 159386186465542,\n 1877626593362941,\n 618737197060512,\n 1026674284330807,\n 1158121760792685,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1744544377739822,\n 1964054180355661,\n 1685781755873170,\n 2169740670377448,\n 1286112621104591,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2333777063470241,\n 3919742931398333,\n 3920783633320113,\n 1605016835177614,\n 1353960708075544,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1602253788689063,\n 439542044889886,\n 2220348297664483,\n 657877410752869,\n 157451572512238,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1029287186166717,\n 65860128430192,\n 525298368814832,\n 1491902500801986,\n 1461064796385400,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2660016802414475,\n 2121095722306988,\n 913562102267595,\n 1879708920318308,\n 2492861262121979,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1185483484383269,\n 1356339572588553,\n 584932367316448,\n 102132779946470,\n 1792922621116791,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1966196870701923,\n 2230044620318636,\n 1425982460745905,\n 261167817826569,\n 46517743394330,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2358877405280588,\n 3136759755857592,\n 2279106683482647,\n 2224911448949389,\n 3216151871930471,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1730194207717538,\n 431790042319772,\n 1831515233279467,\n 1372080552768581,\n 1074513929381760,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1450880638731607,\n 1019861580989005,\n 1229729455116861,\n 1174945729836143,\n 826083146840706,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1899935429242705,\n 1602068751520477,\n 940583196550370,\n 2334230882739107,\n 1540863155745695,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2136688454840028,\n 2099509000964294,\n 1690800495246475,\n 1217643678575476,\n 828720645084218,\n ]),\n xy2d: FieldElement51::from_limbs([\n 765548025667841,\n 462473984016099,\n 998061409979798,\n 546353034089527,\n 2212508972466858,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2298375097456408,\n 3144370785258318,\n 1281983193144089,\n 1491520128287375,\n 75847005908304,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1801436127943107,\n 1734436817907890,\n 1268728090345068,\n 167003097070711,\n 2233597765834956,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1997562060465113,\n 1048700225534011,\n 7615603985628,\n 1855310849546841,\n 2242557647635213,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1161017320376250,\n 2744424393854291,\n 2169815802355236,\n 3228296595417790,\n 1770879511019628,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1357044908364776,\n 729130645262438,\n 1762469072918979,\n 1365633616878458,\n 181282906404941,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1080413443139865,\n 1155205815510486,\n 1848782073549786,\n 622566975152580,\n 124965574467971,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1184526762066993,\n 247622751762817,\n 2943928830891604,\n 3071818503097743,\n 2188697339828084,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2020536369003019,\n 202261491735136,\n 1053169669150884,\n 2056531979272544,\n 778165514694311,\n ]),\n xy2d: FieldElement51::from_limbs([\n 237404399610207,\n 1308324858405118,\n 1229680749538400,\n 720131409105291,\n 1958958863624906,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2767383321724075,\n 2269456792542436,\n 1717918437373988,\n 1568052070792483,\n 2298775616809171,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 281527309158085,\n 36970532401524,\n 866906920877543,\n 2222282602952734,\n 1289598729589882,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1278207464902042,\n 494742455008756,\n 1262082121427081,\n 1577236621659884,\n 1888786707293291,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 353042527954210,\n 1830056151907359,\n 1111731275799225,\n 2426760769524072,\n 404312815582674,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2064251142068628,\n 1666421603389706,\n 1419271365315441,\n 468767774902855,\n 191535130366583,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1716987058588002,\n 1859366439773457,\n 1767194234188234,\n 64476199777924,\n 1117233614485261,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3236091949205521,\n 2386938060636506,\n 2220652137473166,\n 1722843421165029,\n 2442282371698157,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 298845952651262,\n 1166086588952562,\n 1179896526238434,\n 1347812759398693,\n 1412945390096208,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1143239552672925,\n 906436640714209,\n 2177000572812152,\n 2075299936108548,\n 325186347798433,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2972824668060020,\n 2936287674948563,\n 3625238557779406,\n 2193186935276994,\n 1387043709851261,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 418098668140962,\n 715065997721283,\n 1471916138376055,\n 2168570337288357,\n 937812682637044,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1043584187226485,\n 2143395746619356,\n 2209558562919611,\n 482427979307092,\n 847556718384018,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1248731221520740,\n 1465200936117687,\n 2792603306395388,\n 2304778448366139,\n 2513234303861356,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1057329623869501,\n 620334067429122,\n 461700859268034,\n 2012481616501857,\n 297268569108938,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1055352180870759,\n 1553151421852298,\n 1510903185371259,\n 1470458349428097,\n 1226259419062731,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3744788603986897,\n 3042126439258578,\n 3441906842094992,\n 3641194565844440,\n 3872208010289441,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 47000654413729,\n 1004754424173864,\n 1868044813557703,\n 173236934059409,\n 588771199737015,\n ]),\n xy2d: FieldElement51::from_limbs([\n 30498470091663,\n 1082245510489825,\n 576771653181956,\n 806509986132686,\n 1317634017056939,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2672107869436803,\n 3745154677001249,\n 2417006535213335,\n 4136645508605033,\n 2065456951573058,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1115636332012334,\n 1854340990964155,\n 83792697369514,\n 1972177451994021,\n 457455116057587,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1698968457310898,\n 1435137169051090,\n 1083661677032510,\n 938363267483709,\n 340103887207182,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1995325341336555,\n 911500251774648,\n 2415810569088940,\n 855378419194761,\n 3825401211214090,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 241719380661528,\n 310028521317150,\n 1215881323380194,\n 1408214976493624,\n 2141142156467363,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1315157046163473,\n 727368447885818,\n 1363466668108618,\n 1668921439990361,\n 1398483384337907,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2326829491984875,\n 3267188020145720,\n 1849729037055211,\n 4191614430138232,\n 2696204044080201,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2053597130993710,\n 2024431685856332,\n 2233550957004860,\n 2012407275509545,\n 872546993104440,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1217269667678610,\n 599909351968693,\n 1390077048548598,\n 1471879360694802,\n 739586172317596,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3970118453066023,\n 1560510726633957,\n 3156262694845170,\n 1418028351780051,\n 2346204163137185,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2132502667405250,\n 214379346175414,\n 1502748313768060,\n 1960071701057800,\n 1353971822643138,\n ]),\n xy2d: FieldElement51::from_limbs([\n 319394212043702,\n 2127459436033571,\n 717646691535162,\n 663366796076914,\n 318459064945314,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2657789238608841,\n 1960452633787082,\n 2919148848086913,\n 3744474074452359,\n 1451061489880786,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 947085906234007,\n 323284730494107,\n 1485778563977200,\n 728576821512394,\n 901584347702286,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1575783124125742,\n 2126210792434375,\n 1569430791264065,\n 1402582372904727,\n 1891780248341114,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3090232019245924,\n 4249503325136911,\n 3270591693593114,\n 1662001808174330,\n 2330127946643001,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 739152638255629,\n 2074935399403557,\n 505483666745895,\n 1611883356514088,\n 628654635394878,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1822054032121349,\n 643057948186973,\n 7306757352712,\n 577249257962099,\n 284735863382083,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3618358370049178,\n 1448606567552085,\n 3730680834630016,\n 2417602993041145,\n 1115718458123497,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 204146226972102,\n 1630511199034723,\n 2215235214174763,\n 174665910283542,\n 956127674017216,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1562934578796716,\n 1070893489712745,\n 11324610642270,\n 958989751581897,\n 2172552325473805,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1770564423056008,\n 2987323445349813,\n 1326060113795288,\n 1509650369341127,\n 2317692235267932,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 623682558650637,\n 1337866509471512,\n 990313350206649,\n 1314236615762469,\n 1164772974270275,\n ]),\n xy2d: FieldElement51::from_limbs([\n 223256821462517,\n 723690150104139,\n 1000261663630601,\n 933280913953265,\n 254872671543046,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1969087237026022,\n 2876595539132372,\n 1335555107635968,\n 2069986355593023,\n 3963899963027150,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1236103475266979,\n 1837885883267218,\n 1026072585230455,\n 1025865513954973,\n 1801964901432134,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1115241013365517,\n 1712251818829143,\n 2148864332502771,\n 2096001471438138,\n 2235017246626125,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3551068012286861,\n 2047148477845620,\n 2165648650132450,\n 1612539282026145,\n 2765997725314138,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 118352772338543,\n 1067608711804704,\n 1434796676193498,\n 1683240170548391,\n 230866769907437,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1850689576796636,\n 1601590730430274,\n 1139674615958142,\n 1954384401440257,\n 76039205311,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1723387471374172,\n 3249101280723658,\n 2785727448808904,\n 2272728458379212,\n 1756575222802512,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2146711623855116,\n 503278928021499,\n 625853062251406,\n 1109121378393107,\n 1033853809911861,\n ]),\n xy2d: FieldElement51::from_limbs([\n 571005965509422,\n 2005213373292546,\n 1016697270349626,\n 56607856974274,\n 914438579435146,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1346698876211176,\n 2076651707527589,\n 3336561384795453,\n 2517134292513653,\n 1068954492309670,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1769967932677654,\n 1695893319756416,\n 1151863389675920,\n 1781042784397689,\n 400287774418285,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1851867764003121,\n 403841933237558,\n 820549523771987,\n 761292590207581,\n 1743735048551143,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 410915148140008,\n 2107072311871739,\n 3256167275561751,\n 2351484709082008,\n 1180818713503223,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 285945406881439,\n 648174397347453,\n 1098403762631981,\n 1366547441102991,\n 1505876883139217,\n ]),\n xy2d: FieldElement51::from_limbs([\n 672095903120153,\n 1675918957959872,\n 636236529315028,\n 1569297300327696,\n 2164144194785875,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1902708175321798,\n 3287143344600686,\n 1178560808893262,\n 2552895497743394,\n 1280977479761117,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1615357281742403,\n 404257611616381,\n 2160201349780978,\n 1160947379188955,\n 1578038619549541,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2013087639791217,\n 822734930507457,\n 1785668418619014,\n 1668650702946164,\n 389450875221715,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2705718263383616,\n 2358206633614248,\n 2072540975937134,\n 308588860670238,\n 1304394580755385,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1295082798350326,\n 2091844511495996,\n 1851348972587817,\n 3375039684596,\n 789440738712837,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2083069137186154,\n 848523102004566,\n 993982213589257,\n 1405313299916317,\n 1532824818698468,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3747761112537659,\n 1397203457344778,\n 4026750030752190,\n 2391102557240943,\n 2318403398028034,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1782411379088302,\n 1096724939964781,\n 27593390721418,\n 542241850291353,\n 1540337798439873,\n ]),\n xy2d: FieldElement51::from_limbs([\n 693543956581437,\n 171507720360750,\n 1557908942697227,\n 1074697073443438,\n 1104093109037196,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 345288228393400,\n 3351443383432420,\n 2386681722088990,\n 1740551994106739,\n 2500011992985018,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 231429562203065,\n 1526290236421172,\n 2021375064026423,\n 1520954495658041,\n 806337791525116,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1079623667189886,\n 872403650198613,\n 766894200588288,\n 2163700860774109,\n 2023464507911816,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 854645372543796,\n 1936406001954827,\n 2403260476226501,\n 3077125552956802,\n 1554306377287555,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1497138821904622,\n 1044820250515590,\n 1742593886423484,\n 1237204112746837,\n 849047450816987,\n ]),\n xy2d: FieldElement51::from_limbs([\n 667962773375330,\n 1897271816877105,\n 1399712621683474,\n 1143302161683099,\n 2081798441209593,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2378947665252234,\n 1936114012888109,\n 1704424366552046,\n 3108474694401560,\n 2968403435020606,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1072409664800960,\n 2146937497077528,\n 1508780108920651,\n 935767602384853,\n 1112800433544068,\n ]),\n xy2d: FieldElement51::from_limbs([\n 333549023751292,\n 280219272863308,\n 2104176666454852,\n 1036466864875785,\n 536135186520207,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2625466093568366,\n 2398257055215356,\n 2555916080813104,\n 2667888562832962,\n 3510376944868638,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1186115062588401,\n 2251609796968486,\n 1098944457878953,\n 1153112761201374,\n 1791625503417267,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1870078460219737,\n 2129630962183380,\n 852283639691142,\n 292865602592851,\n 401904317342226,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1361070124828016,\n 815664541425524,\n 3278598711049919,\n 1951790935390646,\n 2807674705520038,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1546301003424277,\n 459094500062839,\n 1097668518375311,\n 1780297770129643,\n 720763293687608,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1212405311403990,\n 1536693382542438,\n 61028431067459,\n 1863929423417129,\n 1223219538638038,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1294303766540260,\n 3435357279640341,\n 3134071170918340,\n 2315654383110622,\n 2213283684565086,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 339050984211414,\n 601386726509773,\n 413735232134068,\n 966191255137228,\n 1839475899458159,\n ]),\n xy2d: FieldElement51::from_limbs([\n 235605972169408,\n 2174055643032978,\n 1538335001838863,\n 1281866796917192,\n 1815940222628465,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1632352921721536,\n 1833328609514701,\n 2092779091951987,\n 4175756015558474,\n 2210068022482918,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 35271216625062,\n 1712350667021807,\n 983664255668860,\n 98571260373038,\n 1232645608559836,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1998172393429622,\n 1798947921427073,\n 784387737563581,\n 1589352214827263,\n 1589861734168180,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1733739258725305,\n 2283515530744786,\n 2453769758904107,\n 3243892858242237,\n 1194308773174555,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 846415389605137,\n 746163495539180,\n 829658752826080,\n 592067705956946,\n 957242537821393,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1758148849754419,\n 619249044817679,\n 168089007997045,\n 1371497636330523,\n 1867101418880350,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2578433797894864,\n 2513559319756263,\n 1700682323676192,\n 1577907266349064,\n 3469447477068264,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1714182387328607,\n 1477856482074168,\n 574895689942184,\n 2159118410227270,\n 1555532449716575,\n ]),\n xy2d: FieldElement51::from_limbs([\n 853828206885131,\n 998498946036955,\n 1835887550391235,\n 207627336608048,\n 258363815956050,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2392941288336925,\n 3488528558590503,\n 2894901233585134,\n 1646615130509172,\n 1208239602291765,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1501663228068911,\n 1354879465566912,\n 1444432675498247,\n 897812463852601,\n 855062598754348,\n ]),\n xy2d: FieldElement51::from_limbs([\n 714380763546606,\n 1032824444965790,\n 1774073483745338,\n 1063840874947367,\n 1738680636537158,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1640635546696233,\n 2884968766877360,\n 2212651044092395,\n 2282390772269100,\n 2620315074574625,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1171650314802029,\n 1567085444565577,\n 1453660792008405,\n 757914533009261,\n 1619511342778196,\n ]),\n xy2d: FieldElement51::from_limbs([\n 420958967093237,\n 971103481109486,\n 2169549185607107,\n 1301191633558497,\n 1661514101014240,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3158923465503550,\n 1332556122804145,\n 4075855067109735,\n 3619414031128206,\n 1982558335973171,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1121533090144639,\n 1021251337022187,\n 110469995947421,\n 1511059774758394,\n 2110035908131662,\n ]),\n xy2d: FieldElement51::from_limbs([\n 303213233384524,\n 2061932261128138,\n 352862124777736,\n 40828818670255,\n 249879468482660,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 856559257852200,\n 2760317478634258,\n 3629993581580163,\n 3975258940632376,\n 1962275756614520,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1445691340537320,\n 40614383122127,\n 402104303144865,\n 485134269878232,\n 1659439323587426,\n ]),\n xy2d: FieldElement51::from_limbs([\n 20057458979482,\n 1183363722525800,\n 2140003847237215,\n 2053873950687614,\n 2112017736174909,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2228654250927986,\n 3735391177100515,\n 1368661293910955,\n 3328311098862539,\n 526650682059607,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 709481497028540,\n 531682216165724,\n 316963769431931,\n 1814315888453765,\n 258560242424104,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1053447823660455,\n 1955135194248683,\n 1010900954918985,\n 1182614026976701,\n 1240051576966610,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1957943897155478,\n 1788667368028035,\n 2389492723714354,\n 2252839333292309,\n 3078204576998275,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1848942433095597,\n 1582009882530495,\n 1849292741020143,\n 1068498323302788,\n 2001402229799484,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1528282417624269,\n 2142492439828191,\n 2179662545816034,\n 362568973150328,\n 1591374675250271,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2411826493119617,\n 2484141002903963,\n 2149181472355544,\n 598041771119831,\n 2435658815595421,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2013278155187349,\n 662660471354454,\n 793981225706267,\n 411706605985744,\n 804490933124791,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2051892037280204,\n 488391251096321,\n 2230187337030708,\n 930221970662692,\n 679002758255210,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1530723630438670,\n 875873929577927,\n 2593359947955236,\n 2701702933216000,\n 1055551308214178,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1461835919309432,\n 1955256480136428,\n 180866187813063,\n 1551979252664528,\n 557743861963950,\n ]),\n xy2d: FieldElement51::from_limbs([\n 359179641731115,\n 1324915145732949,\n 902828372691474,\n 294254275669987,\n 1887036027752957,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4295071423139571,\n 2038225437857463,\n 1317528426475850,\n 1398989128982787,\n 2027639881006861,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2072902725256516,\n 312132452743412,\n 309930885642209,\n 996244312618453,\n 1590501300352303,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1397254305160710,\n 695734355138021,\n 2233992044438756,\n 1776180593969996,\n 1085588199351115,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2692366865016258,\n 2506694600041928,\n 2745669038615469,\n 1556322069683365,\n 3819256354004466,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1950722461391320,\n 1907845598854797,\n 1822757481635527,\n 2121567704750244,\n 73811931471221,\n ]),\n xy2d: FieldElement51::from_limbs([\n 387139307395758,\n 2058036430315676,\n 1220915649965325,\n 1794832055328951,\n 1230009312169328,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1765973779329498,\n 2911143873132225,\n 2271621715291913,\n 3553728154996461,\n 3368065817761132,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1127572801181483,\n 1224743760571696,\n 1276219889847274,\n 1529738721702581,\n 1589819666871853,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2181229378964934,\n 2190885205260020,\n 1511536077659137,\n 1246504208580490,\n 668883326494241,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2689666469258543,\n 2920826224880015,\n 2333696811665585,\n 523874406393177,\n 2496851874620484,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1975438052228868,\n 1071801519999806,\n 594652299224319,\n 1877697652668809,\n 1489635366987285,\n ]),\n xy2d: FieldElement51::from_limbs([\n 958592545673770,\n 233048016518599,\n 851568750216589,\n 567703851596087,\n 1740300006094761,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2014540178270324,\n 192672779514432,\n 2465676996326778,\n 2194819933853410,\n 1716422829364835,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1540769606609725,\n 2148289943846077,\n 1597804156127445,\n 1230603716683868,\n 815423458809453,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1738560251245018,\n 1779576754536888,\n 1783765347671392,\n 1880170990446751,\n 1088225159617541,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2911103727614740,\n 1956447718227572,\n 1830568515922666,\n 3092868863429656,\n 1669607124206367,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1143465490433355,\n 1532194726196059,\n 1093276745494697,\n 481041706116088,\n 2121405433561163,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1686424298744462,\n 1451806974487153,\n 266296068846582,\n 1834686947542675,\n 1720762336132256,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3141016840074207,\n 3295090436969907,\n 3107924901237156,\n 1669272323124635,\n 1603340330827879,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1206396181488998,\n 333158148435054,\n 1402633492821422,\n 1120091191722026,\n 1945474114550509,\n ]),\n xy2d: FieldElement51::from_limbs([\n 766720088232571,\n 1512222781191002,\n 1189719893490790,\n 2091302129467914,\n 2141418006894941,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2671463460991841,\n 1998875112167986,\n 3678399683938955,\n 3406728169064757,\n 2738338345823434,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 938160078005954,\n 1421776319053174,\n 1941643234741774,\n 180002183320818,\n 1414380336750546,\n ]),\n xy2d: FieldElement51::from_limbs([\n 398001940109652,\n 1577721237663248,\n 1012748649830402,\n 1540516006905144,\n 1011684812884559,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1653276489969611,\n 2257881638852872,\n 1921777941170835,\n 1604139841794531,\n 3113010867325889,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 996661541407379,\n 1455877387952927,\n 744312806857277,\n 139213896196746,\n 1000282908547789,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1450817495603008,\n 1476865707053229,\n 1030490562252053,\n 620966950353376,\n 1744760161539058,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2811528223687828,\n 2288856475326432,\n 2038622963352005,\n 1637244893271723,\n 3278365165924196,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 962165956135846,\n 1116599660248791,\n 182090178006815,\n 1455605467021751,\n 196053588803284,\n ]),\n xy2d: FieldElement51::from_limbs([\n 796863823080135,\n 1897365583584155,\n 420466939481601,\n 2165972651724672,\n 932177357788289,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 877047233620613,\n 1375632631944375,\n 2895573425567369,\n 2911822552533124,\n 2271153746017078,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2216943882299338,\n 394841323190322,\n 2222656898319671,\n 558186553950529,\n 1077236877025190,\n ]),\n xy2d: FieldElement51::from_limbs([\n 801118384953213,\n 1914330175515892,\n 574541023311511,\n 1471123787903705,\n 1526158900256288,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3201417702772463,\n 2207116611267330,\n 3164719852826535,\n 2752958352884036,\n 2314162374456719,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1474518386765335,\n 1760793622169197,\n 1157399790472736,\n 1622864308058898,\n 165428294422792,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1961673048027128,\n 102619413083113,\n 1051982726768458,\n 1603657989805485,\n 1941613251499678,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1401939116319247,\n 2587106153588320,\n 2323846009771033,\n 862423201496005,\n 3102318568216632,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1234706593321979,\n 1083343891215917,\n 898273974314935,\n 1640859118399498,\n 157578398571149,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1143483057726416,\n 1992614991758919,\n 674268662140796,\n 1773370048077526,\n 674318359920189,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1835401379538542,\n 173900035308392,\n 818247630716732,\n 4013900225838034,\n 1021506399448290,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1506632088156630,\n 2127481795522179,\n 513812919490255,\n 140643715928370,\n 442476620300318,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2056683376856736,\n 219094741662735,\n 2193541883188309,\n 1841182310235800,\n 556477468664293,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3566819241596075,\n 1049075855992602,\n 4318372866671791,\n 2518704280870781,\n 2040482348591519,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 94096246544434,\n 922482381166992,\n 24517828745563,\n 2139430508542503,\n 2097139044231004,\n ]),\n xy2d: FieldElement51::from_limbs([\n 537697207950515,\n 1399352016347350,\n 1563663552106345,\n 2148749520888918,\n 549922092988516,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1747985413252415,\n 680511052635695,\n 1809559829982725,\n 2846074064615302,\n 2453472984431229,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 323583936109569,\n 1973572998577657,\n 1192219029966558,\n 79354804385273,\n 1374043025560347,\n ]),\n xy2d: FieldElement51::from_limbs([\n 213277331329947,\n 416202017849623,\n 1950535221091783,\n 1313441578103244,\n 2171386783823658,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2440888617915079,\n 993969372859109,\n 3147669935222235,\n 3799101348983503,\n 1477373024911349,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1620578418245010,\n 541035331188469,\n 2235785724453865,\n 2154865809088198,\n 1974627268751826,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1346805451740245,\n 1350981335690626,\n 942744349501813,\n 2155094562545502,\n 1012483751693409,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2107080134091762,\n 1132567062788208,\n 1824935377687210,\n 769194804343737,\n 1857941799971888,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1074666112436467,\n 249279386739593,\n 1174337926625354,\n 1559013532006480,\n 1472287775519121,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1872620123779532,\n 1892932666768992,\n 1921559078394978,\n 1270573311796160,\n 1438913646755037,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3089190001333428,\n 3264053113908846,\n 989780015893986,\n 1351393287739814,\n 2580427560230798,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1028328827183114,\n 1711043289969857,\n 1350832470374933,\n 1923164689604327,\n 1495656368846911,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1900828492104143,\n 430212361082163,\n 687437570852799,\n 832514536673512,\n 1685641495940794,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3094432661621646,\n 605670026766215,\n 290836444839585,\n 2415010588577604,\n 2213815011799644,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1176336383453996,\n 1725477294339771,\n 12700622672454,\n 678015708818208,\n 162724078519879,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1448049969043497,\n 1789411762943521,\n 385587766217753,\n 90201620913498,\n 832999441066823,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2767886146978542,\n 2240508292484615,\n 3603469341851756,\n 3475055379001735,\n 3002035638112385,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1263624896582495,\n 1102602401673328,\n 526302183714372,\n 2152015839128799,\n 1483839308490010,\n ]),\n xy2d: FieldElement51::from_limbs([\n 442991718646863,\n 1599275157036458,\n 1925389027579192,\n 899514691371390,\n 350263251085160,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1689713572022124,\n 2845654372939621,\n 3229894858477217,\n 1985127338729498,\n 3927868934032873,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1557207018622683,\n 340631692799603,\n 1477725909476187,\n 614735951619419,\n 2033237123746766,\n ]),\n xy2d: FieldElement51::from_limbs([\n 968764929340557,\n 1225534776710944,\n 662967304013036,\n 1155521416178595,\n 791142883466590,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1487081286167458,\n 3244839255500182,\n 1792378982844639,\n 2950452258685122,\n 2153908693179753,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1123181311102823,\n 685575944875442,\n 507605465509927,\n 1412590462117473,\n 568017325228626,\n ]),\n xy2d: FieldElement51::from_limbs([\n 560258797465417,\n 2193971151466401,\n 1824086900849026,\n 579056363542056,\n 1690063960036441,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1918407319222397,\n 2605567366745211,\n 1930426334528098,\n 1564816146005724,\n 4113142195393344,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2131325168777276,\n 1176636658428908,\n 1756922641512981,\n 1390243617176012,\n 1966325177038383,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2063958120364491,\n 2140267332393533,\n 699896251574968,\n 273268351312140,\n 375580724713232,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2024297515263178,\n 2668759143407935,\n 3330814048702549,\n 2423412039258430,\n 1031677520051052,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2033900009388450,\n 1744902869870788,\n 2190580087917640,\n 1949474984254121,\n 231049754293748,\n ]),\n xy2d: FieldElement51::from_limbs([\n 343868674606581,\n 550155864008088,\n 1450580864229630,\n 481603765195050,\n 896972360018042,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2151139328380127,\n 2566545695770176,\n 2311556639460451,\n 1676664391494650,\n 2048348075599360,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1528930066340597,\n 1605003907059576,\n 1055061081337675,\n 1458319101947665,\n 1234195845213142,\n ]),\n xy2d: FieldElement51::from_limbs([\n 830430507734812,\n 1780282976102377,\n 1425386760709037,\n 362399353095425,\n 2168861579799910,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3407562046415562,\n 980662895504005,\n 2053766700883521,\n 2742766027762854,\n 2762205690726604,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1683750316716132,\n 652278688286128,\n 1221798761193539,\n 1897360681476669,\n 319658166027343,\n ]),\n xy2d: FieldElement51::from_limbs([\n 618808732869972,\n 72755186759744,\n 2060379135624181,\n 1730731526741822,\n 48862757828238,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3714971784278753,\n 3394840525452699,\n 614590986558882,\n 1409210575145591,\n 1882816996436803,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2230133264691131,\n 563950955091024,\n 2042915975426398,\n 827314356293472,\n 672028980152815,\n ]),\n xy2d: FieldElement51::from_limbs([\n 264204366029760,\n 1654686424479449,\n 2185050199932931,\n 2207056159091748,\n 506015669043634,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1784446333136550,\n 1973746527984364,\n 334856327359575,\n 3408569589569858,\n 3275749938360725,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2065270940578383,\n 31477096270353,\n 306421879113491,\n 181958643936686,\n 1907105536686083,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1496516440779464,\n 1748485652986458,\n 872778352227340,\n 818358834654919,\n 97932669284220,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2723435829455580,\n 2924255216478824,\n 1804995246884102,\n 1842309243470804,\n 3753662318666930,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1013216974933691,\n 538921919682598,\n 1915776722521558,\n 1742822441583877,\n 1886550687916656,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2094270000643336,\n 303971879192276,\n 40801275554748,\n 649448917027930,\n 1818544418535447,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2241737709499146,\n 549397817447461,\n 838180519319392,\n 1725686958520781,\n 3957438894582995,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1216074541925116,\n 50120933933509,\n 1565829004133810,\n 721728156134580,\n 349206064666188,\n ]),\n xy2d: FieldElement51::from_limbs([\n 948617110470858,\n 346222547451945,\n 1126511960599975,\n 1759386906004538,\n 493053284802266,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1454933046815146,\n 3126495827951610,\n 1467170975468587,\n 1432316382418897,\n 2111710746366763,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2105387117364450,\n 1996463405126433,\n 1303008614294500,\n 851908115948209,\n 1353742049788635,\n ]),\n xy2d: FieldElement51::from_limbs([\n 750300956351719,\n 1487736556065813,\n 15158817002104,\n 1511998221598392,\n 971739901354129,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1874648163531674,\n 2124487685930551,\n 1810030029384882,\n 918400043048335,\n 2838148440985898,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1235084464747900,\n 1166111146432082,\n 1745394857881591,\n 1405516473883040,\n 4463504151617,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1663810156463827,\n 327797390285791,\n 1341846161759410,\n 1964121122800605,\n 1747470312055380,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 660005247548214,\n 2071860029952887,\n 3610548013635355,\n 911703252219106,\n 3266179736709079,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2206641276178231,\n 1690587809721504,\n 1600173622825126,\n 2156096097634421,\n 1106822408548216,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1344788193552206,\n 1949552134239140,\n 1735915881729557,\n 675891104100469,\n 1834220014427292,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1920949492387945,\n 2410685102072778,\n 2322108077349280,\n 2877838278583064,\n 3719881539786256,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 622221042073383,\n 1210146474039168,\n 1742246422343683,\n 1403839361379025,\n 417189490895736,\n ]),\n xy2d: FieldElement51::from_limbs([\n 22727256592983,\n 168471543384997,\n 1324340989803650,\n 1839310709638189,\n 504999476432775,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3565040332441556,\n 1721896294296941,\n 2304063388272514,\n 2065069734239231,\n 3056710287109878,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1337466662091884,\n 1287645354669772,\n 2018019646776184,\n 652181229374245,\n 898011753211715,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1969792547910734,\n 779969968247557,\n 2011350094423418,\n 1823964252907487,\n 1058949448296945,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2459143550747250,\n 1118176942430252,\n 3010694408233412,\n 806764629546265,\n 1157700123092949,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1273565321399022,\n 1638509681964574,\n 759235866488935,\n 666015124346707,\n 897983460943405,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1717263794012298,\n 1059601762860786,\n 1837819172257618,\n 1054130665797229,\n 680893204263559,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2237039662793603,\n 2249022333361206,\n 2058613546633703,\n 2401253908530527,\n 2215176649164581,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 79472182719605,\n 1851130257050174,\n 1825744808933107,\n 821667333481068,\n 781795293511946,\n ]),\n xy2d: FieldElement51::from_limbs([\n 755822026485370,\n 152464789723500,\n 1178207602290608,\n 410307889503239,\n 156581253571278,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3669985309815545,\n 2736319981413860,\n 3898537095128197,\n 3653287498355512,\n 1349185550126960,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1495380034400429,\n 325049476417173,\n 46346894893933,\n 1553408840354856,\n 828980101835683,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1280337889310282,\n 2070832742866672,\n 1640940617225222,\n 2098284908289951,\n 450929509534434,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2659503167684029,\n 2378371955168899,\n 2537839641198868,\n 1999255076709337,\n 2030511179441770,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1254958221100483,\n 1153235960999843,\n 942907704968834,\n 637105404087392,\n 1149293270147267,\n ]),\n xy2d: FieldElement51::from_limbs([\n 894249020470196,\n 400291701616810,\n 406878712230981,\n 1599128793487393,\n 1145868722604026,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3749755063888563,\n 2361916158338507,\n 1128535642171975,\n 1900106496009660,\n 2381592531146157,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 452487513298665,\n 1352120549024569,\n 1173495883910956,\n 1999111705922009,\n 367328130454226,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1717539401269642,\n 1475188995688487,\n 891921989653942,\n 836824441505699,\n 1885988485608364,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3493583935107776,\n 2439136865632830,\n 3370281625921440,\n 2680547565621609,\n 2282158712612572,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2022432361201842,\n 1088816090685051,\n 1977843398539868,\n 1854834215890724,\n 564238862029357,\n ]),\n xy2d: FieldElement51::from_limbs([\n 938868489100585,\n 1100285072929025,\n 1017806255688848,\n 1957262154788833,\n 152787950560442,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3119119231364171,\n 2872271776627789,\n 2477832016990963,\n 2593801257642876,\n 1761675818237335,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1295072362439987,\n 931227904689414,\n 1355731432641687,\n 922235735834035,\n 892227229410209,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1680989767906154,\n 535362787031440,\n 2136691276706570,\n 1942228485381244,\n 1267350086882274,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2617818047455756,\n 2684460443440843,\n 2378209521329782,\n 1973842949591661,\n 2897427157127624,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 535509430575217,\n 546885533737322,\n 1524675609547799,\n 2138095752851703,\n 1260738089896827,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1159906385590467,\n 2198530004321610,\n 714559485023225,\n 81880727882151,\n 1484020820037082,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1377485731340769,\n 2046328105512000,\n 1802058637158797,\n 2313945950453421,\n 1356993908853900,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2013612215646735,\n 1830770575920375,\n 536135310219832,\n 609272325580394,\n 270684344495013,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1237542585982777,\n 2228682050256790,\n 1385281931622824,\n 593183794882890,\n 493654978552689,\n ]),\n },\n ]),\n LookupTable([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2299141301692989,\n 1891414891220256,\n 983894663308928,\n 2427961581972066,\n 3378060928864955,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1694030170963455,\n 502038567066200,\n 1691160065225467,\n 949628319562187,\n 275110186693066,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1124515748676336,\n 1661673816593408,\n 1499640319059718,\n 1584929449166988,\n 558148594103306,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1784525599998356,\n 1619698033617383,\n 2097300287550715,\n 2510065271789004,\n 1905684794832757,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1288941072872766,\n 931787902039402,\n 190731008859042,\n 2006859954667190,\n 1005931482221702,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1465551264822703,\n 152905080555927,\n 680334307368453,\n 173227184634745,\n 666407097159852,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2111017076203943,\n 3630560299479595,\n 1248583954016455,\n 3604089008549670,\n 1895180776543895,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 171348223915638,\n 662766099800389,\n 462338943760497,\n 466917763340314,\n 656911292869115,\n ]),\n xy2d: FieldElement51::from_limbs([\n 488623681976577,\n 866497561541722,\n 1708105560937768,\n 1673781214218839,\n 1506146329818807,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2412225278142205,\n 950394373239688,\n 2682296937026182,\n 711676555398831,\n 320964687779005,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 988979367990485,\n 1359729327576302,\n 1301834257246029,\n 294141160829308,\n 29348272277475,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1434382743317910,\n 100082049942065,\n 221102347892623,\n 186982837860588,\n 1305765053501834,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2205916462268190,\n 2751663643476068,\n 961960554686615,\n 2409862576442233,\n 1841471168298304,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1191737341426592,\n 1847042034978363,\n 1382213545049056,\n 1039952395710448,\n 788812858896859,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1346965964571152,\n 1291881610839830,\n 2142916164336056,\n 786821641205979,\n 1571709146321039,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 787164375951248,\n 2454669019058437,\n 3608390234717387,\n 1431233331032509,\n 786341368775957,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 492448143532951,\n 304105152670757,\n 1761767168301056,\n 233782684697790,\n 1981295323106089,\n ]),\n xy2d: FieldElement51::from_limbs([\n 665807507761866,\n 1343384868355425,\n 895831046139653,\n 439338948736892,\n 1986828765695105,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3007896024559801,\n 1721699973539148,\n 2510565115413133,\n 1390588532210644,\n 1212530909934781,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 852891097972275,\n 1816988871354562,\n 1543772755726524,\n 1174710635522444,\n 202129090724628,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1205281565824323,\n 22430498399418,\n 992947814485516,\n 1392458699738672,\n 688441466734558,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3302427242100220,\n 1955849529137134,\n 2171162376368357,\n 2343545681983462,\n 447733118757825,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1287181461435438,\n 622722465530711,\n 880952150571872,\n 741035693459198,\n 311565274989772,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1003649078149734,\n 545233927396469,\n 1849786171789880,\n 1318943684880434,\n 280345687170552,\n ]),\n },\n ]),\n]);\n\n/// Odd multiples of the basepoint `[B, 3B, 5B, 7B, 9B, 11B, 13B, 15B, ..., 127B]`.\n#[cfg(feature = \"precomputed-tables\")]\n#[allow(dead_code)]\npub(crate) const AFFINE_ODD_MULTIPLES_OF_BASEPOINT: NafLookupTable8 =\n NafLookupTable8([\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3540182452943730,\n 2497478415033846,\n 2521227595762870,\n 1462984067271729,\n 2389212253076811,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 62697248952638,\n 204681361388450,\n 631292143396476,\n 338455783676468,\n 1213667448819585,\n ]),\n xy2d: FieldElement51::from_limbs([\n 301289933810280,\n 1259582250014073,\n 1422107436869536,\n 796239922652654,\n 1953934009299142,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1601611775252272,\n 1720807796594148,\n 1132070835939856,\n 3512254832574799,\n 2147779492816910,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 316559037616741,\n 2177824224946892,\n 1459442586438991,\n 1461528397712656,\n 751590696113597,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1850748884277385,\n 1200145853858453,\n 1068094770532492,\n 672251375690438,\n 1586055907191707,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 769950342298400,\n 2384754244604994,\n 3095885746880802,\n 3225892188161580,\n 2977876099231263,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 425251763115706,\n 608463272472562,\n 442562545713235,\n 837766094556764,\n 374555092627893,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1086255230780037,\n 274979815921559,\n 1960002765731872,\n 929474102396301,\n 1190409889297339,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2916800678241215,\n 2065379846933858,\n 2622030924071124,\n 2602788184473875,\n 1233371373142984,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2019367628972465,\n 676711900706637,\n 110710997811333,\n 1108646842542025,\n 517791959672113,\n ]),\n xy2d: FieldElement51::from_limbs([\n 965130719900578,\n 247011430587952,\n 526356006571389,\n 91986625355052,\n 2157223321444601,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1802695059464988,\n 1664899123557221,\n 2845359304426105,\n 2160434469266658,\n 3179370264440279,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1725674970513508,\n 1933645953859181,\n 1542344539275782,\n 1767788773573747,\n 1297447965928905,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1381809363726107,\n 1430341051343062,\n 2061843536018959,\n 1551778050872521,\n 2036394857967624,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4222693909998302,\n 2779866139518454,\n 1619374932191226,\n 2207306624415883,\n 1169170329061080,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2070390218572616,\n 1458919061857835,\n 624171843017421,\n 1055332792707765,\n 433987520732508,\n ]),\n xy2d: FieldElement51::from_limbs([\n 893653801273833,\n 1168026499324677,\n 1242553501121234,\n 1306366254304474,\n 1086752658510815,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2465253816303469,\n 3191571337672685,\n 1159882208056013,\n 2569188183312765,\n 621213314200686,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1971678598905747,\n 338026507889165,\n 762398079972271,\n 655096486107477,\n 42299032696322,\n ]),\n xy2d: FieldElement51::from_limbs([\n 177130678690680,\n 1754759263300204,\n 1864311296286618,\n 1180675631479880,\n 1292726903152791,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1913163449625248,\n 2712579013977241,\n 2193883288642313,\n 1008900146920800,\n 1721983679009502,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1070401523076875,\n 1272492007800961,\n 1910153608563310,\n 2075579521696771,\n 1191169788841221,\n ]),\n xy2d: FieldElement51::from_limbs([\n 692896803108118,\n 500174642072499,\n 2068223309439677,\n 1162190621851337,\n 1426986007309901,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1819621230288238,\n 2735700366193240,\n 1755134670739586,\n 3080648199451191,\n 4172807995775876,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 992069868904071,\n 799011518185730,\n 1777586403832768,\n 1134820506145684,\n 1999461475558530,\n ]),\n xy2d: FieldElement51::from_limbs([\n 425204543703124,\n 2040469794090382,\n 1651690622153809,\n 1500530168597569,\n 1253908377065966,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2105824306960939,\n 1387520302709358,\n 3633176580451016,\n 2211816663841753,\n 1629085891776489,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1485201376284999,\n 1022406647424656,\n 504181009209019,\n 962621520820995,\n 590876713147230,\n ]),\n xy2d: FieldElement51::from_limbs([\n 265873406365287,\n 1192742653492898,\n 88553098803050,\n 525037770869640,\n 1266933811251234,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3552316659826612,\n 1254279525791875,\n 1609927932077699,\n 3578654071679972,\n 3750681296069893,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 37186803519861,\n 1404297334376301,\n 578519728836650,\n 1740727951192592,\n 2095534282477028,\n ]),\n xy2d: FieldElement51::from_limbs([\n 833234263154399,\n 2023862470013762,\n 1854137933982069,\n 853924318090959,\n 1589812702805850,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3679150557957763,\n 1319179453661745,\n 497496853611112,\n 2665464286942351,\n 1208137952365560,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1654513078530905,\n 907489875842908,\n 126098711296368,\n 1726320004173677,\n 28269495058173,\n ]),\n xy2d: FieldElement51::from_limbs([\n 114436686957443,\n 532739313025996,\n 115428841215897,\n 2191499400074366,\n 370280402676434,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1111146849833253,\n 2016430049079759,\n 1860522747477948,\n 3537164738290194,\n 4137142824844184,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 429069864577128,\n 975327637149449,\n 237881983565075,\n 1654761232378630,\n 2122527599091807,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2093793463548278,\n 754827233241879,\n 1420389751719629,\n 1829952782588138,\n 2011865756773717,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 676293365438898,\n 2850296017886344,\n 1205350322490195,\n 2763699392265669,\n 2133931188538142,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 48340340349120,\n 1299261101494832,\n 1137329686775218,\n 1534848106674340,\n 1351662218216799,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1904520614137939,\n 1590301001714014,\n 215781420985270,\n 2043534301034629,\n 1970888949300424,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2365217962409710,\n 2061307169694064,\n 1887478590157603,\n 2169639621284316,\n 2373810867477200,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1020052624656948,\n 1260412094216707,\n 366721640607121,\n 585331442306596,\n 345876457758061,\n ]),\n xy2d: FieldElement51::from_limbs([\n 975390299880933,\n 1066555195234642,\n 12651997758352,\n 1184252205433068,\n 1058378155074223,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1431537716602643,\n 2024827957433813,\n 3746434518400495,\n 1087794891033550,\n 2156817571680455,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 929288033346881,\n 255179964546973,\n 711057989588035,\n 208899572612840,\n 185348357387383,\n ]),\n xy2d: FieldElement51::from_limbs([\n 823689746424808,\n 47266130989546,\n 209403309368097,\n 1100966895202707,\n 710792075292719,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2311213117823762,\n 3296668540922318,\n 2004276520649823,\n 1861500579441125,\n 3148029033359833,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1563693677475261,\n 1843782073741194,\n 1950700654453170,\n 911540858113949,\n 2085151496302359,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1427880892005482,\n 106216431121745,\n 42608394782284,\n 1217295886989793,\n 1514235272796882,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3544335535746750,\n 2367994491347456,\n 2567261456502612,\n 1854058085060971,\n 2263545563461076,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 787426011300053,\n 2105981035769060,\n 1130476291127206,\n 1748659348100075,\n 53470983013756,\n ]),\n xy2d: FieldElement51::from_limbs([\n 553548273865386,\n 5927805718390,\n 65184587381926,\n 633576679686953,\n 576048559439973,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 993787326657446,\n 3868807161609258,\n 1615796046728943,\n 2514644292681953,\n 2059021068660907,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 251010270518880,\n 1681684095763484,\n 1521949356387564,\n 431593457045116,\n 1855308922422910,\n ]),\n xy2d: FieldElement51::from_limbs([\n 618490909691959,\n 1257497595618257,\n 202952467594088,\n 35577762721238,\n 1494883566841973,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1673474571932262,\n 2409784519770613,\n 2636095316260487,\n 2761112584601925,\n 3333713288149876,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1600640202645197,\n 1019569075331823,\n 1041916487915822,\n 1680448171313267,\n 2126903137527901,\n ]),\n xy2d: FieldElement51::from_limbs([\n 894964745143659,\n 106116880092678,\n 1009869382959477,\n 317866368542032,\n 1986983122763912,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1765281781276487,\n 2863247187455184,\n 2589075472439062,\n 1386435905543054,\n 2182338478845320,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1144730936996693,\n 2213315231278180,\n 1489676672185125,\n 665039429138074,\n 1131283313040268,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2004734176670602,\n 1738311085075235,\n 418866995976618,\n 1050782508034394,\n 577747313404652,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2185209688340293,\n 1309276076461009,\n 2514740038571278,\n 3994889904012999,\n 3018098826231021,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1405936970888515,\n 1754621155316654,\n 1211862168554999,\n 1813045702919083,\n 997853418197172,\n ]),\n xy2d: FieldElement51::from_limbs([\n 82037622045021,\n 1646398333621944,\n 613095452763466,\n 1312329542583705,\n 81014679202721,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2389287991277873,\n 403851022333257,\n 1597473361477193,\n 2953351602509212,\n 2135174663049062,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1826548187201150,\n 302299893734126,\n 1475477168615781,\n 842617616347376,\n 1438600873676130,\n ]),\n xy2d: FieldElement51::from_limbs([\n 663049852468609,\n 1649295727846569,\n 1048009692742781,\n 628866177992421,\n 1914360327429204,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1795645928096646,\n 306878154408959,\n 2924901319092394,\n 2801261341654799,\n 1653782432983523,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2077597317438627,\n 212642017882064,\n 674844477518888,\n 875487498687554,\n 2060550250171182,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1420448018683809,\n 1032663994771382,\n 1341927003385267,\n 1340360916546159,\n 1988547473895228,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1082660122598844,\n 2545055705583789,\n 3888919679589007,\n 1670283344995811,\n 3403239134794618,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 90430593339788,\n 1838338032241275,\n 571293238480915,\n 1639938867416883,\n 257378872001111,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1528535658865034,\n 1516636853043960,\n 787000569996728,\n 1464531394704506,\n 1684822625133795,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 811329918113934,\n 2783463529007378,\n 1769095754634835,\n 2970819621866866,\n 881037178164325,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1784566501964517,\n 433890943689325,\n 1186055625589419,\n 1496077405487512,\n 1731807117886548,\n ]),\n xy2d: FieldElement51::from_limbs([\n 424909811816304,\n 1355993963741797,\n 409606483251841,\n 455665350637068,\n 1617009023642808,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2478728492077816,\n 2780289048655501,\n 2328687177473769,\n 4107341333582032,\n 1316147724308250,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1617420574301156,\n 1741273341070467,\n 667135503486508,\n 2100436564640123,\n 1032223920000865,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1753947659404033,\n 247279202390193,\n 1819288880178945,\n 737334285670249,\n 1037873664856104,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1762568490530034,\n 673742465299012,\n 2054571050635888,\n 2040165159255111,\n 3040123733327257,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1627187989987422,\n 1686331580821752,\n 1309895873498183,\n 719718719104086,\n 300063199808722,\n ]),\n xy2d: FieldElement51::from_limbs([\n 238176707016164,\n 1440454788877048,\n 203336037573144,\n 1437789888677072,\n 101522256664211,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1895216760098480,\n 1934324337975022,\n 3677350688973167,\n 2536415965456176,\n 714678003308640,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 508185358728815,\n 1691320535341855,\n 2168887448239256,\n 1035124393070661,\n 1936603999698584,\n ]),\n xy2d: FieldElement51::from_limbs([\n 390562831571647,\n 1390223890708972,\n 1383183990676371,\n 435998174196410,\n 1882086414390730,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3747620842612921,\n 2081794785291195,\n 3284594056262745,\n 2090090346797895,\n 2581692978935809,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 244144781251265,\n 1290834426417077,\n 1888701171101942,\n 1233922456644870,\n 241117402207491,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1266169390045455,\n 1148042013187970,\n 878921907853942,\n 1815738019658093,\n 908920199341621,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2521768507305118,\n 953557056811112,\n 2015863732865770,\n 1358382511861315,\n 2835421647899992,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2239837206240498,\n 330928973149665,\n 422268062913642,\n 1481280019493032,\n 619879520439841,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1360166735366017,\n 1770556573948510,\n 1395061284191031,\n 1814003148068126,\n 522781147076884,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2611794802645686,\n 707234844948070,\n 1314059396506491,\n 2919250341703934,\n 2161831667832785,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 934831784182383,\n 433734253968318,\n 1660867106725771,\n 1968393082772831,\n 873946300968490,\n ]),\n xy2d: FieldElement51::from_limbs([\n 26306827827554,\n 430884999378685,\n 1504310424376419,\n 1761358720837522,\n 542195685418530,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1762131062631725,\n 3123952634417535,\n 3619918390837537,\n 2909990877347294,\n 1411594230004385,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 538272372224622,\n 1425714779586199,\n 588313661410172,\n 1497062084392578,\n 1602174047128512,\n ]),\n xy2d: FieldElement51::from_limbs([\n 907490361939255,\n 1963620338391363,\n 626927432296975,\n 1250748516081414,\n 959901171882527,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1335066153744413,\n 2887804660779657,\n 2653073855954038,\n 2765226981667422,\n 938831784476763,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 296699434737224,\n 2047543711075683,\n 2076451038937139,\n 227783599906901,\n 1602062110967627,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1574834773194203,\n 1384279952062839,\n 393652417255803,\n 2166968242848859,\n 1552890441390820,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1619646774410947,\n 1576090644023562,\n 3035228391320965,\n 1735328519940543,\n 2355324535937066,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1024074573633446,\n 957088456885874,\n 1690425531356997,\n 2102187380180052,\n 1082544623222033,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1871906170635853,\n 1719383891167200,\n 1584032250247862,\n 823764804192117,\n 2244048510084261,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 642147846489775,\n 3334304977145699,\n 305205716788147,\n 2589176626729533,\n 2224680511484174,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1734162377166545,\n 260713621840346,\n 157174591942595,\n 952544272517991,\n 222818702471733,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1213115494182947,\n 286778704335711,\n 2130189536016490,\n 308349182281342,\n 1217623948685491,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3360052266973635,\n 1843486583624091,\n 1561693837124349,\n 1084041964025479,\n 1866270922024009,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 460705465481210,\n 1968151453817859,\n 497005926994844,\n 625618055866751,\n 2176893440866887,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1655800250476757,\n 2036588542300609,\n 666447448675243,\n 1615721995750683,\n 1508669225186765,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2245948203759141,\n 1058306669699396,\n 1452898014240582,\n 3961024141962768,\n 1633235287338608,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 986647273684279,\n 1507266907811370,\n 1260572633649005,\n 2071672342077446,\n 695976026010857,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1312356620823495,\n 1635278548098567,\n 901946076841033,\n 585120475533168,\n 1240667113237384,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2313723935779695,\n 1506054666773895,\n 996040223525031,\n 636592914999692,\n 1497801917020297,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 292042016419794,\n 1158932298133044,\n 2062611870323738,\n 1946058478962569,\n 1749165808126286,\n ]),\n xy2d: FieldElement51::from_limbs([\n 654683942212830,\n 1526897351349087,\n 2006818439922838,\n 2194919327350361,\n 1451960776874416,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3015041017808905,\n 2951823141773809,\n 2584865668253675,\n 2508192032998563,\n 2582137700042019,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1628123495344283,\n 2072923641214546,\n 1647225812023982,\n 855655925244679,\n 1758126430071140,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1615895096489599,\n 275295258643784,\n 937665541219916,\n 1313496726746346,\n 1186468946422626,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1603070202850694,\n 2072127623773242,\n 1692648737212158,\n 2493373404187852,\n 1248948672117105,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 11167836031898,\n 596565174397990,\n 2196351068723859,\n 314744641791907,\n 1102014997250781,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1409047922401191,\n 69960384467966,\n 688103515547600,\n 1309746102488044,\n 150292892873778,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1986083055103168,\n 691715819340300,\n 1361811659746933,\n 3459052030333434,\n 1063594696046061,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1201987338414749,\n 2198784582460616,\n 1203335513981498,\n 489243077045066,\n 2205278143582433,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2034744376624534,\n 2077387101466387,\n 148448542974969,\n 1502697574577258,\n 473186584705655,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 472016956315960,\n 720786972252993,\n 2840633661190043,\n 3150798753357827,\n 2816563335499153,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 253464247569755,\n 168314237403057,\n 511780806170295,\n 1058862316549135,\n 1646858476817137,\n ]),\n xy2d: FieldElement51::from_limbs([\n 595092995922219,\n 1491311840717691,\n 291581784452778,\n 1569186646367854,\n 1031385061400544,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3483137021572755,\n 1526955102024322,\n 2778006642704458,\n 457549634924205,\n 1097420237736736,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1246991699537710,\n 81367319519439,\n 530844036072196,\n 163656863755855,\n 1950742455979290,\n ]),\n xy2d: FieldElement51::from_limbs([\n 191532664076407,\n 539378506082089,\n 1021612562876554,\n 1026603384732632,\n 1773368780410653,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 4144620731387879,\n 590179521333342,\n 4034023318016108,\n 2255745030335426,\n 2699746851701250,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2206599697359952,\n 553895797384417,\n 181689161933786,\n 1153123447919104,\n 778568064152659,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1706307000059211,\n 1885601289314487,\n 889758608505788,\n 550131729999853,\n 1006862664714268,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3210197754285058,\n 2048500453422630,\n 3403309827888207,\n 927154428508963,\n 4199813798872019,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 992058915374933,\n 476120535358775,\n 1973648780784340,\n 2025282643598818,\n 2182318983793230,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1343440812005821,\n 1316045839091795,\n 1884951299078063,\n 1765919609219175,\n 2197567554627988,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3129247779382818,\n 4415026969054274,\n 1900265885969643,\n 1528796215447059,\n 2172730393748688,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1773355092297603,\n 64654329538271,\n 1332124041660957,\n 748492100858001,\n 895500006200535,\n ]),\n xy2d: FieldElement51::from_limbs([\n 2000840647851980,\n 546565968824914,\n 420633283457524,\n 195470736374507,\n 1958689297569520,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 743138980705446,\n 3411117504637167,\n 2591389959690621,\n 2380042066577202,\n 3022267940115114,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 165947002229363,\n 115186103724967,\n 1068573292121517,\n 1842565776920938,\n 1969395681111987,\n ]),\n xy2d: FieldElement51::from_limbs([\n 553322266190633,\n 234265665613185,\n 484544650202821,\n 1238773526575826,\n 2017991917953668,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2581954631514051,\n 1245093644265357,\n 3537016673825374,\n 1834216551713857,\n 923978372152807,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1855378315339552,\n 890045579230758,\n 1764718173975590,\n 197904186055854,\n 1718129022310327,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1278162928734862,\n 1894118254109862,\n 987503995465517,\n 177406744098996,\n 781538103127693,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1996603431230215,\n 1191888797552937,\n 1207440075928499,\n 2765853449051137,\n 2525314961343288,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 808903879370889,\n 990820108751280,\n 1084429472258867,\n 1078562781312589,\n 254514692695625,\n ]),\n xy2d: FieldElement51::from_limbs([\n 615855140068469,\n 586046731175395,\n 693470779212674,\n 1964537100203868,\n 1350330550265229,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3344544372023708,\n 720386671449874,\n 2480841360702110,\n 2036034126860286,\n 2015744690201389,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1337446193390478,\n 1984110761311871,\n 746489405020285,\n 407347127604128,\n 1740475330360596,\n ]),\n xy2d: FieldElement51::from_limbs([\n 140840424783613,\n 1063284623568331,\n 1136446106453878,\n 372042229029799,\n 442607248430694,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2330781679120937,\n 376801425148230,\n 2032603686676107,\n 1488926293635130,\n 1317278311532959,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1290116731380016,\n 2166899563471713,\n 831997001838078,\n 870954980505220,\n 2108537278055823,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1912719171026343,\n 846194720551034,\n 2043988124740726,\n 993234269653961,\n 421229796383281,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2651184584992902,\n 2775702557638963,\n 2539786009779572,\n 2575974880015305,\n 2122619079836732,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1154054290132562,\n 931753998725577,\n 1647742001778052,\n 865765466488226,\n 1083816107290025,\n ]),\n xy2d: FieldElement51::from_limbs([\n 986341121095108,\n 1522330369638573,\n 1990880546211047,\n 501525962272123,\n 198539304862139,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1496414019192687,\n 3991034436173951,\n 3380311659062196,\n 2854747485359158,\n 3346958036643152,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 805612068303425,\n 1891790027761335,\n 1587008567571549,\n 722120737390201,\n 378156757163816,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1588994517921951,\n 977362751042302,\n 1329302387067714,\n 2069348224564088,\n 1586007159625211,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2490539421551682,\n 1985699850375015,\n 2331762317128172,\n 4145097393776678,\n 2521049460190674,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 615817553313996,\n 2245962768078178,\n 482564324326173,\n 2101336843140780,\n 1240914880829407,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1438242482238189,\n 874267817785463,\n 1620810389770625,\n 866155221338671,\n 1040426546798301,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 2403083624110300,\n 2548561409802975,\n 2492699136535911,\n 2358289519456539,\n 3203964320363148,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1913986535403097,\n 1977163223054199,\n 1972905914623196,\n 1650122133472502,\n 1905849310819035,\n ]),\n xy2d: FieldElement51::from_limbs([\n 858174816360838,\n 614595356564037,\n 1099584959044836,\n 636998087084906,\n 1070393269058348,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3666695924830668,\n 3585640662737501,\n 2372994528684236,\n 2628565977288995,\n 3482812783469694,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1994161359147952,\n 2198039369802658,\n 62790022842537,\n 1522306785848169,\n 951223194802833,\n ]),\n xy2d: FieldElement51::from_limbs([\n 852296621440717,\n 431889737774209,\n 370755457746189,\n 437604073958073,\n 627857326892757,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1794955764684156,\n 2586904290013612,\n 1322647643615887,\n 856117964085888,\n 2652432778663153,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 933592377399646,\n 78031722952813,\n 926049890685253,\n 1471649501316246,\n 33789909190376,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1479319468832059,\n 203906207621608,\n 659828362330083,\n 44358398435755,\n 1273573524210803,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1592342143350813,\n 3227219208247713,\n 2345240352078765,\n 2577750109932929,\n 2933512841197243,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2184946892642995,\n 1517382324576002,\n 1557940277419806,\n 2170635134813213,\n 747314658627002,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1823193620577742,\n 1135817878516419,\n 1731253819308581,\n 1031652967267804,\n 2123506616999453,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1346190246005805,\n 2052692552023851,\n 1718128041785940,\n 2491557332978474,\n 3474370880388305,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 424776012994573,\n 281050757243423,\n 626466040846420,\n 990194703866532,\n 38571969885982,\n ]),\n xy2d: FieldElement51::from_limbs([\n 192408346595466,\n 1054889725292349,\n 584097975693004,\n 1447909807397749,\n 2134645004369136,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3169895788615063,\n 3503097743181446,\n 601598510029975,\n 1422812237223371,\n 2121009661378329,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1603348391996783,\n 2066143816131699,\n 1789627290363958,\n 2145705961178118,\n 1985578641438222,\n ]),\n xy2d: FieldElement51::from_limbs([\n 352633958653380,\n 856927627345554,\n 793925083122702,\n 93551575767286,\n 1222010153634215,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1756866499986349,\n 911731956999969,\n 2707505543214075,\n 4006920335263786,\n 822501008147910,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1094036422864347,\n 1897208881572508,\n 1503607738246960,\n 1901060196071406,\n 294068411105729,\n ]),\n xy2d: FieldElement51::from_limbs([\n 587776484399576,\n 1116861711228807,\n 343398777436088,\n 936544065763093,\n 1643746750211060,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 3477749685790410,\n 267997399528836,\n 2953780922004404,\n 3252368924080907,\n 3787792887348381,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 2042368155872443,\n 41662387210459,\n 1676313264498480,\n 1333968523426810,\n 1765708383352310,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1453394896690938,\n 1585795827439909,\n 1469309456804303,\n 1294645324464404,\n 2042954198665899,\n ]),\n },\n AffineNielsPoint {\n y_plus_x: FieldElement51::from_limbs([\n 1810069207599881,\n 1358344669503239,\n 1989371257548167,\n 2316270051121225,\n 3019675451276507,\n ]),\n y_minus_x: FieldElement51::from_limbs([\n 1866114438287676,\n 1663420339568364,\n 1437691317033088,\n 538298302628038,\n 1212711449614363,\n ]),\n xy2d: FieldElement51::from_limbs([\n 1769235035677897,\n 1562012115317882,\n 31277513664750,\n 536198657928416,\n 1976134212537183,\n ]),\n },\n ]);\n\n/// Precomputed NafLookupTable5 for ED25519_BASEPOINT_128_POINT\n/// Contains odd multiples [1B', 3B', 5B', 7B', 9B', 11B', 13B', 15B']\n/// where B' = B * 2^128\n#[cfg(feature = \"precomputed-tables\")]\npub(crate) const AFFINE_ODD_MULTIPLES_OF_BASEPOINT_128: NafLookupTable5 =\n NafLookupTable5([\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 2736169168844485,\n 2938750579674528,\n 1463894987748877,\n 2841718686871730,\n 1985876684518203,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1840579227511262,\n 953261538178031,\n 1834370441150886,\n 1427497321143347,\n 1725682124853989,\n ]),\n Z: FieldElement51::from_limbs([\n 445134475408207,\n 1820906444767788,\n 40212681131971,\n 1448661247201044,\n 965705781338211,\n ]),\n T2d: FieldElement51::from_limbs([\n 773498901840598,\n 1322244500169520,\n 2247887491217152,\n 438555850765425,\n 2003166138168448,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 4052979773311382,\n 2779314608743045,\n 2025864608050267,\n 4239124274918649,\n 2047715283211872,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 46708290287836,\n 854678853922811,\n 473843612020374,\n 93416542836491,\n 36887865609850,\n ]),\n Z: FieldElement51::from_limbs([\n 1415283798768778,\n 558152993015714,\n 1009343863091429,\n 202683238470016,\n 1437237189863098,\n ]),\n T2d: FieldElement51::from_limbs([\n 798901183048341,\n 2088882963129737,\n 1959766260461794,\n 785983100035341,\n 1898332425873393,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 1485884064040933,\n 3544995893699855,\n 3336498043486695,\n 1676518325863799,\n 3924305903599551,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 773665168496622,\n 1762929435191211,\n 1242066992989018,\n 976919579682600,\n 1755245776095155,\n ]),\n Z: FieldElement51::from_limbs([\n 364043412623079,\n 1742274550500525,\n 1826931625194320,\n 1613487341804061,\n 1706694369057824,\n ]),\n T2d: FieldElement51::from_limbs([\n 612881112626481,\n 1851646735104528,\n 442596889481956,\n 1350586815509012,\n 139462310881258,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 1368397133953923,\n 257295989327092,\n 2151475747930859,\n 4157544636401722,\n 2431868518957253,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1086943799443606,\n 2156492892436322,\n 1304912429279094,\n 2236825713899676,\n 956336603451346,\n ]),\n Z: FieldElement51::from_limbs([\n 1435533833442335,\n 2143693239375794,\n 284803180569965,\n 1526121151845459,\n 1146944306085907,\n ]),\n T2d: FieldElement51::from_limbs([\n 746985711541365,\n 1325962113197906,\n 2066433367845509,\n 352065757310156,\n 1030077083459185,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 3242158246905157,\n 1655285217271758,\n 979176760705656,\n 2239696862950768,\n 2581654422853147,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1546547740539545,\n 1712475305386299,\n 1360625165812971,\n 1346151673524691,\n 1382871190753080,\n ]),\n Z: FieldElement51::from_limbs([\n 1301309314400143,\n 754500097438053,\n 1939065018255086,\n 827616229574117,\n 877330897268831,\n ]),\n T2d: FieldElement51::from_limbs([\n 1197188348633815,\n 659807996092455,\n 1711852247689765,\n 558583377269877,\n 99988890374241,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 2217993410898728,\n 2786874281837735,\n 277442167258821,\n 2384554073376980,\n 2273131766789461,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 109972040445858,\n 950690845410797,\n 17504561734371,\n 523897781536666,\n 750596827295120,\n ]),\n Z: FieldElement51::from_limbs([\n 54891282232941,\n 1760155098862594,\n 331491218058708,\n 1646635945464764,\n 1039579529390631,\n ]),\n T2d: FieldElement51::from_limbs([\n 1742119867631979,\n 1920835943375882,\n 1823982243967588,\n 8235830273089,\n 868879199166457,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 3550694783929828,\n 2336047885420235,\n 1565306465484489,\n 3136433856071917,\n 1830368149412737,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1774723137461971,\n 2098439526999162,\n 1474163710169650,\n 779998216757295,\n 806943695140007,\n ]),\n Z: FieldElement51::from_limbs([\n 2031052346670915,\n 25708785675631,\n 1400901524447834,\n 748277746457979,\n 1216527237136724,\n ]),\n T2d: FieldElement51::from_limbs([\n 1889193855982501,\n 1710313274081557,\n 2073215834484008,\n 1044022860024178,\n 773075805930498,\n ]),\n },\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement51::from_limbs([\n 2127006969359196,\n 2117739369058606,\n 3577576537383903,\n 2671841131559038,\n 4063127780311805,\n ]),\n Y_minus_X: FieldElement51::from_limbs([\n 1402473726670403,\n 2118415406774282,\n 135582654390618,\n 892801005112916,\n 2121295222735022,\n ]),\n Z: FieldElement51::from_limbs([\n 1578281559293828,\n 2156602763973009,\n 2209233981554667,\n 288157485447820,\n 729847524631017,\n ]),\n T2d: FieldElement51::from_limbs([\n 1551520416538582,\n 1392706341252901,\n 2044032904069908,\n 1190995531234982,\n 442600800298007,\n ]),\n },\n ]);\n"},{"id":75,"name":{"Local":"curve25519/solana-ed25519/src/constants.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n//! Various constants, such as the Ristretto and Ed25519 basepoints.\n\n#![allow(non_snake_case)]\n\nuse crate::edwards::CompressedEdwardsY;\nuse crate::montgomery::MontgomeryPoint;\nuse crate::ristretto::{CompressedRistretto, RistrettoPoint};\nuse crate::scalar::Scalar;\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::edwards::EdwardsBasepointTable;\n\npub use crate::backend::serial::u64::constants::*;\n\n/// The Ed25519 basepoint, in `CompressedEdwardsY` format.\n///\n/// This is the little-endian byte encoding of \\\\( 4/5 \\pmod p \\\\),\n/// which is the \\\\(y\\\\)-coordinate of the Ed25519 basepoint.\n///\n/// The sign bit is 0 since the basepoint has \\\\(x\\\\) chosen to be positive.\npub const ED25519_BASEPOINT_COMPRESSED: CompressedEdwardsY = CompressedEdwardsY([\n 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,\n 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,\n]);\n\n/// The X25519 basepoint, in `MontgomeryPoint` format.\npub const X25519_BASEPOINT: MontgomeryPoint = MontgomeryPoint([\n 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n]);\n\n/// The Ristretto basepoint, in `CompressedRistretto` format.\npub const RISTRETTO_BASEPOINT_COMPRESSED: CompressedRistretto = CompressedRistretto([\n 0xe2, 0xf2, 0xae, 0x0a, 0x6a, 0xbc, 0x4e, 0x71, 0xa8, 0x84, 0xa9, 0x61, 0xc5, 0x00, 0x51, 0x5f,\n 0x58, 0xe3, 0x0b, 0x6a, 0xa5, 0x82, 0xdd, 0x8d, 0xb6, 0xa6, 0x59, 0x45, 0xe0, 0x8d, 0x2d, 0x76,\n]);\n\n/// The Ristretto basepoint, as a `RistrettoPoint`.\n///\n/// This is called `_POINT` to distinguish it from `_TABLE`, which\n/// provides fast scalar multiplication.\npub const RISTRETTO_BASEPOINT_POINT: RistrettoPoint = RistrettoPoint(ED25519_BASEPOINT_POINT);\n\n/// `BASEPOINT_ORDER` is the order of the Ristretto group and of the Ed25519 basepoint, i.e.,\n/// $$\n/// \\ell = 2^\\{252\\} + 27742317777372353535851937790883648493.\n/// $$\npub(crate) const BASEPOINT_ORDER: Scalar = Scalar {\n bytes: [\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde,\n 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x10,\n ],\n};\n\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::ristretto::RistrettoBasepointTable;\n\n/// The Ristretto basepoint, as a `RistrettoBasepointTable` for scalar multiplication.\n#[cfg(feature = \"precomputed-tables\")]\npub static RISTRETTO_BASEPOINT_TABLE: &RistrettoBasepointTable = unsafe {\n // SAFETY: `RistrettoBasepointTable` is a `#[repr(transparent)]` newtype of\n // `EdwardsBasepointTable`\n &*(ED25519_BASEPOINT_TABLE as *const EdwardsBasepointTable as *const RistrettoBasepointTable)\n};\n\n#[cfg(test)]\nmod test {\n use crate::constants;\n use crate::field::FieldElement;\n use crate::traits::{IsIdentity, ValidityCheck};\n\n #[test]\n fn test_eight_torsion() {\n for i in 0..8 {\n let Q = constants::EIGHT_TORSION[i].mul_by_pow_2(3);\n assert!(Q.is_valid());\n assert!(Q.is_identity());\n }\n }\n\n #[test]\n fn test_four_torsion() {\n for i in (0..8).filter(|i| i % 2 == 0) {\n let Q = constants::EIGHT_TORSION[i].mul_by_pow_2(2);\n assert!(Q.is_valid());\n assert!(Q.is_identity());\n }\n }\n\n #[test]\n fn test_two_torsion() {\n for i in (0..8).filter(|i| i % 4 == 0) {\n let Q = constants::EIGHT_TORSION[i].mul_by_pow_2(1);\n assert!(Q.is_valid());\n assert!(Q.is_identity());\n }\n }\n\n /// Test that SQRT_M1 is the positive square root of -1\n #[test]\n fn test_sqrt_minus_one() {\n let minus_one = FieldElement::MINUS_ONE;\n let sqrt_m1_sq = &constants::SQRT_M1 * &constants::SQRT_M1;\n assert_eq!(minus_one, sqrt_m1_sq);\n assert!(bool::from(!constants::SQRT_M1.is_negative()));\n }\n\n #[test]\n fn test_sqrt_constants_sign() {\n let minus_one = FieldElement::MINUS_ONE;\n let (was_nonzero_square, invsqrt_m1) = minus_one.invsqrt();\n assert!(bool::from(was_nonzero_square));\n let sign_test_sqrt = &invsqrt_m1 * &constants::SQRT_M1;\n assert_eq!(sign_test_sqrt, minus_one);\n }\n\n /// Test that d = -121665/121666\n #[test]\n fn test_d_vs_ratio() {\n use crate::backend::serial::u64::field::FieldElement51;\n let a = -&FieldElement51([121665, 0, 0, 0, 0]);\n let b = FieldElement51([121666, 0, 0, 0, 0]);\n let d = &a * &b.invert();\n let d2 = &d + &d;\n assert_eq!(d, constants::EDWARDS_D);\n assert_eq!(d2, constants::EDWARDS_D2);\n }\n\n #[test]\n fn test_sqrt_ad_minus_one() {\n let a = FieldElement::MINUS_ONE;\n let ad_minus_one = &(&a * &constants::EDWARDS_D) + &a;\n let should_be_ad_minus_one = constants::SQRT_AD_MINUS_ONE.square();\n assert_eq!(should_be_ad_minus_one, ad_minus_one);\n }\n\n /// Test that ED25519_SQRTAM2 squared is MONTGOMERY_A_NEG - 2\n #[test]\n #[cfg(feature = \"digest\")]\n fn test_sqrt_a_minus_2() {\n let one = FieldElement::ONE;\n let a_minus_two = &(&constants::MONTGOMERY_A_NEG - &one) - &one;\n\n assert_eq!(constants::ED25519_SQRTAM2.square(), a_minus_two)\n }\n}\n"},{"id":76,"name":{"Local":"/rustc/library/core/src/ops/bit.rs"},"crate_name":"core","contents":null},{"id":77,"name":{"Local":"/rustc/library/core/src/num/niche_types.rs"},"crate_name":"core","contents":null},{"id":78,"name":{"Local":"/rustc/library/core/src/ops/control_flow.rs"},"crate_name":"core","contents":null},{"id":79,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/scalar_mul/variable_base.rs"},"crate_name":"curve25519","contents":"#![allow(non_snake_case)]\n\nuse crate::backend::serial::curve_models::ProjectiveNielsPoint;\nuse crate::edwards::EdwardsPoint;\nuse crate::scalar::Scalar;\nuse crate::traits::Identity;\nuse crate::window::LookupTable;\n\n/// Perform constant-time, variable-base scalar multiplication.\n#[rustfmt::skip] // keep alignment of explanatory comments\npub(crate) fn mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n // Construct a lookup table of [P,2P,3P,4P,5P,6P,7P,8P]\n let lookup_table = LookupTable::::from(point);\n // Setting s = scalar, compute\n //\n // s = s_0 + s_1*16^1 + ... + s_63*16^63,\n //\n // with `-8 ≤ s_i < 8` for `0 ≤ i < 63` and `-8 ≤ s_63 ≤ 8`.\n // This decomposition requires s < 2^255, which is guaranteed by Scalar invariant #1.\n let scalar_digits = scalar.as_radix_16();\n // Compute s*P as\n //\n // s*P = P*(s_0 + s_1*16^1 + s_2*16^2 + ... + s_63*16^63)\n // s*P = P*s_0 + P*s_1*16^1 + P*s_2*16^2 + ... + P*s_63*16^63\n // s*P = P*s_0 + 16*(P*s_1 + 16*(P*s_2 + 16*( ... + P*s_63)...))\n //\n // We sum right-to-left.\n\n // Unwrap first loop iteration to save computing 16*identity\n let mut tmp2;\n let mut tmp3 = EdwardsPoint::identity();\n let mut tmp1 = &tmp3 + &lookup_table.select(scalar_digits[63]);\n // Now tmp1 = s_63*P in P1xP1 coords\n for i in (0..63).rev() {\n tmp2 = tmp1.as_projective(); // tmp2 = (prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 2*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 2*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 4*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 4*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 8*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 8*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 16*(prev) in P1xP1 coords\n tmp3 = tmp1.as_extended(); // tmp3 = 16*(prev) in P3 coords\n tmp1 = &tmp3 + &lookup_table.select(scalar_digits[i]);\n // Now tmp1 = s_i*P + 16*(prev) in P1xP1 coords\n }\n tmp1.as_extended()\n}\n"},{"id":80,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/scalar_mul.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Implementations of various scalar multiplication algorithms.\n//!\n//! Note that all of these implementations use serial code for field\n//! arithmetic with the multi-model strategy described in the\n//! `curve_models` module. The vectorized AVX2 backend has its own\n//! scalar multiplication implementations, since it only uses one\n//! curve model.\n\n#[allow(missing_docs)]\npub mod variable_base;\n\n#[allow(missing_docs)]\npub mod vartime_double_base;\n\n#[allow(missing_docs)]\npub mod vartime_triple_base;\n\n#[cfg(feature = \"alloc\")]\npub mod straus;\n\n#[cfg(feature = \"alloc\")]\npub mod precomputed_straus;\n\n#[cfg(feature = \"alloc\")]\npub mod pippenger;\n"},{"id":81,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector/scalar_mul/variable_base.rs"},"crate_name":"curve25519","contents":"#![allow(non_snake_case)]\n\n#[curve25519_dalek_derive::unsafe_target_feature_specialize(\"avx2\")]\npub mod spec {\n\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::{CachedPoint, ExtendedPoint};\n\n use crate::edwards::EdwardsPoint;\n use crate::scalar::Scalar;\n use crate::traits::Identity;\n use crate::window::LookupTable;\n\n /// Perform constant-time, variable-base scalar multiplication.\n pub fn mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n // Construct a lookup table of [P,2P,3P,4P,5P,6P,7P,8P]\n let lookup_table = LookupTable::::from(point);\n // Setting s = scalar, compute\n //\n // s = s_0 + s_1*16^1 + ... + s_63*16^63,\n //\n // with `-8 ≤ s_i < 8` for `0 ≤ i < 63` and `-8 ≤ s_63 ≤ 8`.\n let scalar_digits = scalar.as_radix_16();\n // Compute s*P as\n //\n // s*P = P*(s_0 + s_1*16^1 + s_2*16^2 + ... + s_63*16^63)\n // s*P = P*s_0 + P*s_1*16^1 + P*s_2*16^2 + ... + P*s_63*16^63\n // s*P = P*s_0 + 16*(P*s_1 + 16*(P*s_2 + 16*( ... + P*s_63)...))\n //\n // We sum right-to-left.\n let mut Q = ExtendedPoint::identity();\n for i in (0..64).rev() {\n Q = Q.mul_by_pow_2(4);\n Q = &Q + &lookup_table.select(scalar_digits[i]);\n }\n Q.into()\n }\n}\n"},{"id":82,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector/scalar_mul.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Implementations of various multiplication algorithms for the SIMD backends.\n\n#[allow(missing_docs)]\npub mod variable_base;\n\n#[allow(missing_docs)]\npub mod vartime_double_base;\n\n#[allow(missing_docs)]\npub mod vartime_triple_base;\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub mod straus;\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub mod precomputed_straus;\n\n#[allow(missing_docs)]\n#[cfg(feature = \"alloc\")]\npub mod pippenger;\n"},{"id":83,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n#![doc = include_str!(\"../../docs/parallel-formulas.md\")]\n\n#[allow(missing_docs)]\npub mod packed_simd;\n\npub mod avx2;\n\npub mod scalar_mul;\n"},{"id":84,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n#![allow(non_snake_case)]\n\nuse core::cmp::Ordering;\n\nuse crate::backend::serial::curve_models::{CompletedPoint, ProjectiveNielsPoint, ProjectivePoint};\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::backend::serial::curve_models::AffineNielsPoint;\n#[cfg(feature = \"precomputed-tables\")]\nuse crate::window::NafLookupTable8;\nuse crate::constants;\nuse crate::edwards::EdwardsPoint;\nuse crate::scalar::Scalar;\nuse crate::traits::Identity;\nuse crate::window::NafLookupTable5;\n\n/// Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n\n/// AENEAS-COMPAT helper: highest index with a nonzero NAF digit (or 0).\nfn dsm_top_index(a_naf: &[i8; 256], b_naf: &[i8; 256]) -> usize {\n // AENEAS-COMPAT: always process all 256 digits. Leading zero digits\n // double the identity (a no-op), so the result of `mul` is unchanged;\n // only the variable-time skip is dropped. (The conditional-fold scan\n // fails Aeneas' loop fixed point.)\n let _ = a_naf;\n let _ = b_naf;\n 255\n}\n\n/// AENEAS-COMPAT helper: the double-and-add main loop over indices i..0,\n/// with all borrows rooted in parameters (pure refactor).\n#[cfg(feature = \"precomputed-tables\")]\nfn dsm_loop(\n i: usize,\n a_naf: &[i8; 256],\n b_naf: &[i8; 256],\n table_a: &NafLookupTable5,\n table_b: &NafLookupTable8,\n) -> ProjectivePoint {\n let mut r = ProjectivePoint::identity();\n let mut j: usize = i + 1;\n while j > 0 {\n let idx = j - 1;\n let t0 = r.double();\n let t1 = dsm_step_p(t0, table_a, a_naf[idx]);\n let t2 = dsm_step_b(t1, table_b, b_naf[idx]);\n r = t2.as_projective();\n j -= 1;\n }\n r\n}\n\n#[cfg(not(feature = \"precomputed-tables\"))]\nfn dsm_loop(\n i: usize,\n a_naf: &[i8; 256],\n b_naf: &[i8; 256],\n table_a: &NafLookupTable5,\n table_b: &NafLookupTable5,\n) -> ProjectivePoint {\n let mut r = ProjectivePoint::identity();\n let mut j: usize = i + 1;\n while j > 0 {\n let idx = j - 1;\n let t0 = r.double();\n let t1 = dsm_step_p(t0, table_a, a_naf[idx]);\n let t2 = dsm_step_b(t1, table_b, b_naf[idx]);\n r = t2.as_projective();\n j -= 1;\n }\n r\n}\n\n/// AENEAS-COMPAT helper: one NAF-digit conditional add against a\n/// ProjectiveNiels table (hoisted out of the main loop so its body is\n/// single-assignment; pure refactor, semantics identical).\nfn dsm_step_p(\n t: CompletedPoint,\n table: &NafLookupTable5,\n d: i8,\n) -> CompletedPoint {\n if d > 0 {\n &t.as_extended() + &table.select(d as usize)\n } else if d < 0 {\n &t.as_extended() - &table.select((-d) as usize)\n } else {\n t\n }\n}\n\n/// AENEAS-COMPAT helper: as `dsm_step_p`, for the basepoint table.\n#[cfg(feature = \"precomputed-tables\")]\nfn dsm_step_b(\n t: CompletedPoint,\n table: &NafLookupTable8,\n d: i8,\n) -> CompletedPoint {\n if d > 0 {\n &t.as_extended() + &table.select(d as usize)\n } else if d < 0 {\n &t.as_extended() - &table.select((-d) as usize)\n } else {\n t\n }\n}\n\n/// AENEAS-COMPAT helper: as `dsm_step_p` (no precomputed tables).\n#[cfg(not(feature = \"precomputed-tables\"))]\nfn dsm_step_b(\n t: CompletedPoint,\n table: &NafLookupTable5,\n d: i8,\n) -> CompletedPoint {\n dsm_step_p(t, table, d)\n}\n\npub fn mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n let a_naf = a.non_adjacent_form(5);\n\n #[cfg(feature = \"precomputed-tables\")]\n let b_naf = b.non_adjacent_form(8);\n #[cfg(not(feature = \"precomputed-tables\"))]\n let b_naf = b.non_adjacent_form(5);\n\n // Find starting index (AENEAS-COMPAT: helper, upward fold)\n let i = dsm_top_index(&a_naf, &b_naf);\n\n let table_A = NafLookupTable5::::from(A);\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n let r = dsm_loop(i, &a_naf, &b_naf, &table_A, table_B);\n\n r.as_extended()\n}\n"},{"id":85,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector/scalar_mul/vartime_double_base.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n#![allow(non_snake_case)]\n\n#[curve25519_dalek_derive::unsafe_target_feature_specialize(\"avx2\")]\npub mod spec {\n\n use core::cmp::Ordering;\n\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::{CachedPoint, ExtendedPoint};\n\n #[cfg(feature = \"precomputed-tables\")]\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::constants::BASEPOINT_ODD_LOOKUP_TABLE;\n\n use crate::edwards::EdwardsPoint;\n use crate::scalar::Scalar;\n use crate::traits::Identity;\n use crate::window::NafLookupTable5;\n\n /// Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n pub fn mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n let a_naf = a.non_adjacent_form(5);\n\n #[cfg(feature = \"precomputed-tables\")]\n let b_naf = b.non_adjacent_form(8);\n #[cfg(not(feature = \"precomputed-tables\"))]\n let b_naf = b.non_adjacent_form(5);\n\n // Find starting index\n let mut i: usize = 255;\n for j in (0..256).rev() {\n i = j;\n if a_naf[i] != 0 || b_naf[i] != 0 {\n break;\n }\n }\n\n let table_A = NafLookupTable5::::from(A);\n\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &BASEPOINT_ODD_LOOKUP_TABLE;\n\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&crate::constants::ED25519_BASEPOINT_POINT);\n\n let mut Q = ExtendedPoint::identity();\n\n loop {\n Q = Q.double();\n\n match a_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_A.select(a_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_A.select(-a_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n match b_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_B.select(b_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_B.select(-b_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n Q.into()\n }\n}\n"},{"id":86,"name":{"Local":"curve25519/solana-ed25519/src/window.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n//\n// Authors:\n// - isis agora lovecruft \n// - Henry de Valence \n\n//! Code for fixed- and sliding-window functionality\n\n#![allow(non_snake_case)]\n\nuse core::fmt::Debug;\n\n#[cfg(feature = \"alloc\")]\nuse alloc::vec::Vec;\nuse cfg_if::cfg_if;\n#[cfg(feature = \"alloc\")]\nuse core::borrow::Borrow;\n\nuse subtle::Choice;\nuse subtle::ConditionallyNegatable;\nuse subtle::ConditionallySelectable;\nuse subtle::ConstantTimeEq;\n\nuse crate::traits::Identity;\n\nuse crate::backend::serial::curve_models::AffineNielsPoint;\nuse crate::backend::serial::curve_models::ProjectiveNielsPoint;\nuse crate::edwards::EdwardsPoint;\n\n#[cfg(feature = \"alloc\")]\npub(crate) fn build_lookup_tables(points: I) -> Vec\nwhere\n T: for<'a> From<&'a EdwardsPoint>,\n I: IntoIterator,\n I::Item: Borrow,\n{\n points\n .into_iter()\n .map(|point| T::from(point.borrow()))\n .collect()\n}\n\n#[cfg(feature = \"alloc\")]\npub(crate) fn build_lookup_tables_for_optional_points(points: I) -> Option>\nwhere\n T: for<'a> From<&'a EdwardsPoint>,\n I: IntoIterator>,\n P: Borrow,\n{\n points\n .into_iter()\n .map(|point| point.map(|point| T::from(point.borrow())))\n .collect()\n}\n\n#[cfg(feature = \"zeroize\")]\nuse zeroize::Zeroize;\n\nmacro_rules! impl_lookup_table {\n (Name = $name:ident, Size = $size:expr, SizeNeg = $neg:expr, SizeRange = $range:expr, ConversionRange = $conv_range:expr) => {\n /// A lookup table of precomputed multiples of a point \\\\(P\\\\), used to\n /// compute \\\\( xP \\\\) for \\\\( -8 \\leq x \\leq 8 \\\\).\n ///\n /// The computation of \\\\( xP \\\\) is done in constant time by the `select` function.\n ///\n /// Since `LookupTable` does not implement `Index`, it's more difficult\n /// to accidentally use the table directly. Unfortunately the table is\n /// only `pub(crate)` so that we can write hardcoded constants, so it's\n /// still technically possible. It would be nice to prevent direct\n /// access to the table.\n #[derive(Copy, Clone)]\n pub struct $name(pub(crate) [T; $size]);\n\n impl $name\n where\n T: Identity + ConditionallySelectable + ConditionallyNegatable,\n {\n /// Given \\\\(-8 \\leq x \\leq 8\\\\), return \\\\(xP\\\\) in constant time.\n pub fn select(&self, x: i8) -> T {\n debug_assert!(x >= $neg);\n debug_assert!(x as i16 <= $size as i16); // XXX We have to convert to i16s here for the radix-256 case.. this is wrong.\n\n // Compute xabs = |x|\n let xmask = x as i16 >> 7;\n let xabs = (x as i16 + xmask) ^ xmask;\n\n // Set t = 0 * P = identity\n let mut t = T::identity();\n for j in $range {\n // Copy `points[j-1] == j*P` onto `t` in constant time if `|x| == j`.\n let c = (xabs as u16).ct_eq(&(j as u16));\n t.conditional_assign(&self.0[j - 1], c);\n }\n // Now t == |x| * P.\n\n let neg_mask = Choice::from((xmask & 1) as u8);\n t.conditional_negate(neg_mask);\n // Now t == x * P.\n\n t\n }\n }\n\n impl Default for $name {\n fn default() -> $name {\n $name([T::default(); $size])\n }\n }\n\n impl Debug for $name {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"{:?}(\", stringify!($name))?;\n\n for x in self.0.iter() {\n write!(f, \"{:?}\", x)?;\n }\n\n write!(f, \")\")\n }\n }\n\n impl<'a> From<&'a EdwardsPoint> for $name {\n fn from(P: &'a EdwardsPoint) -> Self {\n let mut points = [P.as_projective_niels(); $size];\n for j in $conv_range {\n points[j + 1] = (P + &points[j]).as_extended().as_projective_niels();\n }\n $name(points)\n }\n }\n\n impl<'a> From<&'a EdwardsPoint> for $name {\n fn from(P: &'a EdwardsPoint) -> Self {\n let mut points = [P.as_affine_niels(); $size];\n // XXX batch inversion would be good if perf mattered here\n for j in $conv_range {\n points[j + 1] = (P + &points[j]).as_extended().as_affine_niels()\n }\n $name(points)\n }\n }\n\n #[cfg(feature = \"zeroize\")]\n impl Zeroize for $name\n where\n T: Copy + Default + Zeroize,\n {\n fn zeroize(&mut self) {\n self.0.iter_mut().zeroize();\n }\n }\n };\n} // End macro_rules! impl_lookup_table\n\n// The first one has to be named \"LookupTable\" because it's used as a constructor for consts.\n// This is radix-16\nimpl_lookup_table! {\n Name = LookupTable,\n Size = 8,\n SizeNeg = -8,\n SizeRange = 1..9,\n ConversionRange = 0..7\n}\n\n// The rest only get used to make basepoint tables\ncfg_if! {\n if #[cfg(feature = \"precomputed-tables\")] {\n // radix-32\n impl_lookup_table! {\n Name = LookupTableRadix32,\n Size = 16,\n SizeNeg = -16,\n SizeRange = 1..17,\n ConversionRange = 0..15\n }\n // radix-64\n impl_lookup_table! {\n Name = LookupTableRadix64,\n Size = 32,\n SizeNeg = -32,\n SizeRange = 1..33,\n ConversionRange = 0..31\n }\n // radix-128\n impl_lookup_table! {\n Name = LookupTableRadix128,\n Size = 64,\n SizeNeg = -64,\n SizeRange = 1..65,\n ConversionRange = 0..63\n }\n // radix-256\n impl_lookup_table! {\n Name = LookupTableRadix256,\n Size = 128,\n SizeNeg = -128,\n SizeRange = 1..129,\n ConversionRange = 0..127\n }\n\n // For homogeneity we then alias it to \"LookupTableRadix16\".\n pub(crate) type LookupTableRadix16 = LookupTable;\n }\n}\n\n/// Holds odd multiples 1A, 3A, ..., 15A of a point A.\n#[derive(Copy, Clone)]\npub(crate) struct NafLookupTable5(pub(crate) [T; 8]);\n\nimpl NafLookupTable5 {\n /// Given public, odd \\\\( x \\\\) with \\\\( 0 < x < 2^4 \\\\), return \\\\(xA\\\\).\n pub fn select(&self, x: usize) -> T {\n debug_assert_eq!(x & 1, 1);\n debug_assert!(x < 16);\n\n self.0[x / 2]\n }\n}\n\nimpl Debug for NafLookupTable5 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"NafLookupTable5({:?})\", self.0)\n }\n}\n\nimpl<'a> From<&'a EdwardsPoint> for NafLookupTable5 {\n fn from(A: &'a EdwardsPoint) -> Self {\n let mut Ai = [A.as_projective_niels(); 8];\n let A2 = A.double();\n for i in 0..7 {\n Ai[i + 1] = (&A2 + &Ai[i]).as_extended().as_projective_niels();\n }\n // Now Ai = [A, 3A, 5A, 7A, 9A, 11A, 13A, 15A]\n NafLookupTable5(Ai)\n }\n}\n\nimpl<'a> From<&'a EdwardsPoint> for NafLookupTable5 {\n fn from(A: &'a EdwardsPoint) -> Self {\n let mut Ai = [A.as_affine_niels(); 8];\n let A2 = A.double();\n for i in 0..7 {\n Ai[i + 1] = (&A2 + &Ai[i]).as_extended().as_affine_niels();\n }\n // Now Ai = [A, 3A, 5A, 7A, 9A, 11A, 13A, 15A]\n NafLookupTable5(Ai)\n }\n}\n\n/// Holds stuff up to 8. The only time we use tables this big is for precomputed basepoint tables\n/// and multiscalar multiplication (which requires alloc).\n#[cfg(any(feature = \"precomputed-tables\", feature = \"alloc\"))]\n#[derive(Copy, Clone)]\npub(crate) struct NafLookupTable8(pub(crate) [T; 64]);\n\n#[cfg(any(feature = \"precomputed-tables\", feature = \"alloc\"))]\nimpl NafLookupTable8 {\n pub fn select(&self, x: usize) -> T {\n debug_assert_eq!(x & 1, 1);\n debug_assert!(x < 128);\n\n self.0[x / 2]\n }\n}\n\n#[cfg(any(feature = \"precomputed-tables\", feature = \"alloc\"))]\nimpl Debug for NafLookupTable8 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n writeln!(f, \"NafLookupTable8([\")?;\n for i in 0..64 {\n writeln!(f, \"\\t{:?},\", &self.0[i])?;\n }\n write!(f, \"])\")\n }\n}\n\n#[cfg(any(feature = \"precomputed-tables\", feature = \"alloc\"))]\nimpl<'a> From<&'a EdwardsPoint> for NafLookupTable8 {\n fn from(A: &'a EdwardsPoint) -> Self {\n let mut Ai = [A.as_projective_niels(); 64];\n let A2 = A.double();\n for i in 0..63 {\n Ai[i + 1] = (&A2 + &Ai[i]).as_extended().as_projective_niels();\n }\n // Now Ai = [A, 3A, 5A, 7A, 9A, 11A, 13A, 15A, ..., 127A]\n NafLookupTable8(Ai)\n }\n}\n\n#[cfg(any(feature = \"precomputed-tables\", feature = \"alloc\"))]\nimpl<'a> From<&'a EdwardsPoint> for NafLookupTable8 {\n fn from(A: &'a EdwardsPoint) -> Self {\n let mut Ai = [A.as_affine_niels(); 64];\n let A2 = A.double();\n for i in 0..63 {\n Ai[i + 1] = (&A2 + &Ai[i]).as_extended().as_affine_niels();\n }\n // Now Ai = [A, 3A, 5A, 7A, 9A, 11A, 13A, 15A, ..., 127A]\n NafLookupTable8(Ai)\n }\n}\n"},{"id":87,"name":{"Local":"curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_triple_base.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-sol.\n// Copyright (c) 2025 curve25519-sol contributors\n// See LICENSE for licensing information.\n//\n// This file is new in curve25519-sol and has no upstream equivalent in\n// curve25519-dalek. It implements a 4-variable multi-scalar multiplication\n// optimised for two 128-bit scalars and one 256-bit scalar, designed to\n// support the HEEA-accelerated Ed25519 verification path.\n#![allow(non_snake_case)]\n\nuse core::cmp::Ordering;\n\nuse crate::backend::serial::curve_models::{ProjectiveNielsPoint, ProjectivePoint};\nuse crate::constants;\nuse crate::edwards::EdwardsPoint;\nuse crate::scalar::{HEEA_MAX_INDEX, Scalar};\nuse crate::traits::Identity;\nuse crate::window::NafLookupTable5;\n\nconst DYNAMIC_NAF_WINDOW: usize = 5;\n\n// This intentionally differs from the vector backend when precomputed tables\n// are enabled. The serial backend can select width-5 b_lo digits from the\n// larger width-8 basepoint table, but keeps the smaller NAF window here as a\n// backend-specific performance tradeoff. Revisit this only with comparative\n// serial/vector benchmarks.\nconst B_LO_NAF_WINDOW: usize = DYNAMIC_NAF_WINDOW;\n\n/// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n///\n/// This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are known to be less than\n/// \\\\(2^{128}\\\\), while \\\\(b\\\\) is a full 256-bit scalar.\n///\n/// # Precondition\n///\n/// Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\). Use\n/// `vartime_triple_base_mul_128_128_256` for a checked wrapper that falls back\n/// to general scalar multiplication for full-width scalars.\n///\n/// # Optimization Strategy\n///\n/// The function decomposes the 256-bit scalar \\\\(b\\\\) as \\\\(b = b_{lo} + b_{hi} \\cdot 2^{128}\\\\),\n/// where both \\\\(b_{lo}\\\\) and \\\\(b_{hi}\\\\) are 128-bit values. This allows computing:\n///\n/// \\\\[\n/// a_1 A_1 + a_2 A_2 + b_{lo} B + b_{hi} B'\n/// \\\\]\n///\n/// where \\\\(B' = B \\cdot 2^{128}\\\\) is a precomputed constant. Now all four scalars\n/// (\\\\(a_1, a_2, b_{lo}, b_{hi}\\\\)) are 128 bits, and two of the bases (\\\\(B\\\\) and \\\\(B'\\\\))\n/// use precomputed tables.\n///\n/// # Implementation\n///\n/// - For \\\\(A_1\\\\) and \\\\(A_2\\\\): NAF with window width 5 (8 precomputed points each)\n/// - For \\\\(B\\\\): NAF with window width 5. When precomputed tables are enabled,\n/// these width-5 digits are selected from the larger width-8 basepoint table.\n/// - For \\\\(B'\\\\): NAF with window width 5.\n///\n/// The vector backend uses width 8 for \\\\(b_{lo}\\\\) when precomputed tables are\n/// enabled. This serial backend keeps width 5 for \\\\(b_{lo}\\\\) as a\n/// backend-specific performance tradeoff.\n///\n/// The algorithm shares doublings across all four scalar multiplications, processing\n/// only 128 bits instead of 256, providing approximately 2x speedup over the naive approach.\npub(crate) fn mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n // Decompose b into b_lo (lower 128 bits) and b_hi (upper 128 bits)\n // b = b_lo + b_hi * 2^128\n let b_bytes = b.as_bytes();\n\n let mut b_lo_bytes = [0u8; 32];\n let mut b_hi_bytes = [0u8; 32];\n\n // Copy lower 16 bytes to b_lo, upper 16 bytes to b_hi\n b_lo_bytes[..16].copy_from_slice(&b_bytes[..16]);\n b_hi_bytes[..16].copy_from_slice(&b_bytes[16..]);\n\n let b_lo = Scalar::from_canonical_bytes(b_lo_bytes).unwrap();\n let b_hi = Scalar::from_canonical_bytes(b_hi_bytes).unwrap();\n\n // Compute NAF representations (all scalars are now ~128 bits).\n //\n // The serial backend keeps b_lo at width 5 even when table_B is the larger\n // precomputed width-8 basepoint table. The vector backend uses width 8 in\n // that configuration.\n let a1_naf = a1.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let a2_naf = a2.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let b_lo_naf = b_lo.non_adjacent_form_128(B_LO_NAF_WINDOW);\n let b_hi_naf = b_hi.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n\n // Find starting index - check all NAFs up to bit 127\n // (with potential carry to bit 128 or 129)\n let mut i: usize = HEEA_MAX_INDEX;\n for j in (0..=HEEA_MAX_INDEX).rev() {\n i = j;\n if a1_naf[i] != 0 || a2_naf[i] != 0 || b_lo_naf[i] != 0 || b_hi_naf[i] != 0 {\n break;\n }\n }\n\n // Create lookup tables\n let table_A1 = NafLookupTable5::::from(A1);\n let table_A2 = NafLookupTable5::::from(A2);\n\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n // B' = B * 2^128 (precomputed constant point)\n #[cfg(feature = \"precomputed-tables\")]\n let table_B_128 = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT_128;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B_128 =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_128_POINT);\n\n let mut r = ProjectivePoint::identity();\n\n loop {\n let mut t = r.double();\n\n // Add contributions from a1*A1\n match a1_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A1.select(a1_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A1.select(-a1_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from a2*A2\n match a2_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A2.select(a2_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A2.select(-a2_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from b_lo*B\n match b_lo_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B.select(b_lo_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B.select(-b_lo_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from b_hi*B' where B' = B * 2^128\n match b_hi_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B_128.select(b_hi_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B_128.select(-b_hi_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n r = t.as_projective();\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n r.as_extended()\n}\n\n#[cfg(test)]\nmod test {\n\n use rand::{RngCore, thread_rng};\n\n use super::*;\n use crate::scalar::Scalar;\n\n fn random_scalar() -> Scalar {\n let mut wide = [0u8; 64];\n let mut rng = thread_rng();\n rng.fill_bytes(&mut wide);\n Scalar::from_bytes_mod_order_wide(&wide)\n }\n\n #[test]\n fn test_triple_base_multiplication() {\n // Test vectors with random scalars\n let a1 = Scalar::from(12345u64);\n let a2 = Scalar::from(67890u64);\n let b = random_scalar();\n\n // Random points (using scalar multiplication of basepoint)\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(2u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(3u64);\n\n // Compute using the optimized triple-base function\n let result = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n\n // Compute using naive addition\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n #[test]\n fn test_triple_base_multiplication_128() {\n // Test with 128-bit scalars for a1 and a2\n // Create a 128-bit scalar (use lower half)\n let a1_bytes = [\n 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00,\n ];\n let a1 = Scalar::from_bytes_mod_order(a1_bytes);\n\n let a2_bytes = [\n 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66,\n 0x77, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00,\n ];\n let a2 = Scalar::from_bytes_mod_order(a2_bytes);\n\n // Full 256-bit scalar for b\n let b = random_scalar();\n\n // Test points\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(5u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(7u64);\n\n // Test the optimized 128-bit version\n let result_128 = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n\n // Compute expected result\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result_128, expected, \"Optimized 128-bit version failed\");\n }\n\n #[test]\n fn test_triple_base_with_zero_scalars() {\n let a1 = Scalar::ZERO;\n let a2 = Scalar::from(123u64);\n let b = random_scalar();\n\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(2u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(3u64);\n\n let result = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let expected = a2 * A2 + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n #[test]\n fn test_triple_base_with_identity_points() {\n let a1 = Scalar::from(111u64);\n let a2 = Scalar::from(222u64);\n let b = random_scalar();\n\n let A1 = EdwardsPoint::identity();\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(3u64);\n\n let result = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let expected = a2 * A2 + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n #[test]\n fn test_triple_base_consistency() {\n // Test that both functions give the same result for 128-bit inputs\n let a1 = Scalar::from(0x123456789ABCDEFu64);\n let a2 = Scalar::from(0xFEDCBA987654321u64);\n let b = random_scalar();\n\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(11u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(13u64);\n\n let result_optimized = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let result_general = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result_optimized, result_general);\n }\n\n #[test]\n fn test_triple_base_large_scalars() {\n // Test with large scalars\n let mut a1_bytes = [0xFFu8; 32];\n a1_bytes[16..].fill(0x00);\n let a1 = Scalar::from_bytes_mod_order(a1_bytes);\n\n let mut a2_bytes = [0xAAu8; 32];\n a2_bytes[16..].fill(0x00);\n let a2 = Scalar::from_bytes_mod_order(a2_bytes);\n\n let b = random_scalar();\n\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(17u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(19u64);\n\n let result = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n #[test]\n fn test_checked_wrapper_accepts_full_width_scalars() {\n let mut a1_bytes = [0u8; 32];\n a1_bytes[0] = 7;\n a1_bytes[16] = 1;\n let a1 = Scalar::from_canonical_bytes(a1_bytes).unwrap();\n\n let mut a2_bytes = [0u8; 32];\n a2_bytes[0] = 11;\n a2_bytes[24] = 1;\n let a2 = Scalar::from_canonical_bytes(a2_bytes).unwrap();\n\n let b = random_scalar();\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(23u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(29u64);\n\n let result = crate::backend::vartime_triple_base_mul_128_128_256(&a1, &A1, &a2, &A2, &b);\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(result, expected);\n }\n\n // Proptest for vartime_triple_scalar_mul_basepoint equivalence\n proptest::proptest! {\n #[test]\n fn proptest_triple_scalar_mul_equivalence(\n a1_bytes_16 in proptest::array::uniform16(proptest::num::u8::ANY),\n a2_bytes_16 in proptest::array::uniform16(proptest::num::u8::ANY),\n b_bytes in proptest::array::uniform32(proptest::num::u8::ANY),\n A1_scalar_bytes in proptest::array::uniform32(proptest::num::u8::ANY),\n A2_scalar_bytes in proptest::array::uniform32(proptest::num::u8::ANY),\n ) {\n // Construct 128-bit scalars a1 and a2 (upper 16 bytes are zero)\n let mut a1_bytes = [0u8; 32];\n let mut a2_bytes = [0u8; 32];\n a1_bytes[..16].copy_from_slice(&a1_bytes_16);\n a2_bytes[..16].copy_from_slice(&a2_bytes_16);\n\n let a1 = Scalar::from_bytes_mod_order(a1_bytes);\n let a2 = Scalar::from_bytes_mod_order(a2_bytes);\n\n // Construct full 256-bit scalar b\n let b = Scalar::from_bytes_mod_order(b_bytes);\n\n // Generate random points A1 and A2 using scalar multiplication of basepoint\n let A1_scalar = Scalar::from_bytes_mod_order(A1_scalar_bytes);\n let A2_scalar = Scalar::from_bytes_mod_order(A2_scalar_bytes);\n let A1 = constants::ED25519_BASEPOINT_POINT * A1_scalar;\n let A2 = constants::ED25519_BASEPOINT_POINT * A2_scalar;\n\n // Compute using the optimized triple-base function\n let result_optimized = mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n\n // Compute using raw operations: a1*A1 + a2*A2 + b*B\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n proptest::prop_assert_eq!(result_optimized, expected, \"Optimized triple scalar mul should equal raw operations\");\n }\n }\n}\n"},{"id":88,"name":{"Local":"curve25519/solana-ed25519/src/backend/vector/scalar_mul/vartime_triple_base.rs"},"crate_name":"curve25519","contents":"// -*- mode: rust; -*-\n//\n// This file is part of curve25519-dalek.\n// Copyright (c) 2016-2021 isis lovecruft\n// Copyright (c) 2016-2019 Henry de Valence\n// See LICENSE for licensing information.\n\n#![allow(non_snake_case)]\n\n#[curve25519_dalek_derive::unsafe_target_feature_specialize(\"avx2\")]\npub mod spec {\n\n use core::cmp::Ordering;\n\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::{CachedPoint, ExtendedPoint};\n\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::constants::BASEPOINT_128_ODD_LOOKUP_TABLE;\n #[cfg(feature = \"precomputed-tables\")]\n #[for_target_feature(\"avx2\")]\n use crate::backend::vector::avx2::constants::BASEPOINT_ODD_LOOKUP_TABLE;\n\n #[cfg(not(feature = \"precomputed-tables\"))]\n use crate::constants;\n use crate::edwards::EdwardsPoint;\n use crate::scalar::HEEA_MAX_INDEX;\n use crate::scalar::Scalar;\n #[allow(unused_imports)]\n use crate::traits::Identity;\n use crate::window::NafLookupTable5;\n\n const DYNAMIC_NAF_WINDOW: usize = 5;\n\n // This intentionally differs from the serial backend when precomputed\n // tables are enabled. The AVX2 basepoint table is width 8, and this vector\n // path uses the larger b_lo NAF window in that configuration as a\n // backend-specific performance tradeoff.\n #[cfg(feature = \"precomputed-tables\")]\n const B_LO_NAF_WINDOW: usize = 8;\n #[cfg(not(feature = \"precomputed-tables\"))]\n const B_LO_NAF_WINDOW: usize = DYNAMIC_NAF_WINDOW;\n\n /// Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint.\n ///\n /// This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are known to be less than\n /// \\\\(2^{128}\\\\), while \\\\(b\\\\) is a full 256-bit scalar.\n ///\n /// # Precondition\n ///\n /// Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\). Use\n /// `vartime_triple_base_mul_128_128_256` for a checked wrapper that falls back\n /// to general scalar multiplication for full-width scalars.\n ///\n /// # Optimization Strategy\n ///\n /// The function decomposes the 256-bit scalar \\\\(b\\\\) as \\\\(b = b_{lo} + b_{hi} \\cdot 2^{128}\\\\),\n /// where both \\\\(b_{lo}\\\\) and \\\\(b_{hi}\\\\) are 128-bit values. This allows computing:\n ///\n /// \\\\[\n /// a_1 A_1 + a_2 A_2 + b_{lo} B + b_{hi} B'\n /// \\\\]\n ///\n /// where \\\\(B' = B \\cdot 2^{128}\\\\) is a precomputed constant. Now all four scalars\n /// (\\\\(a_1, a_2, b_{lo}, b_{hi}\\\\)) are 128 bits, and two of the bases (\\\\(B\\\\) and \\\\(B'\\\\))\n /// use precomputed tables.\n ///\n /// # Implementation\n ///\n /// - For \\\\(A_1\\\\) and \\\\(A_2\\\\): NAF with window width 5 (8 precomputed points each)\n /// - For \\\\(B\\\\): NAF with window width 8 when precomputed tables available (64 points), otherwise width 5\n /// - For \\\\(B'\\\\): NAF with window width 5\n ///\n /// The serial backend keeps \\\\(b_{lo}\\\\) at width 5 even when precomputed\n /// tables are enabled. This vector backend uses width 8 in that\n /// configuration as a backend-specific performance tradeoff.\n ///\n /// The algorithm shares doublings across all four scalar multiplications, processing\n /// only 128 bits instead of 256, providing approximately 2x speedup over the naive approach.\n ///\n /// This SIMD implementation uses vectorized point operations (AVX2 or AVX512-IFMA) for\n /// improved performance over the serial backend.\n pub(crate) fn mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n // Decompose b into b_lo (lower 128 bits) and b_hi (upper 128 bits)\n // b = b_lo + b_hi * 2^128\n let b_bytes = b.as_bytes();\n\n let mut b_lo_bytes = [0u8; 32];\n let mut b_hi_bytes = [0u8; 32];\n\n // Copy lower 16 bytes to b_lo, upper 16 bytes to b_hi\n b_lo_bytes[..16].copy_from_slice(&b_bytes[..16]);\n b_hi_bytes[..16].copy_from_slice(&b_bytes[16..]);\n\n let b_lo = Scalar::from_canonical_bytes_unchecked(b_lo_bytes);\n let b_hi = Scalar::from_canonical_bytes_unchecked(b_hi_bytes);\n\n // Compute NAF representations (all scalars are now ~128 bits)\n let a1_naf = a1.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let a2_naf = a2.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let b_lo_naf = b_lo.non_adjacent_form_128(B_LO_NAF_WINDOW);\n let b_hi_naf = b_hi.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n\n // Find starting index - check all NAFs up to bit 127\n // (with potential carry to bit 128 or 129)\n let mut i: usize = HEEA_MAX_INDEX;\n for j in (0..=HEEA_MAX_INDEX).rev() {\n i = j;\n if a1_naf[i] != 0 || a2_naf[i] != 0 || b_lo_naf[i] != 0 || b_hi_naf[i] != 0 {\n break;\n }\n }\n\n // Create lookup tables using SIMD-optimized CachedPoint\n let table_A1 = NafLookupTable5::::from(A1);\n let table_A2 = NafLookupTable5::::from(A2);\n\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &BASEPOINT_ODD_LOOKUP_TABLE;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B = &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n // B' = B * 2^128.\n let table_B_128 = &BASEPOINT_128_ODD_LOOKUP_TABLE;\n\n let mut Q = ExtendedPoint::identity();\n\n loop {\n Q = Q.double();\n\n // Add contributions from a1*A1\n match a1_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_A1.select(a1_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_A1.select(-a1_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n // Add contributions from a2*A2\n match a2_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_A2.select(a2_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_A2.select(-a2_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n // Add contributions from b_lo*B\n match b_lo_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_B.select(b_lo_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_B.select(-b_lo_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n // Add contributions from b_hi*B' where B' = B * 2^128\n match b_hi_naf[i].cmp(&0) {\n Ordering::Greater => {\n Q = &Q + &table_B_128.select(b_hi_naf[i] as usize);\n }\n Ordering::Less => {\n Q = &Q - &table_B_128.select(-b_hi_naf[i] as usize);\n }\n Ordering::Equal => {}\n }\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n Q.into()\n }\n}\n\n#[cfg(all(test, target_arch = \"x86_64\"))]\nmod test {\n use super::spec_avx2;\n use crate::backend::serial;\n use crate::constants;\n use crate::scalar::Scalar;\n\n fn scalar_from_low_128(low: [u8; 16]) -> Scalar {\n let mut bytes = [0u8; 32];\n bytes[..16].copy_from_slice(&low);\n Scalar::from_canonical_bytes(bytes).unwrap()\n }\n\n #[test]\n fn avx2_triple_base_matches_serial_and_naive() {\n if !std::is_x86_feature_detected!(\"avx2\") {\n return;\n }\n\n let a1 = scalar_from_low_128([\n 0xff, 0xee, 0xdd, 0xcc, 0xbb, 0xaa, 0x99, 0x88, 0x77, 0x66, 0x55, 0x44, 0x33, 0x22,\n 0x11, 0x00,\n ]);\n let a2 = scalar_from_low_128([\n 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe, 0x0f, 0x1e, 0x2d, 0x3c, 0x4b, 0x5a,\n 0x69, 0x78,\n ]);\n let b = Scalar::from_bytes_mod_order([\n 0x42, 0x91, 0x0a, 0xbe, 0xef, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99,\n 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,\n 0x10, 0x20, 0x30, 0x40,\n ]);\n\n let A1 = constants::ED25519_BASEPOINT_POINT * Scalar::from(31u64);\n let A2 = constants::ED25519_BASEPOINT_POINT * Scalar::from(37u64);\n\n let avx2 = spec_avx2::mul_128_128_256_prechecked(&a1, &A1, &a2, &A2, &b);\n let serial = serial::scalar_mul::vartime_triple_base::mul_128_128_256_prechecked(\n &a1, &A1, &a2, &A2, &b,\n );\n let expected = (a1 * A1 + a2 * A2) + b * constants::ED25519_BASEPOINT_POINT;\n\n assert_eq!(avx2, serial);\n assert_eq!(avx2, expected);\n }\n}\n"},{"id":89,"name":{"Local":"/rustc/library/core/src/num/int_macros.rs"},"crate_name":"core","contents":null}],"item_names":[{"key":{"Type":0},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Ident":["FieldElement",0]}]},{"key":{"TraitImpl":0},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":0}}]},{"key":{"TraitImpl":1},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}}]},{"key":{"TraitImpl":2},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":2}}]},{"key":{"TraitImpl":3},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":3}}]},{"key":{"Type":1},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Ident":["FieldElement51",0]}]},{"key":{"TraitImpl":4},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":4}}]},{"key":{"TraitImpl":5},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":5}}]},{"key":{"TraitImpl":6},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":6}}]},{"key":{"TraitImpl":7},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}}]},{"key":{"TraitImpl":8},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}}]},{"key":{"TraitImpl":9},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}}]},{"key":{"TraitImpl":10},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}}]},{"key":{"TraitImpl":11},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}}]},{"key":{"TraitImpl":12},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}}]},{"key":{"TraitImpl":13},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}}]},{"key":{"TraitImpl":14},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}}]},{"key":{"TraitImpl":15},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}}]},{"key":{"Type":2},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["ProjectivePoint",0]}]},{"key":{"TraitImpl":16},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":16}}]},{"key":{"TraitImpl":17},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":17}}]},{"key":{"TraitImpl":18},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":18}}]},{"key":{"Type":3},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["CompletedPoint",0]}]},{"key":{"TraitImpl":19},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":19}}]},{"key":{"TraitImpl":20},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":20}}]},{"key":{"TraitImpl":21},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":21}}]},{"key":{"Type":4},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["AffineNielsPoint",0]}]},{"key":{"TraitImpl":22},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":22}}]},{"key":{"TraitImpl":23},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":23}}]},{"key":{"TraitImpl":24},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":24}}]},{"key":{"TraitImpl":25},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":25}}]},{"key":{"TraitImpl":26},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":26}}]},{"key":{"TraitImpl":27},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}}]},{"key":{"Type":5},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":28},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":28}}]},{"key":{"TraitImpl":29},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":29}}]},{"key":{"TraitImpl":30},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":30}}]},{"key":{"TraitImpl":31},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":31}}]},{"key":{"TraitImpl":32},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":32}}]},{"key":{"TraitImpl":33},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":33}}]},{"key":{"TraitImpl":34},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":34}}]},{"key":{"TraitImpl":35},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":35}}]},{"key":{"TraitImpl":36},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}}]},{"key":{"TraitImpl":37},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}}]},{"key":{"TraitImpl":38},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}}]},{"key":{"TraitImpl":39},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}}]},{"key":{"TraitImpl":40},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}}]},{"key":{"TraitImpl":41},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}}]},{"key":{"TraitImpl":42},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}}]},{"key":{"TraitImpl":43},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}}]},{"key":{"TraitImpl":44},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}}]},{"key":{"TraitImpl":45},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}}]},{"key":{"TraitImpl":46},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}}]},{"key":{"TraitImpl":47},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}}]},{"key":{"TraitImpl":48},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}}]},{"key":{"Type":6},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["CompressedEdwardsY",0]}]},{"key":{"TraitImpl":49},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":49}}]},{"key":{"TraitImpl":50},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":50}}]},{"key":{"TraitImpl":51},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":51}}]},{"key":{"TraitImpl":52},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":52}}]},{"key":{"TraitImpl":53},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":53}}]},{"key":{"TraitImpl":54},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":54}}]},{"key":{"TraitImpl":55},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}}]},{"key":{"TraitImpl":56},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}}]},{"key":{"TraitImpl":57},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":57}}]},{"key":{"Type":7},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["EdwardsPoint",0]}]},{"key":{"TraitImpl":58},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":58}}]},{"key":{"TraitImpl":59},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":59}}]},{"key":{"TraitImpl":60},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":60}}]},{"key":{"TraitImpl":61},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":61}}]},{"key":{"TraitImpl":62},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":62}}]},{"key":{"TraitImpl":63},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":63}}]},{"key":{"TraitImpl":64},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":64}}]},{"key":{"TraitImpl":65},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}}]},{"key":{"TraitImpl":66},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}}]},{"key":{"TraitImpl":67},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":67}}]},{"key":{"TraitImpl":68},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}}]},{"key":{"TraitImpl":69},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":69}}]},{"key":{"TraitImpl":70},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}}]},{"key":{"TraitImpl":71},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}}]},{"key":{"TraitImpl":72},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}}]},{"key":{"TraitImpl":73},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}}]},{"key":{"TraitImpl":74},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}}]},{"key":{"TraitImpl":75},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}}]},{"key":{"TraitImpl":76},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}}]},{"key":{"TraitImpl":77},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}}]},{"key":{"TraitImpl":78},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}}]},{"key":{"TraitImpl":79},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}}]},{"key":{"TraitImpl":80},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}}]},{"key":{"TraitImpl":81},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}}]},{"key":{"TraitImpl":82},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":82}}]},{"key":{"TraitImpl":83},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}}]},{"key":{"TraitImpl":84},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}}]},{"key":{"TraitImpl":85},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}}]},{"key":{"TraitImpl":86},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}}]},{"key":{"TraitImpl":87},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}}]},{"key":{"TraitImpl":88},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}}]},{"key":{"TraitImpl":89},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}}]},{"key":{"TraitImpl":90},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}}]},{"key":{"TraitImpl":91},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}}]},{"key":{"TraitImpl":92},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}}]},{"key":{"TraitImpl":93},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}}]},{"key":{"TraitImpl":94},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}}]},{"key":{"TraitImpl":95},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}}]},{"key":{"TraitDecl":0},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]}]},{"key":{"TraitDecl":1},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]}]},{"key":{"Fun":0},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]},{"Ident":["assert_receiver_is_total_eq",0]}]},{"key":{"Fun":1},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Global":0},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":2},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}},{"Ident":["eq",0]}]},{"key":{"Type":8},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":3},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["eq",0]}]},{"key":{"Fun":4},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["ne",0]}]},{"key":{"TraitDecl":2},"value":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]}]},{"key":{"Fun":5},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":2}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":6},"value":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]},{"Ident":["ct_eq",0]}]},{"key":{"Type":9},"value":[{"Ident":["subtle",0]},{"Ident":["Choice",0]}]},{"key":{"Fun":7},"value":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]},{"Ident":["ct_ne",0]}]},{"key":{"TraitDecl":3},"value":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]}]},{"key":{"Fun":8},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":3}},{"Ident":["default",0]}]},{"key":{"Fun":9},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1391,{"Adt":{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["is_negative",0]}]},{"key":{"Fun":10},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["is_zero",0]}]},{"key":{"Fun":11},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow22501",0]}]},{"key":{"Fun":12},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["internal_invert_batch",0]}]},{"key":{"Fun":13},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invert",0]}]},{"key":{"Fun":14},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow_p58",0]}]},{"key":{"Fun":15},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]}]},{"key":{"Fun":16},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invsqrt",0]}]},{"key":{"TraitDecl":4},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Copy",0]}]},{"key":{"TraitDecl":5},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]}]},{"key":{"TraitDecl":6},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["TrivialClone",0]}]},{"key":{"Fun":17},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":6}},{"Ident":["clone",0]}]},{"key":{"Fun":18},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone",0]}]},{"key":{"Fun":19},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone_from",0]}]},{"key":{"TraitDecl":7},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]}]},{"key":{"TraitDecl":8},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]}]},{"key":{"Global":1},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":20},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["fmt",0]}]},{"key":{"TraitDecl":9},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]}]},{"key":{"Global":2},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":21},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}},{"Ident":["add_assign",0]}]},{"key":{"TraitDecl":10},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]}]},{"key":{"Global":3},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":22},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}},{"Ident":["add",0]}]},{"key":{"TraitDecl":11},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]}]},{"key":{"Global":4},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":23},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}},{"Ident":["sub_assign",0]}]},{"key":{"TraitDecl":12},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]}]},{"key":{"Global":5},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":24},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}},{"Ident":["sub",0]}]},{"key":{"TraitDecl":13},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]}]},{"key":{"Global":6},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":25},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}},{"Ident":["mul_assign",0]}]},{"key":{"TraitDecl":14},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]}]},{"key":{"Global":7},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":26},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]}]},{"key":{"TraitDecl":15},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]}]},{"key":{"Global":8},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":27},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}},{"Ident":["neg",0]}]},{"key":{"TraitDecl":16},"value":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]}]},{"key":{"Fun":28},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":29},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":30},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":31},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_limbs",0]}]},{"key":{"Global":9},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ZERO",0]}]},{"key":{"Global":10},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ONE",0]}]},{"key":{"Global":11},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["MINUS_ONE",0]}]},{"key":{"Fun":32},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["negate",0]}]},{"key":{"Fun":33},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]}]},{"key":{"Fun":34},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_bytes",0]}]},{"key":{"Fun":35},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["to_bytes",0]}]},{"key":{"Fun":36},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]}]},{"key":{"Fun":37},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["square",0]}]},{"key":{"Fun":38},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["square2",0]}]},{"key":{"Fun":39},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":18}},{"Ident":["clone",0]}]},{"key":{"Fun":40},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":21}},{"Ident":["clone",0]}]},{"key":{"Fun":41},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":24}},{"Ident":["clone",0]}]},{"key":{"Fun":42},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":25}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"TraitDecl":17},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["StructuralPartialEq",0]}]},{"key":{"Global":12},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":26}},{"Ident":["{vtable}",0]}]},{"key":{"Global":13},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":43},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}},{"Ident":["eq",0]}]},{"key":{"Fun":44},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":30}},{"Ident":["clone",0]}]},{"key":{"TraitDecl":18},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["Identity",0]}]},{"key":{"Fun":45},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":31}},{"Ident":["identity",0]}]},{"key":{"Fun":46},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":32}},{"Ident":["identity",0]}]},{"key":{"Fun":47},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":33}},{"Ident":["default",0]}]},{"key":{"Fun":48},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":34}},{"Ident":["identity",0]}]},{"key":{"Fun":49},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":35}},{"Ident":["default",0]}]},{"key":{"TraitDecl":19},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]}]},{"key":{"Global":14},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":50},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["is_valid",0]}]},{"key":{"Fun":51},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":52},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":53},"value":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_select",0]}]},{"key":{"Fun":54},"value":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":55},"value":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":56},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":57},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":58},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1819,{"Adt":{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["as_extended",0]}]},{"key":{"Fun":59},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1831,{"Adt":{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["as_projective",0]}]},{"key":{"Fun":60},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1831},"kind":"InherentImplBlock"}}},{"Ident":["as_extended",0]}]},{"key":{"Fun":61},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1819},"kind":"InherentImplBlock"}}},{"Ident":["double",0]}]},{"key":{"Global":15},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":62},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}},{"Ident":["add",0]}]},{"key":{"Global":16},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":63},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}},{"Ident":["sub",0]}]},{"key":{"Global":17},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":64},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}},{"Ident":["add",0]}]},{"key":{"Global":18},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":65},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}},{"Ident":["sub",0]}]},{"key":{"Global":19},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":66},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}},{"Ident":["neg",0]}]},{"key":{"Global":20},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":67},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}},{"Ident":["neg",0]}]},{"key":{"Global":21},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":68},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}},{"Ident":["fmt",0]}]},{"key":{"Global":22},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":69},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}},{"Ident":["fmt",0]}]},{"key":{"Global":23},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":70},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}},{"Ident":["fmt",0]}]},{"key":{"Global":24},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":71},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}},{"Ident":["fmt",0]}]},{"key":{"Type":10},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Ident":["AffinePoint",0]}]},{"key":{"TraitImpl":96},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":96}}]},{"key":{"TraitImpl":97},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":97}}]},{"key":{"TraitImpl":98},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":98}}]},{"key":{"TraitImpl":99},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}}]},{"key":{"TraitImpl":100},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":100}}]},{"key":{"TraitImpl":101},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}}]},{"key":{"TraitImpl":102},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":102}}]},{"key":{"TraitImpl":103},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":103}}]},{"key":{"TraitImpl":104},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}}]},{"key":{"TraitImpl":105},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":105}}]},{"key":{"TraitImpl":106},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}}]},{"key":{"TraitImpl":107},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}}]},{"key":{"Fun":72},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":51}},{"Ident":["clone",0]}]},{"key":{"TraitDecl":20},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]}]},{"key":{"TraitDecl":21},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]}]},{"key":{"Fun":73},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":52}},{"Ident":["hash",0]}]},{"key":{"Fun":74},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]},{"Ident":["hash",0]}]},{"key":{"Fun":75},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]},{"Ident":["hash_slice",0]}]},{"key":{"Fun":76},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":53}},{"Ident":["ct_eq",0]}]},{"key":{"Global":25},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":77},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}},{"Ident":["eq",0]}]},{"key":{"Global":26},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":78},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}},{"Ident":["fmt",0]}]},{"key":{"Fun":79},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[2116,{"Adt":{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["as_bytes",0]}]},{"key":{"Fun":80},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["to_bytes",0]}]},{"key":{"Fun":81},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["decompress",0]}]},{"key":{"TraitDecl":22},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["TryFrom",0]}]},{"key":{"Type":11},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["TryFromSliceError",0]}]},{"key":{"Fun":82},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":57}},{"Ident":["try_from",0]}]},{"key":{"Fun":83},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":60}},{"Ident":["clone",0]}]},{"key":{"Fun":84},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":61}},{"Ident":["identity",0]}]},{"key":{"Fun":85},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":62}},{"Ident":["default",0]}]},{"key":{"Fun":86},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["from_slice",0]}]},{"key":{"Fun":87},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":63}},{"Ident":["identity",0]}]},{"key":{"Fun":88},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":64}},{"Ident":["default",0]}]},{"key":{"Global":27},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":89},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}},{"Ident":["is_valid",0]}]},{"key":{"Fun":90},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":91},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":67}},{"Ident":["ct_eq",0]}]},{"key":{"Global":28},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":92},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}},{"Ident":["eq",0]}]},{"key":{"Fun":93},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1955,{"Adt":{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["as_projective_niels",0]}]},{"key":{"Fun":94},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective",0]}]},{"key":{"Fun":95},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_affine_niels",0]}]},{"key":{"Fun":96},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["to_affine",0]}]},{"key":{"Fun":97},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["to_montgomery",0]}]},{"key":{"Fun":98},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["compress",0]}]},{"key":{"Fun":99},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["double",0]}]},{"key":{"Global":29},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":100},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}},{"Ident":["add",0]}]},{"key":{"Global":30},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":101},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}},{"Ident":["add",0]}]},{"key":{"Global":31},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":102},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}},{"Ident":["add",0]}]},{"key":{"Global":32},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":103},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}},{"Ident":["add",0]}]},{"key":{"Global":33},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":104},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}},{"Ident":["add_assign",0]}]},{"key":{"Global":34},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":105},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}},{"Ident":["add_assign",0]}]},{"key":{"Global":35},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":106},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}},{"Ident":["sub",0]}]},{"key":{"Global":36},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":107},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}},{"Ident":["sub",0]}]},{"key":{"Global":37},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":108},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}},{"Ident":["sub",0]}]},{"key":{"Global":38},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":109},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}},{"Ident":["sub",0]}]},{"key":{"Global":39},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":110},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}},{"Ident":["sub_assign",0]}]},{"key":{"Global":40},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":111},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}},{"Ident":["sub_assign",0]}]},{"key":{"TraitDecl":23},"value":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]}]},{"key":{"TraitDecl":24},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]}]},{"key":{"TraitDecl":25},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]}]},{"key":{"Fun":112},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":82}},{"Ident":["sum",0]}]},{"key":{"Global":41},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":113},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}},{"Ident":["neg",0]}]},{"key":{"Global":42},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":114},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}},{"Ident":["neg",0]}]},{"key":{"Type":12},"value":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Ident":["Scalar",0]}]},{"key":{"Global":43},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":115},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}},{"Ident":["mul_assign",0]}]},{"key":{"Global":44},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":116},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}},{"Ident":["mul_assign",0]}]},{"key":{"Global":45},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":117},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}},{"Ident":["mul",0]}]},{"key":{"Global":46},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":118},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}},{"Ident":["mul",0]}]},{"key":{"Global":47},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":119},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}},{"Ident":["mul",0]}]},{"key":{"Global":48},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":120},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}},{"Ident":["mul",0]}]},{"key":{"Global":49},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":121},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}},{"Ident":["mul",0]}]},{"key":{"Global":50},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":122},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}},{"Ident":["mul",0]}]},{"key":{"Global":51},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":123},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}},{"Ident":["mul",0]}]},{"key":{"Global":52},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":124},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}},{"Ident":["mul",0]}]},{"key":{"Fun":125},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_base",0]}]},{"key":{"Fun":126},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_clamped",0]}]},{"key":{"Fun":127},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_base_clamped",0]}]},{"key":{"Fun":128},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["vartime_double_scalar_mul_basepoint",0]}]},{"key":{"Fun":129},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["vartime_triple_scalar_mul_basepoint",0]}]},{"key":{"Fun":130},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_by_cofactor",0]}]},{"key":{"Fun":131},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_by_pow_2",0]}]},{"key":{"Fun":132},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["is_small_order",0]}]},{"key":{"Fun":133},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["is_torsion_free",0]}]},{"key":{"Global":53},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":134},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}},{"Ident":["fmt",0]}]},{"key":{"TraitImpl":108},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Impl":{"Trait":108}}]},{"key":{"Fun":135},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Impl":{"Trait":108}},{"Ident":["into",0]}]},{"key":{"TraitDecl":26},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]}]},{"key":{"TraitImpl":109},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":109}}]},{"key":{"TraitImpl":110},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":110}}]},{"key":{"Fun":136},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":110}},{"Ident":["ct_eq",0]}]},{"key":{"TraitImpl":111},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":111}}]},{"key":{"Fun":137},"value":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]},{"Ident":["default",0]}]},{"key":{"TraitImpl":112},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":112}}]},{"key":{"Global":54},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]},{"Ident":["{promoted_const}",1]}]},{"key":{"Global":55},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"TraitImpl":113},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}}]},{"key":{"Fun":138},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}},{"Ident":["bitor",0]}]},{"key":{"Global":56},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invsqrt",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":139},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]},{"Ident":["drop_glue",0]}]},{"key":{"Type":13},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":140},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]},{"Ident":["fmt",0]}]},{"key":{"Type":14},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Formatter",0]}]},{"key":{"Type":15},"value":[{"Ident":["core",0]},{"Ident":["result",0]},{"Ident":["Result",0]}]},{"key":{"Type":16},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Error",0]}]},{"key":{"Type":17},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Arguments",0]}]},{"key":{"Type":18},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["RangeFull",0]}]},{"key":{"Type":19},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["rt",0]},{"Ident":["Argument",0]}]},{"key":{"TraitImpl":114},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}}]},{"key":{"Fun":141},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}},{"Ident":["index",0]}]},{"key":{"TraitDecl":27},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]}]},{"key":{"TraitImpl":115},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}}]},{"key":{"TraitDecl":28},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]}]},{"key":{"TraitImpl":116},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}}]},{"key":{"Fun":142},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["rt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[3353,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["new_debug",0]}]},{"key":{"TraitImpl":117},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}}]},{"key":{"TraitImpl":118},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}}]},{"key":{"TraitImpl":119},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}}]},{"key":{"Fun":143},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[3420,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["new",0]}]},{"key":{"Fun":144},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[3469,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["write_fmt",0]}]},{"key":{"Type":20},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":145},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]},{"Ident":["add_assign",0]}]},{"key":{"Type":21},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["Range",0]}]},{"key":{"Type":22},"value":[{"Ident":["core",0]},{"Ident":["option",0]},{"Ident":["Option",0]}]},{"key":{"TraitImpl":120},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}}]},{"key":{"Fun":146},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}},{"Ident":["into_iter",0]}]},{"key":{"TraitImpl":121},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}}]},{"key":{"TraitDecl":29},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]}]},{"key":{"TraitImpl":122},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}}]},{"key":{"Fun":147},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["next",0]}]},{"key":{"Type":23},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":148},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]},{"Ident":["add",0]}]},{"key":{"Type":24},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":149},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]},{"Ident":["sub_assign",0]}]},{"key":{"Type":25},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":150},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]},{"Ident":["sub",0]}]},{"key":{"Type":26},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":151},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]},{"Ident":["mul_assign",0]}]},{"key":{"Type":27},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":152},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]},{"Ident":["mul",0]}]},{"key":{"Fun":153},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["m",0]}]},{"key":{"Global":57},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Type":28},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":154},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]},{"Ident":["neg",0]}]},{"key":{"TraitImpl":123},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}}]},{"key":{"Fun":155},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":156},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":157},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":158},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ZERO",0]}]},{"key":{"Fun":159},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ONE",0]}]},{"key":{"Fun":160},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["MINUS_ONE",0]}]},{"key":{"Global":58},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Fun":161},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_bytes",0]},{"Ident":["load8_at",0]}]},{"key":{"Fun":162},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["m",0]}]},{"key":{"Global":59},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Type":29},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["StructuralPartialEq",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":163},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["Identity",0]},{"Ident":["identity",0]}]},{"key":{"Type":30},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":164},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]},{"Ident":["is_valid",0]}]},{"key":{"Global":60},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["is_valid",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":165},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":98}},{"Ident":["clone",0]}]},{"key":{"Global":61},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":166},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}},{"Ident":["fmt",0]}]},{"key":{"Fun":167},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":100}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":168},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":169},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":102}},{"Ident":["default",0]}]},{"key":{"Fun":170},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":103}},{"Ident":["identity",0]}]},{"key":{"Global":62},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":171},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}},{"Ident":["eq",0]}]},{"key":{"Fun":172},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[4121,{"Adt":{"id":{"Adt":10},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["to_edwards",0]}]},{"key":{"Fun":173},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":4121},"kind":"InherentImplBlock"}}},{"Ident":["compress",0]}]},{"key":{"Global":63},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":174},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}},{"Ident":["mul",0]}]},{"key":{"Global":64},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":175},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}},{"Ident":["mul",0]}]},{"key":{"Type":31},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":176},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["finish",0]}]},{"key":{"Fun":177},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write",0]}]},{"key":{"Fun":178},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u8",0]}]},{"key":{"Fun":179},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u16",0]}]},{"key":{"Fun":180},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u32",0]}]},{"key":{"Fun":181},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u64",0]}]},{"key":{"Fun":182},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_u128",0]}]},{"key":{"Fun":183},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_usize",0]}]},{"key":{"Fun":184},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i8",0]}]},{"key":{"Fun":185},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i16",0]}]},{"key":{"Fun":186},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i32",0]}]},{"key":{"Fun":187},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i64",0]}]},{"key":{"Fun":188},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_i128",0]}]},{"key":{"Fun":189},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_isize",0]}]},{"key":{"Fun":190},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_length_prefix",0]}]},{"key":{"Fun":191},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write_str",0]}]},{"key":{"TraitImpl":124},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":124}}]},{"key":{"Fun":192},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":124}},{"Ident":["hash",0]}]},{"key":{"TraitImpl":125},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}}]},{"key":{"TraitImpl":126},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}}]},{"key":{"TraitImpl":127},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}}]},{"key":{"Fun":193},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["decompress",0]},{"Ident":["step_1",0]}]},{"key":{"Fun":194},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["decompress",0]},{"Ident":["step_2",0]}]},{"key":{"Fun":195},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["TryFrom",0]},{"Ident":["try_from",0]}]},{"key":{"TraitImpl":128},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}}]},{"key":{"Fun":196},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}},{"Ident":["bitand",0]}]},{"key":{"Global":65},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective_niels",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Global":66},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_affine_niels",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Type":32},"value":[{"Ident":["curve25519",0]},{"Ident":["montgomery",0]},{"Ident":["MontgomeryPoint",0]}]},{"key":{"Type":33},"value":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":197},"value":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]},{"Ident":["borrow",0]}]},{"key":{"Fun":198},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]},{"Ident":["sum",0]}]},{"key":{"Type":34},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":199},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next",0]}]},{"key":{"Fun":200},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next_chunk",0]}]},{"key":{"Type":35},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["iter",0]},{"Ident":["IntoIter",0]}]},{"key":{"Fun":201},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["size_hint",0]}]},{"key":{"Fun":202},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["count",0]}]},{"key":{"Fun":203},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["last",0]}]},{"key":{"Fun":204},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["advance_by",0]}]},{"key":{"Type":36},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["NonZero",0]}]},{"key":{"TraitDecl":30},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["ZeroablePrimitive",0]}]},{"key":{"TraitImpl":129},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":129}}]},{"key":{"Fun":205},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["nth",0]}]},{"key":{"Fun":206},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["step_by",0]}]},{"key":{"Type":37},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["step_by",0]},{"Ident":["StepBy",0]}]},{"key":{"Fun":207},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["chain",0]}]},{"key":{"TraitDecl":31},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]}]},{"key":{"Type":38},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["chain",0]},{"Ident":["Chain",0]}]},{"key":{"Fun":208},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["zip",0]}]},{"key":{"Type":39},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["Zip",0]}]},{"key":{"Fun":209},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["intersperse",0]}]},{"key":{"Type":40},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["Intersperse",0]}]},{"key":{"Fun":210},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["intersperse_with",0]}]},{"key":{"TraitDecl":32},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]}]},{"key":{"TraitDecl":33},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]}]},{"key":{"Type":41},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["IntersperseWith",0]}]},{"key":{"Fun":211},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map",0]}]},{"key":{"Type":42},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map",0]},{"Ident":["Map",0]}]},{"key":{"Fun":212},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["for_each",0]}]},{"key":{"Fun":213},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["filter",0]}]},{"key":{"Type":43},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter",0]},{"Ident":["Filter",0]}]},{"key":{"Fun":214},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["filter_map",0]}]},{"key":{"Type":44},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter_map",0]},{"Ident":["FilterMap",0]}]},{"key":{"Fun":215},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["enumerate",0]}]},{"key":{"Type":45},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["enumerate",0]},{"Ident":["Enumerate",0]}]},{"key":{"Fun":216},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["peekable",0]}]},{"key":{"Type":46},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["peekable",0]},{"Ident":["Peekable",0]}]},{"key":{"Fun":217},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["skip_while",0]}]},{"key":{"Type":47},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip_while",0]},{"Ident":["SkipWhile",0]}]},{"key":{"Fun":218},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["take_while",0]}]},{"key":{"Type":48},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take_while",0]},{"Ident":["TakeWhile",0]}]},{"key":{"Fun":219},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map_while",0]}]},{"key":{"Type":49},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_while",0]},{"Ident":["MapWhile",0]}]},{"key":{"Fun":220},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["skip",0]}]},{"key":{"Type":50},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip",0]},{"Ident":["Skip",0]}]},{"key":{"Fun":221},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["take",0]}]},{"key":{"Type":51},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take",0]},{"Ident":["Take",0]}]},{"key":{"Fun":222},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["scan",0]}]},{"key":{"Type":52},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["scan",0]},{"Ident":["Scan",0]}]},{"key":{"Fun":223},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["flat_map",0]}]},{"key":{"Type":53},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["FlatMap",0]}]},{"key":{"Fun":224},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["flatten",0]}]},{"key":{"Type":54},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["Flatten",0]}]},{"key":{"Fun":225},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map_windows",0]}]},{"key":{"Type":55},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_windows",0]},{"Ident":["MapWindows",0]}]},{"key":{"Fun":226},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["fuse",0]}]},{"key":{"Type":56},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["fuse",0]},{"Ident":["Fuse",0]}]},{"key":{"Fun":227},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["inspect",0]}]},{"key":{"Type":57},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["inspect",0]},{"Ident":["Inspect",0]}]},{"key":{"Fun":228},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["by_ref",0]}]},{"key":{"Fun":229},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["collect",0]}]},{"key":{"TraitDecl":34},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]}]},{"key":{"Fun":230},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_collect",0]}]},{"key":{"TraitDecl":35},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]}]},{"key":{"TraitDecl":36},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Residual",0]}]},{"key":{"Fun":231},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["collect_into",0]}]},{"key":{"TraitDecl":37},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]}]},{"key":{"Fun":232},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partition",0]}]},{"key":{"Fun":233},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partition_in_place",0]}]},{"key":{"TraitDecl":38},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]}]},{"key":{"Fun":234},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_partitioned",0]}]},{"key":{"Fun":235},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_fold",0]}]},{"key":{"Fun":236},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_for_each",0]}]},{"key":{"Fun":237},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["fold",0]}]},{"key":{"Fun":238},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["reduce",0]}]},{"key":{"Fun":239},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_reduce",0]}]},{"key":{"Fun":240},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["all",0]}]},{"key":{"Fun":241},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["any",0]}]},{"key":{"Fun":242},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["find",0]}]},{"key":{"Fun":243},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["find_map",0]}]},{"key":{"Fun":244},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_find",0]}]},{"key":{"Fun":245},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["position",0]}]},{"key":{"Fun":246},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["rposition",0]}]},{"key":{"TraitDecl":39},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]}]},{"key":{"Fun":247},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max",0]}]},{"key":{"TraitDecl":40},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]}]},{"key":{"Fun":248},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min",0]}]},{"key":{"Fun":249},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max_by_key",0]}]},{"key":{"Fun":250},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max_by",0]}]},{"key":{"Type":58},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ordering",0]}]},{"key":{"Fun":251},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min_by_key",0]}]},{"key":{"Fun":252},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min_by",0]}]},{"key":{"Fun":253},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["rev",0]}]},{"key":{"Type":59},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["rev",0]},{"Ident":["Rev",0]}]},{"key":{"Fun":254},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["unzip",0]}]},{"key":{"Fun":255},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["copied",0]}]},{"key":{"Type":60},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["copied",0]},{"Ident":["Copied",0]}]},{"key":{"Fun":256},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cloned",0]}]},{"key":{"Type":61},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cloned",0]},{"Ident":["Cloned",0]}]},{"key":{"Fun":257},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cycle",0]}]},{"key":{"Type":62},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cycle",0]},{"Ident":["Cycle",0]}]},{"key":{"Fun":258},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["array_chunks",0]}]},{"key":{"Type":63},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["array_chunks",0]},{"Ident":["ArrayChunks",0]}]},{"key":{"Fun":259},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["sum",0]}]},{"key":{"Fun":260},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["product",0]}]},{"key":{"TraitDecl":41},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]}]},{"key":{"Fun":261},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cmp",0]}]},{"key":{"Fun":262},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cmp_by",0]}]},{"key":{"Fun":263},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partial_cmp",0]}]},{"key":{"TraitDecl":42},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]}]},{"key":{"Fun":264},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partial_cmp_by",0]}]},{"key":{"Fun":265},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["eq",0]}]},{"key":{"Fun":266},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["eq_by",0]}]},{"key":{"Fun":267},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["ne",0]}]},{"key":{"Fun":268},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["lt",0]}]},{"key":{"Fun":269},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["le",0]}]},{"key":{"Fun":270},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["gt",0]}]},{"key":{"Fun":271},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["ge",0]}]},{"key":{"Fun":272},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted",0]}]},{"key":{"Fun":273},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted_by",0]}]},{"key":{"Fun":274},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted_by_key",0]}]},{"key":{"Fun":275},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"TraitDecl":43},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]}]},{"key":{"Fun":276},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["variable_base_mul",0]}]},{"key":{"Global":67},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["ED25519_BASEPOINT_POINT",0]}]},{"key":{"Fun":277},"value":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Ident":["clamp_integer",0]}]},{"key":{"Fun":278},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_double_base_mul",0]}]},{"key":{"Fun":279},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_triple_base_mul_128_128_256",0]}]},{"key":{"TraitImpl":130},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}}]},{"key":{"TraitImpl":131},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}}]},{"key":{"Fun":280},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}},{"Ident":["is_identity",0]}]},{"key":{"Global":68},"value":[{"Ident":["curve25519",0]},{"Ident":["constants",0]},{"Ident":["BASEPOINT_ORDER",0]}]},{"key":{"TraitDecl":44},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["Into",0]}]},{"key":{"Fun":281},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]},{"Ident":["from",0]}]},{"key":{"Fun":282},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":109}},{"Ident":["from",0]}]},{"key":{"Fun":283},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":111}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":284},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":112}},{"Ident":["from",0]}]},{"key":{"Fun":285},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]},{"Ident":["{promoted_const}",1]}]},{"key":{"Fun":286},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"TraitDecl":45},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]}]},{"key":{"Global":69},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":287},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invsqrt",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Global":70},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}},{"Ident":["{vtable}",0]}]},{"key":{"Type":64},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":288},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["index",0]}]},{"key":{"Global":71},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":289},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}},{"Ident":["index",0]}]},{"key":{"TraitDecl":46},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]}]},{"key":{"Type":65},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":290},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get",0]}]},{"key":{"Fun":291},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_mut",0]}]},{"key":{"Fun":292},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":293},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":294},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index",0]}]},{"key":{"Fun":295},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index_mut",0]}]},{"key":{"Global":72},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":132},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":132}}]},{"key":{"Fun":296},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get",0]}]},{"key":{"Fun":297},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_mut",0]}]},{"key":{"Fun":298},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":299},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":300},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["index",0]}]},{"key":{"Fun":301},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["index_mut",0]}]},{"key":{"Global":73},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":302},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["fmt",0]}]},{"key":{"Global":74},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":303},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}},{"Ident":["fmt",0]}]},{"key":{"Global":75},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":304},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}},{"Ident":["fmt",0]}]},{"key":{"Global":76},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}},{"Ident":["{vtable}",0]}]},{"key":{"Global":77},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":305},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["size_hint",0]}]},{"key":{"Fun":306},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["count",0]}]},{"key":{"Fun":307},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["last",0]}]},{"key":{"Fun":308},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["advance_by",0]}]},{"key":{"Fun":309},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["nth",0]}]},{"key":{"Fun":310},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["max",0]}]},{"key":{"Fun":311},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["min",0]}]},{"key":{"Fun":312},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["is_sorted",0]}]},{"key":{"Fun":313},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"Fun":314},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["steps_between",0]}]},{"key":{"Fun":315},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_checked",0]}]},{"key":{"Fun":316},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward",0]}]},{"key":{"Fun":317},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":318},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_checked",0]}]},{"key":{"Fun":319},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward",0]}]},{"key":{"Fun":320},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_unchecked",0]}]},{"key":{"TraitImpl":133},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":133}}]},{"key":{"TraitImpl":134},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}}]},{"key":{"Fun":321},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["steps_between",0]}]},{"key":{"Fun":322},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":323},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["forward",0]}]},{"key":{"Fun":324},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":325},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":326},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["backward",0]}]},{"key":{"Fun":327},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["backward_unchecked",0]}]},{"key":{"Fun":328},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"TraitImpl":135},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":135}}]},{"key":{"Fun":329},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Fun":330},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"Fun":331},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["is_valid",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":332},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3469},"kind":"InherentImplBlock"}}},{"Ident":["debug_struct_field2_finish",0]}]},{"key":{"Fun":333},"value":[{"Ident":["subtle",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1496,{"Adt":{"id":{"Adt":9},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["unwrap_u8",0]}]},{"key":{"Fun":334},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}},{"Ident":["hash",0]}]},{"key":{"Fun":335},"value":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}},{"Ident":["hash_slice",0]}]},{"key":{"Global":78},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":336},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}},{"Ident":["fmt",0]}]},{"key":{"Global":79},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":337},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}},{"Ident":["fmt",0]}]},{"key":{"TraitDecl":47},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]}]},{"key":{"Global":80},"value":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":338},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective_niels",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":339},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_affine_niels",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"TraitDecl":48},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]}]},{"key":{"TraitImpl":136},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":136}}]},{"key":{"TraitImpl":137},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":137}}]},{"key":{"Type":66},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Ident":["NonZeroUsizeInner",0]}]},{"key":{"TraitImpl":138},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":138}}]},{"key":{"Type":67},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":340},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["into_iter",0]}]},{"key":{"Type":68},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":341},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["call_mut",0]}]},{"key":{"Type":69},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":342},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["call_once",0]}]},{"key":{"Fun":343},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]},{"Ident":["from_iter",0]}]},{"key":{"TraitDecl":49},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]}]},{"key":{"Fun":344},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["from_output",0]}]},{"key":{"Fun":345},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["branch",0]}]},{"key":{"Type":70},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["control_flow",0]},{"Ident":["ControlFlow",0]}]},{"key":{"Fun":346},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend",0]}]},{"key":{"Fun":347},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_one",0]}]},{"key":{"Fun":348},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_reserve",0]}]},{"key":{"Fun":349},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_one_unchecked",0]}]},{"key":{"Type":71},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":350},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["next_back",0]}]},{"key":{"Fun":351},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["advance_back_by",0]}]},{"key":{"Fun":352},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["nth_back",0]}]},{"key":{"Fun":353},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["try_rfold",0]}]},{"key":{"Fun":354},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["rfold",0]}]},{"key":{"Fun":355},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["rfind",0]}]},{"key":{"Type":72},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":356},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["len",0]}]},{"key":{"Fun":357},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["is_empty",0]}]},{"key":{"Fun":358},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["cmp",0]}]},{"key":{"Fun":359},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["max",0]}]},{"key":{"Fun":360},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["min",0]}]},{"key":{"Fun":361},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["clamp",0]}]},{"key":{"Fun":362},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]},{"Ident":["product",0]}]},{"key":{"Type":73},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":363},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":364},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["lt",0]}]},{"key":{"Fun":365},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["le",0]}]},{"key":{"Fun":366},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["gt",0]}]},{"key":{"Fun":367},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["ge",0]}]},{"key":{"Fun":368},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":369},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":370},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":371},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_ge",0]}]},{"key":{"Fun":372},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]},{"Ident":["size",0]}]},{"key":{"Type":74},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["BackendKind",0]}]},{"key":{"Fun":373},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["get_selected_backend",0]}]},{"key":{"Fun":374},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["variable_base",0]},{"Ident":["mul",0]}]},{"key":{"Fun":375},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["variable_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul",0]}]},{"key":{"Fun":376},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["ED25519_BASEPOINT_POINT",0]}]},{"key":{"Fun":377},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["mul",0]}]},{"key":{"Fun":378},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul",0]}]},{"key":{"Fun":379},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["scalar_fits_in_128_bits",0]}]},{"key":{"Fun":380},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_triple_base_mul_128_128_256_prechecked",0]}]},{"key":{"TraitImpl":139},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":139}}]},{"key":{"TraitImpl":140},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}}]},{"key":{"Fun":381},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["steps_between",0]}]},{"key":{"Fun":382},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":383},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["forward",0]}]},{"key":{"Fun":384},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":385},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":386},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["backward",0]}]},{"key":{"Fun":387},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["backward_unchecked",0]}]},{"key":{"TraitDecl":50},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]}]},{"key":{"Global":81},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":388},"value":[{"Ident":["curve25519",0]},{"Ident":["constants",0]},{"Ident":["BASEPOINT_ORDER",0]}]},{"key":{"Fun":389},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["Into",0]},{"Ident":["into",0]}]},{"key":{"Global":82},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["SQRT_M1",0]}]},{"key":{"Type":75},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":390},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]},{"Ident":["bitor",0]}]},{"key":{"Type":76},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]},{"Ident":["{vtable}",0]}]},{"key":{"Global":83},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":132}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":391},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":133}},{"Ident":["clone",0]}]},{"key":{"Global":84},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":141},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}}]},{"key":{"Fun":392},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":393},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["lt",0]}]},{"key":{"Fun":394},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["le",0]}]},{"key":{"Fun":395},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["gt",0]}]},{"key":{"Fun":396},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["ge",0]}]},{"key":{"Fun":397},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":398},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":399},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":400},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["__chaining_ge",0]}]},{"key":{"TraitImpl":142},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":142}}]},{"key":{"Global":85},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D",0]}]},{"key":{"Fun":401},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":402},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}]},{"key":{"Type":77},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":403},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]},{"Ident":["bitand",0]}]},{"key":{"Global":86},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D2",0]}]},{"key":{"Type":78},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]},{"Ident":["{vtable}",0]}]},{"key":{"Global":87},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":137}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":143},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":143}}]},{"key":{"Fun":404},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]},{"Ident":["from_residual",0]}]},{"key":{"Type":79},"value":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Ident":["NafLookupTable5",0]}]},{"key":{"Fun":405},"value":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[2689,{"Adt":{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["non_adjacent_form",0]}]},{"key":{"Fun":406},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["dsm_top_index",0]}]},{"key":{"TraitImpl":144},"value":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Impl":{"Trait":144}}]},{"key":{"Fun":407},"value":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Impl":{"Trait":144}},{"Ident":["from",0]}]},{"key":{"Global":88},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["mul",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":408},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["dsm_loop",0]}]},{"key":{"Fun":409},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_triple_base",0]},{"Ident":["mul_128_128_256_prechecked",0]}]},{"key":{"Fun":410},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_triple_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul_128_128_256_prechecked",0]}]},{"key":{"Fun":411},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":139}},{"Ident":["clone",0]}]},{"key":{"Global":89},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":145},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":145}}]},{"key":{"Fun":412},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":413},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["lt",0]}]},{"key":{"Fun":414},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["le",0]}]},{"key":{"Fun":415},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["gt",0]}]},{"key":{"Fun":416},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["ge",0]}]},{"key":{"Fun":417},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":418},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":419},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":420},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["__chaining_ge",0]}]},{"key":{"Type":80},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":421},"value":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]},{"Ident":["is_identity",0]}]},{"key":{"Fun":422},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["SQRT_M1",0]}]},{"key":{"Global":90},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":423},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}},{"Ident":["eq",0]}]},{"key":{"Fun":424},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}},{"Ident":["ne",0]}]},{"key":{"Fun":425},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":142}},{"Ident":["clone",0]}]},{"key":{"Fun":426},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D",0]}]},{"key":{"Fun":427},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D2",0]}]},{"key":{"Fun":428},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":143}},{"Ident":["clone",0]}]},{"key":{"Fun":429},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[4225,{"Literal":{"Int":"I8"}}]},"kind":"InherentImplBlock"}}},{"Ident":["wrapping_sub",0]}]},{"key":{"Fun":430},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["mul",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":431},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["dsm_step_p",0]}]},{"key":{"Fun":432},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["dsm_step_b",0]}]},{"key":{"Global":91},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":145}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":433},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":145}},{"Ident":["eq",0]}]},{"key":{"Fun":434},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":145}},{"Ident":["ne",0]}]},{"key":{"Fun":435},"value":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":86,"beg":{"line":215,"col":8},"end":{"line":215,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"HashConsedValue":[1435,{"TypeVar":{"Bound":[1,0]}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[8541,{"Adt":{"id":{"Adt":79},"generics":{"regions":[],"types":[{"HashConsedValue":[1436,{"TypeVar":{"Bound":[0,0]}}]}],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["select",0]}]},{"key":{"Type":81},"value":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["AssertKind",0]}]},{"key":{"Global":92},"value":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":86,"beg":{"line":215,"col":8},"end":{"line":215,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":8541},"kind":"InherentImplBlock"}}},{"Ident":["select",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":436},"value":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":86,"beg":{"line":215,"col":8},"end":{"line":215,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":8541},"kind":"InherentImplBlock"}}},{"Ident":["select",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":437},"value":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":0}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":438},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":439},"value":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":440},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":54}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":441},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":442},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":443},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":69}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":444},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":445},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":446},"value":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":105}},{"Ident":["assert_fields_are_eq",0]}]}],"assoc_item_names":[{"types":[],"methods":["assert_receiver_is_total_eq","assert_fields_are_eq"],"consts":[]},{"types":[],"methods":["eq","ne"],"consts":[]},{"types":[],"methods":["ct_eq","ct_ne"],"consts":[]},{"types":[],"methods":["default"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":["clone","clone_from"],"consts":[]},null,{"types":[],"methods":["drop_glue"],"consts":[]},{"types":[],"methods":["fmt"],"consts":[]},{"types":[],"methods":["add_assign"],"consts":[]},{"types":["Output"],"methods":["add"],"consts":[]},{"types":[],"methods":["sub_assign"],"consts":[]},{"types":["Output"],"methods":["sub"],"consts":[]},{"types":[],"methods":["mul_assign"],"consts":[]},{"types":["Output"],"methods":["mul"],"consts":[]},{"types":["Output"],"methods":["neg"],"consts":[]},{"types":[],"methods":["conditional_select","conditional_assign","conditional_swap"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":["identity"],"consts":[]},{"types":[],"methods":["is_valid"],"consts":[]},{"types":[],"methods":["hash","hash_slice"],"consts":[]},{"types":[],"methods":["finish","write","write_u8","write_u16","write_u32","write_u64","write_u128","write_usize","write_i8","write_i16","write_i32","write_i64","write_i128","write_isize","write_length_prefix","write_str"],"consts":[]},{"types":["Error"],"methods":["try_from"],"consts":[]},{"types":[],"methods":["borrow"],"consts":[]},{"types":[],"methods":["sum"],"consts":[]},{"types":["Item"],"methods":["next","next_chunk","size_hint","count","last","advance_by","nth","step_by","chain","zip","intersperse","intersperse_with","map","for_each","filter","filter_map","enumerate","peekable","skip_while","take_while","map_while","skip","take","scan","flat_map","flatten","map_windows","fuse","inspect","by_ref","collect","try_collect","collect_into","partition","partition_in_place","is_partitioned","try_fold","try_for_each","fold","reduce","try_reduce","all","any","find","find_map","try_find","position","rposition","max","min","max_by_key","max_by","min_by_key","min_by","rev","unzip","copied","cloned","cycle","array_chunks","sum","product","cmp","cmp_by","partial_cmp","partial_cmp_by","eq","eq_by","ne","lt","le","gt","ge","is_sorted","is_sorted_by","is_sorted_by_key","__iterator_get_unchecked"],"consts":[]},{"types":[],"methods":["from"],"consts":[]},{"types":["Output"],"methods":["index"],"consts":[]},{"types":["Output"],"methods":["get","get_mut","get_unchecked","get_unchecked_mut","index","index_mut"],"consts":[]},{"types":[],"methods":["steps_between","forward_checked","forward","forward_unchecked","backward_checked","backward","backward_unchecked"],"consts":[]},{"types":["NonZeroInner"],"methods":[],"consts":[]},{"types":["Item","IntoIter"],"methods":["into_iter"],"consts":[]},{"types":[],"methods":["call_mut"],"consts":[]},{"types":["Output"],"methods":["call_once"],"consts":[]},{"types":[],"methods":["from_iter"],"consts":[]},{"types":["Output","Residual","Self_Clause1_TryType"],"methods":["from_output","branch"],"consts":[]},{"types":["TryType"],"methods":[],"consts":[]},{"types":[],"methods":["extend","extend_one","extend_reserve","extend_one_unchecked"],"consts":[]},{"types":[],"methods":["next_back","advance_back_by","nth_back","try_rfold","rfold","rfind"],"consts":[]},{"types":[],"methods":["len","is_empty"],"consts":[]},{"types":[],"methods":["cmp","max","min","clamp"],"consts":[]},{"types":[],"methods":["product"],"consts":[]},{"types":[],"methods":["partial_cmp","lt","le","gt","ge","__chaining_lt","__chaining_le","__chaining_gt","__chaining_ge"],"consts":[]},{"types":[],"methods":["size"],"consts":["MAY_HAVE_SIDE_EFFECT"]},{"types":[],"methods":["into"],"consts":[]},{"types":["Output"],"methods":["bitor"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":["Output"],"methods":["bitand"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":["from_residual"],"consts":[]},{"types":[],"methods":["is_identity"],"consts":[]}],"short_names":[{"key":{"TraitImpl":0},"value":[{"Ident":["impl_Eq_for_FieldElement51",0]}]},{"key":{"TraitImpl":1},"value":[{"Ident":["impl_PartialEq_FieldElement51_for_FieldElement51",0]}]},{"key":{"TraitImpl":2},"value":[{"Ident":["impl_ConstantTimeEq_for_FieldElement51",0]}]},{"key":{"TraitImpl":3},"value":[{"Ident":["impl_Default_for_FieldElement51",0]}]},{"key":{"TraitImpl":4},"value":[{"Ident":["impl_Copy_for_FieldElement51",0]}]},{"key":{"TraitImpl":5},"value":[{"Ident":["impl_TrivialClone_for_FieldElement51",0]}]},{"key":{"TraitImpl":6},"value":[{"Ident":["impl_Clone_for_FieldElement51",0]}]},{"key":{"TraitImpl":7},"value":[{"Ident":["impl_Debug_for_FieldElement51",0]}]},{"key":{"TraitImpl":8},"value":[{"Ident":["impl_AddAssign_for_FieldElement51",0]}]},{"key":{"TraitImpl":9},"value":[{"Impl":{"Trait":9}}]},{"key":{"TraitImpl":10},"value":[{"Ident":["impl_SubAssign_for_FieldElement51",0]}]},{"key":{"TraitImpl":11},"value":[{"Impl":{"Trait":11}}]},{"key":{"TraitImpl":12},"value":[{"Ident":["impl_MulAssign_for_FieldElement51",0]}]},{"key":{"TraitImpl":13},"value":[{"Impl":{"Trait":13}}]},{"key":{"TraitImpl":14},"value":[{"Impl":{"Trait":14}}]},{"key":{"TraitImpl":15},"value":[{"Ident":["impl_ConditionallySelectable_for_FieldElement51",0]}]},{"key":{"TraitImpl":16},"value":[{"Ident":["impl_Copy_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":17},"value":[{"Ident":["impl_TrivialClone_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":18},"value":[{"Ident":["impl_Clone_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":19},"value":[{"Ident":["impl_Copy_for_CompletedPoint",0]}]},{"key":{"TraitImpl":20},"value":[{"Ident":["impl_TrivialClone_for_CompletedPoint",0]}]},{"key":{"TraitImpl":21},"value":[{"Ident":["impl_Clone_for_CompletedPoint",0]}]},{"key":{"TraitImpl":22},"value":[{"Ident":["impl_Copy_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":23},"value":[{"Ident":["impl_TrivialClone_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":24},"value":[{"Ident":["impl_Clone_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":25},"value":[{"Ident":["impl_Eq_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":26},"value":[{"Ident":["impl_StructuralPartialEq_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":27},"value":[{"Ident":["impl_PartialEq_AffineNielsPoint_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":28},"value":[{"Ident":["impl_Copy_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":29},"value":[{"Ident":["impl_TrivialClone_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":30},"value":[{"Ident":["impl_Clone_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":31},"value":[{"Ident":["impl_Identity_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":32},"value":[{"Ident":["impl_Identity_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":33},"value":[{"Ident":["impl_Default_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":34},"value":[{"Ident":["impl_Identity_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":35},"value":[{"Ident":["impl_Default_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":36},"value":[{"Ident":["impl_ValidityCheck_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":37},"value":[{"Ident":["impl_ConditionallySelectable_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":38},"value":[{"Ident":["impl_ConditionallySelectable_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":39},"value":[{"Impl":{"Trait":39}}]},{"key":{"TraitImpl":40},"value":[{"Impl":{"Trait":40}}]},{"key":{"TraitImpl":41},"value":[{"Impl":{"Trait":41}}]},{"key":{"TraitImpl":42},"value":[{"Impl":{"Trait":42}}]},{"key":{"TraitImpl":43},"value":[{"Impl":{"Trait":43}}]},{"key":{"TraitImpl":44},"value":[{"Impl":{"Trait":44}}]},{"key":{"TraitImpl":45},"value":[{"Ident":["impl_Debug_for_ProjectivePoint",0]}]},{"key":{"TraitImpl":46},"value":[{"Ident":["impl_Debug_for_CompletedPoint",0]}]},{"key":{"TraitImpl":47},"value":[{"Ident":["impl_Debug_for_AffineNielsPoint",0]}]},{"key":{"TraitImpl":48},"value":[{"Ident":["impl_Debug_for_ProjectiveNielsPoint",0]}]},{"key":{"TraitImpl":49},"value":[{"Ident":["impl_Copy_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":50},"value":[{"Ident":["impl_TrivialClone_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":51},"value":[{"Ident":["impl_Clone_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":52},"value":[{"Ident":["impl_Hash_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":53},"value":[{"Ident":["impl_ConstantTimeEq_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":54},"value":[{"Ident":["impl_Eq_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":55},"value":[{"Ident":["impl_PartialEq_CompressedEdwardsY_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":56},"value":[{"Ident":["impl_Debug_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":57},"value":[{"Ident":["impl_TryFrom_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":58},"value":[{"Ident":["impl_Copy_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":59},"value":[{"Ident":["impl_TrivialClone_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":60},"value":[{"Ident":["impl_Clone_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":61},"value":[{"Ident":["impl_Identity_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":62},"value":[{"Ident":["impl_Default_for_CompressedEdwardsY",0]}]},{"key":{"TraitImpl":63},"value":[{"Ident":["impl_Identity_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":64},"value":[{"Ident":["impl_Default_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":65},"value":[{"Ident":["impl_ValidityCheck_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":66},"value":[{"Ident":["impl_ConditionallySelectable_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":67},"value":[{"Ident":["impl_ConstantTimeEq_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":68},"value":[{"Ident":["impl_PartialEq_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":69},"value":[{"Ident":["impl_Eq_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":70},"value":[{"Impl":{"Trait":70}}]},{"key":{"TraitImpl":71},"value":[{"Ident":["impl_Add_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":72},"value":[{"Impl":{"Trait":72}}]},{"key":{"TraitImpl":73},"value":[{"Ident":["impl_Add_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":74},"value":[{"Ident":["impl_AddAssign_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":75},"value":[{"Ident":["impl_AddAssign_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":76},"value":[{"Impl":{"Trait":76}}]},{"key":{"TraitImpl":77},"value":[{"Ident":["impl_Sub_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":78},"value":[{"Impl":{"Trait":78}}]},{"key":{"TraitImpl":79},"value":[{"Ident":["impl_Sub_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":80},"value":[{"Ident":["impl_SubAssign_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":81},"value":[{"Ident":["impl_SubAssign_EdwardsPoint_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":82},"value":[{"Ident":["impl_Sum_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":83},"value":[{"Impl":{"Trait":83}}]},{"key":{"TraitImpl":84},"value":[{"Ident":["impl_Neg_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":85},"value":[{"Ident":["impl_MulAssign_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":86},"value":[{"Ident":["impl_MulAssign_Scalar_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":87},"value":[{"Ident":["impl_Mul_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":88},"value":[{"Impl":{"Trait":88}}]},{"key":{"TraitImpl":89},"value":[{"Ident":["impl_Mul_Scalar_for_EdwardsPoint",0]}]},{"key":{"TraitImpl":90},"value":[{"Impl":{"Trait":90}}]},{"key":{"TraitImpl":91},"value":[{"Impl":{"Trait":91}}]},{"key":{"TraitImpl":92},"value":[{"Ident":["impl_Mul_EdwardsPoint_for_Scalar",0]}]},{"key":{"TraitImpl":93},"value":[{"Impl":{"Trait":93}}]},{"key":{"TraitImpl":94},"value":[{"Impl":{"Trait":94}}]},{"key":{"TraitImpl":95},"value":[{"Ident":["impl_Debug_for_EdwardsPoint",0]}]},{"key":{"Global":0},"value":[{"Impl":{"Trait":1}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":2},"value":[{"Impl":{"Trait":1}},{"Ident":["eq",0]}]},{"key":{"Fun":5},"value":[{"Impl":{"Trait":2}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":8},"value":[{"Impl":{"Trait":3}},{"Ident":["default",0]}]},{"key":{"Fun":17},"value":[{"Impl":{"Trait":6}},{"Ident":["clone",0]}]},{"key":{"Global":1},"value":[{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":20},"value":[{"Impl":{"Trait":7}},{"Ident":["fmt",0]}]},{"key":{"Global":2},"value":[{"Impl":{"Trait":8}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":21},"value":[{"Impl":{"Trait":8}},{"Ident":["add_assign",0]}]},{"key":{"Global":3},"value":[{"Impl":{"Trait":9}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":22},"value":[{"Impl":{"Trait":9}},{"Ident":["add",0]}]},{"key":{"Global":4},"value":[{"Impl":{"Trait":10}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":23},"value":[{"Impl":{"Trait":10}},{"Ident":["sub_assign",0]}]},{"key":{"Global":5},"value":[{"Impl":{"Trait":11}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":24},"value":[{"Impl":{"Trait":11}},{"Ident":["sub",0]}]},{"key":{"Global":6},"value":[{"Impl":{"Trait":12}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":25},"value":[{"Impl":{"Trait":12}},{"Ident":["mul_assign",0]}]},{"key":{"Global":7},"value":[{"Impl":{"Trait":13}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":26},"value":[{"Impl":{"Trait":13}},{"Ident":["mul",0]}]},{"key":{"Global":8},"value":[{"Impl":{"Trait":14}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":27},"value":[{"Impl":{"Trait":14}},{"Ident":["neg",0]}]},{"key":{"Fun":28},"value":[{"Impl":{"Trait":15}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":29},"value":[{"Impl":{"Trait":15}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":30},"value":[{"Impl":{"Trait":15}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":39},"value":[{"Impl":{"Trait":18}},{"Ident":["clone",0]}]},{"key":{"Fun":40},"value":[{"Impl":{"Trait":21}},{"Ident":["clone",0]}]},{"key":{"Fun":41},"value":[{"Impl":{"Trait":24}},{"Ident":["clone",0]}]},{"key":{"Fun":42},"value":[{"Impl":{"Trait":25}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Global":12},"value":[{"Impl":{"Trait":26}},{"Ident":["{vtable}",0]}]},{"key":{"Global":13},"value":[{"Impl":{"Trait":27}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":43},"value":[{"Impl":{"Trait":27}},{"Ident":["eq",0]}]},{"key":{"Fun":44},"value":[{"Impl":{"Trait":30}},{"Ident":["clone",0]}]},{"key":{"Fun":45},"value":[{"Impl":{"Trait":31}},{"Ident":["identity",0]}]},{"key":{"Fun":46},"value":[{"Impl":{"Trait":32}},{"Ident":["identity",0]}]},{"key":{"Fun":47},"value":[{"Impl":{"Trait":33}},{"Ident":["default",0]}]},{"key":{"Fun":48},"value":[{"Impl":{"Trait":34}},{"Ident":["identity",0]}]},{"key":{"Fun":49},"value":[{"Impl":{"Trait":35}},{"Ident":["default",0]}]},{"key":{"Global":14},"value":[{"Impl":{"Trait":36}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":50},"value":[{"Impl":{"Trait":36}},{"Ident":["is_valid",0]}]},{"key":{"Fun":51},"value":[{"Impl":{"Trait":37}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":52},"value":[{"Impl":{"Trait":37}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":56},"value":[{"Impl":{"Trait":38}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":57},"value":[{"Impl":{"Trait":38}},{"Ident":["conditional_assign",0]}]},{"key":{"Global":15},"value":[{"Impl":{"Trait":39}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":62},"value":[{"Impl":{"Trait":39}},{"Ident":["add",0]}]},{"key":{"Global":16},"value":[{"Impl":{"Trait":40}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":63},"value":[{"Impl":{"Trait":40}},{"Ident":["sub",0]}]},{"key":{"Global":17},"value":[{"Impl":{"Trait":41}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":64},"value":[{"Impl":{"Trait":41}},{"Ident":["add",0]}]},{"key":{"Global":18},"value":[{"Impl":{"Trait":42}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":65},"value":[{"Impl":{"Trait":42}},{"Ident":["sub",0]}]},{"key":{"Global":19},"value":[{"Impl":{"Trait":43}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":66},"value":[{"Impl":{"Trait":43}},{"Ident":["neg",0]}]},{"key":{"Global":20},"value":[{"Impl":{"Trait":44}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":67},"value":[{"Impl":{"Trait":44}},{"Ident":["neg",0]}]},{"key":{"Global":21},"value":[{"Impl":{"Trait":45}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":68},"value":[{"Impl":{"Trait":45}},{"Ident":["fmt",0]}]},{"key":{"Global":22},"value":[{"Impl":{"Trait":46}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":69},"value":[{"Impl":{"Trait":46}},{"Ident":["fmt",0]}]},{"key":{"Global":23},"value":[{"Impl":{"Trait":47}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":70},"value":[{"Impl":{"Trait":47}},{"Ident":["fmt",0]}]},{"key":{"Global":24},"value":[{"Impl":{"Trait":48}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":71},"value":[{"Impl":{"Trait":48}},{"Ident":["fmt",0]}]},{"key":{"TraitImpl":96},"value":[{"Ident":["impl_Copy_for_AffinePoint",0]}]},{"key":{"TraitImpl":97},"value":[{"Ident":["impl_TrivialClone_for_AffinePoint",0]}]},{"key":{"TraitImpl":98},"value":[{"Ident":["impl_Clone_for_AffinePoint",0]}]},{"key":{"TraitImpl":99},"value":[{"Ident":["impl_Debug_for_AffinePoint",0]}]},{"key":{"TraitImpl":100},"value":[{"Ident":["impl_ConstantTimeEq_for_AffinePoint",0]}]},{"key":{"TraitImpl":101},"value":[{"Ident":["impl_ConditionallySelectable_for_AffinePoint",0]}]},{"key":{"TraitImpl":102},"value":[{"Ident":["impl_Default_for_AffinePoint",0]}]},{"key":{"TraitImpl":103},"value":[{"Ident":["impl_Identity_for_AffinePoint",0]}]},{"key":{"TraitImpl":104},"value":[{"Ident":["impl_PartialEq_AffinePoint_for_AffinePoint",0]}]},{"key":{"TraitImpl":105},"value":[{"Ident":["impl_Eq_for_AffinePoint",0]}]},{"key":{"TraitImpl":106},"value":[{"Ident":["impl_Mul_AffinePoint_for_Scalar",0]}]},{"key":{"TraitImpl":107},"value":[{"Impl":{"Trait":107}}]},{"key":{"Fun":72},"value":[{"Impl":{"Trait":51}},{"Ident":["clone",0]}]},{"key":{"Fun":73},"value":[{"Impl":{"Trait":52}},{"Ident":["hash",0]}]},{"key":{"Fun":76},"value":[{"Impl":{"Trait":53}},{"Ident":["ct_eq",0]}]},{"key":{"Global":25},"value":[{"Impl":{"Trait":55}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":77},"value":[{"Impl":{"Trait":55}},{"Ident":["eq",0]}]},{"key":{"Global":26},"value":[{"Impl":{"Trait":56}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":78},"value":[{"Impl":{"Trait":56}},{"Ident":["fmt",0]}]},{"key":{"Fun":82},"value":[{"Impl":{"Trait":57}},{"Ident":["try_from",0]}]},{"key":{"Fun":83},"value":[{"Impl":{"Trait":60}},{"Ident":["clone",0]}]},{"key":{"Fun":84},"value":[{"Impl":{"Trait":61}},{"Ident":["identity",0]}]},{"key":{"Fun":85},"value":[{"Impl":{"Trait":62}},{"Ident":["default",0]}]},{"key":{"Fun":87},"value":[{"Impl":{"Trait":63}},{"Ident":["identity",0]}]},{"key":{"Fun":88},"value":[{"Impl":{"Trait":64}},{"Ident":["default",0]}]},{"key":{"Global":27},"value":[{"Impl":{"Trait":65}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":89},"value":[{"Impl":{"Trait":65}},{"Ident":["is_valid",0]}]},{"key":{"Fun":90},"value":[{"Impl":{"Trait":66}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":91},"value":[{"Impl":{"Trait":67}},{"Ident":["ct_eq",0]}]},{"key":{"Global":28},"value":[{"Impl":{"Trait":68}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":92},"value":[{"Impl":{"Trait":68}},{"Ident":["eq",0]}]},{"key":{"Global":29},"value":[{"Impl":{"Trait":70}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":100},"value":[{"Impl":{"Trait":70}},{"Ident":["add",0]}]},{"key":{"Global":30},"value":[{"Impl":{"Trait":71}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":101},"value":[{"Impl":{"Trait":71}},{"Ident":["add",0]}]},{"key":{"Global":31},"value":[{"Impl":{"Trait":72}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":102},"value":[{"Impl":{"Trait":72}},{"Ident":["add",0]}]},{"key":{"Global":32},"value":[{"Impl":{"Trait":73}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":103},"value":[{"Impl":{"Trait":73}},{"Ident":["add",0]}]},{"key":{"Global":33},"value":[{"Impl":{"Trait":74}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":104},"value":[{"Impl":{"Trait":74}},{"Ident":["add_assign",0]}]},{"key":{"Global":34},"value":[{"Impl":{"Trait":75}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":105},"value":[{"Impl":{"Trait":75}},{"Ident":["add_assign",0]}]},{"key":{"Global":35},"value":[{"Impl":{"Trait":76}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":106},"value":[{"Impl":{"Trait":76}},{"Ident":["sub",0]}]},{"key":{"Global":36},"value":[{"Impl":{"Trait":77}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":107},"value":[{"Impl":{"Trait":77}},{"Ident":["sub",0]}]},{"key":{"Global":37},"value":[{"Impl":{"Trait":78}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":108},"value":[{"Impl":{"Trait":78}},{"Ident":["sub",0]}]},{"key":{"Global":38},"value":[{"Impl":{"Trait":79}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":109},"value":[{"Impl":{"Trait":79}},{"Ident":["sub",0]}]},{"key":{"Global":39},"value":[{"Impl":{"Trait":80}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":110},"value":[{"Impl":{"Trait":80}},{"Ident":["sub_assign",0]}]},{"key":{"Global":40},"value":[{"Impl":{"Trait":81}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":111},"value":[{"Impl":{"Trait":81}},{"Ident":["sub_assign",0]}]},{"key":{"Fun":112},"value":[{"Impl":{"Trait":82}},{"Ident":["sum",0]}]},{"key":{"Global":41},"value":[{"Impl":{"Trait":83}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":113},"value":[{"Impl":{"Trait":83}},{"Ident":["neg",0]}]},{"key":{"Global":42},"value":[{"Impl":{"Trait":84}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":114},"value":[{"Impl":{"Trait":84}},{"Ident":["neg",0]}]},{"key":{"Global":43},"value":[{"Impl":{"Trait":85}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":115},"value":[{"Impl":{"Trait":85}},{"Ident":["mul_assign",0]}]},{"key":{"Global":44},"value":[{"Impl":{"Trait":86}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":116},"value":[{"Impl":{"Trait":86}},{"Ident":["mul_assign",0]}]},{"key":{"Global":45},"value":[{"Impl":{"Trait":87}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":117},"value":[{"Impl":{"Trait":87}},{"Ident":["mul",0]}]},{"key":{"Global":46},"value":[{"Impl":{"Trait":88}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":118},"value":[{"Impl":{"Trait":88}},{"Ident":["mul",0]}]},{"key":{"Global":47},"value":[{"Impl":{"Trait":89}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":119},"value":[{"Impl":{"Trait":89}},{"Ident":["mul",0]}]},{"key":{"Global":48},"value":[{"Impl":{"Trait":90}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":120},"value":[{"Impl":{"Trait":90}},{"Ident":["mul",0]}]},{"key":{"Global":49},"value":[{"Impl":{"Trait":91}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":121},"value":[{"Impl":{"Trait":91}},{"Ident":["mul",0]}]},{"key":{"Global":50},"value":[{"Impl":{"Trait":92}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":122},"value":[{"Impl":{"Trait":92}},{"Ident":["mul",0]}]},{"key":{"Global":51},"value":[{"Impl":{"Trait":93}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":123},"value":[{"Impl":{"Trait":93}},{"Ident":["mul",0]}]},{"key":{"Global":52},"value":[{"Impl":{"Trait":94}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":124},"value":[{"Impl":{"Trait":94}},{"Ident":["mul",0]}]},{"key":{"Global":53},"value":[{"Impl":{"Trait":95}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":134},"value":[{"Impl":{"Trait":95}},{"Ident":["fmt",0]}]},{"key":{"TraitImpl":108},"value":[{"Ident":["impl_Into_for_T",0]}]},{"key":{"Fun":135},"value":[{"Impl":{"Trait":108}},{"Ident":["into",0]}]},{"key":{"TraitImpl":109},"value":[{"Ident":["impl_From_Choice_for_bool",0]}]},{"key":{"TraitImpl":110},"value":[{"Ident":["impl_ConstantTimeEq_for_slice",0]}]},{"key":{"Fun":136},"value":[{"Impl":{"Trait":110}},{"Ident":["ct_eq",0]}]},{"key":{"TraitImpl":111},"value":[{"Ident":["impl_ConstantTimeEq_for_u8",0]}]},{"key":{"TraitImpl":112},"value":[{"Ident":["impl_From_u8_for_Choice",0]}]},{"key":{"TraitImpl":113},"value":[{"Ident":["impl_BitOr_Choice_for_Choice",0]}]},{"key":{"Fun":138},"value":[{"Impl":{"Trait":113}},{"Ident":["bitor",0]}]},{"key":{"TraitImpl":114},"value":[{"Ident":["impl_Index_for_array",0]}]},{"key":{"Fun":141},"value":[{"Impl":{"Trait":114}},{"Ident":["index",0]}]},{"key":{"TraitImpl":115},"value":[{"Ident":["impl_Index_for_slice",0]}]},{"key":{"TraitImpl":116},"value":[{"Ident":["impl_SliceIndex_slice_for_RangeFull",0]}]},{"key":{"TraitImpl":117},"value":[{"Impl":{"Trait":117}}]},{"key":{"TraitImpl":118},"value":[{"Ident":["impl_Debug_for_slice",0]}]},{"key":{"TraitImpl":119},"value":[{"Ident":["impl_Debug_for_u64",0]}]},{"key":{"TraitImpl":120},"value":[{"Ident":["impl_IntoIterator_for_T",0]}]},{"key":{"Fun":146},"value":[{"Impl":{"Trait":120}},{"Ident":["into_iter",0]}]},{"key":{"TraitImpl":121},"value":[{"Ident":["impl_Iterator_for_Range",0]}]},{"key":{"TraitImpl":122},"value":[{"Ident":["impl_Step_for_usize",0]}]},{"key":{"Fun":147},"value":[{"Impl":{"Trait":121}},{"Ident":["next",0]}]},{"key":{"Fun":153},"value":[{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["m",0]}]},{"key":{"Global":57},"value":[{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"TraitImpl":123},"value":[{"Ident":["impl_ConditionallySelectable_for_u64",0]}]},{"key":{"Fun":155},"value":[{"Impl":{"Trait":123}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":156},"value":[{"Impl":{"Trait":123}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":157},"value":[{"Impl":{"Trait":123}},{"Ident":["conditional_swap",0]}]},{"key":{"Global":60},"value":[{"Impl":{"Trait":36}},{"Ident":["is_valid",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":165},"value":[{"Impl":{"Trait":98}},{"Ident":["clone",0]}]},{"key":{"Global":61},"value":[{"Impl":{"Trait":99}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":166},"value":[{"Impl":{"Trait":99}},{"Ident":["fmt",0]}]},{"key":{"Fun":167},"value":[{"Impl":{"Trait":100}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":168},"value":[{"Impl":{"Trait":101}},{"Ident":["conditional_select",0]}]},{"key":{"Fun":169},"value":[{"Impl":{"Trait":102}},{"Ident":["default",0]}]},{"key":{"Fun":170},"value":[{"Impl":{"Trait":103}},{"Ident":["identity",0]}]},{"key":{"Global":62},"value":[{"Impl":{"Trait":104}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":171},"value":[{"Impl":{"Trait":104}},{"Ident":["eq",0]}]},{"key":{"Global":63},"value":[{"Impl":{"Trait":106}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":174},"value":[{"Impl":{"Trait":106}},{"Ident":["mul",0]}]},{"key":{"Global":64},"value":[{"Impl":{"Trait":107}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":175},"value":[{"Impl":{"Trait":107}},{"Ident":["mul",0]}]},{"key":{"TraitImpl":124},"value":[{"Ident":["impl_Hash_for_array",0]}]},{"key":{"Fun":192},"value":[{"Impl":{"Trait":124}},{"Ident":["hash",0]}]},{"key":{"TraitImpl":125},"value":[{"Ident":["impl_Hash_for_u8",0]}]},{"key":{"TraitImpl":126},"value":[{"Ident":["impl_Debug_for_array",0]}]},{"key":{"TraitImpl":127},"value":[{"Ident":["impl_Debug_for_u8",0]}]},{"key":{"TraitImpl":128},"value":[{"Ident":["impl_BitAnd_Choice_for_Choice",0]}]},{"key":{"Fun":196},"value":[{"Impl":{"Trait":128}},{"Ident":["bitand",0]}]},{"key":{"TraitImpl":129},"value":[{"Ident":["impl_ZeroablePrimitive_for_usize",0]}]},{"key":{"TraitImpl":130},"value":[{"Ident":["impl_Step_for_u32",0]}]},{"key":{"TraitImpl":131},"value":[{"Ident":["impl_IsIdentity_for_T",0]}]},{"key":{"Fun":280},"value":[{"Impl":{"Trait":131}},{"Ident":["is_identity",0]}]},{"key":{"Fun":282},"value":[{"Impl":{"Trait":109}},{"Ident":["from",0]}]},{"key":{"Fun":283},"value":[{"Impl":{"Trait":111}},{"Ident":["ct_eq",0]}]},{"key":{"Fun":284},"value":[{"Impl":{"Trait":112}},{"Ident":["from",0]}]},{"key":{"Global":69},"value":[{"Impl":{"Trait":113}},{"Ident":["{vtable}",0]}]},{"key":{"Global":70},"value":[{"Impl":{"Trait":114}},{"Ident":["{vtable}",0]}]},{"key":{"Global":71},"value":[{"Impl":{"Trait":115}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":289},"value":[{"Impl":{"Trait":115}},{"Ident":["index",0]}]},{"key":{"Global":72},"value":[{"Impl":{"Trait":116}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":132},"value":[{"Ident":["impl_Sealed_for_RangeFull",0]}]},{"key":{"Fun":296},"value":[{"Impl":{"Trait":116}},{"Ident":["get",0]}]},{"key":{"Fun":297},"value":[{"Impl":{"Trait":116}},{"Ident":["get_mut",0]}]},{"key":{"Fun":298},"value":[{"Impl":{"Trait":116}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":299},"value":[{"Impl":{"Trait":116}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":300},"value":[{"Impl":{"Trait":116}},{"Ident":["index",0]}]},{"key":{"Fun":301},"value":[{"Impl":{"Trait":116}},{"Ident":["index_mut",0]}]},{"key":{"Global":73},"value":[{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":302},"value":[{"Impl":{"Trait":117}},{"Ident":["fmt",0]}]},{"key":{"Global":74},"value":[{"Impl":{"Trait":118}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":303},"value":[{"Impl":{"Trait":118}},{"Ident":["fmt",0]}]},{"key":{"Global":75},"value":[{"Impl":{"Trait":119}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":304},"value":[{"Impl":{"Trait":119}},{"Ident":["fmt",0]}]},{"key":{"Global":76},"value":[{"Impl":{"Trait":120}},{"Ident":["{vtable}",0]}]},{"key":{"Global":77},"value":[{"Impl":{"Trait":121}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":305},"value":[{"Impl":{"Trait":121}},{"Ident":["size_hint",0]}]},{"key":{"Fun":306},"value":[{"Impl":{"Trait":121}},{"Ident":["count",0]}]},{"key":{"Fun":307},"value":[{"Impl":{"Trait":121}},{"Ident":["last",0]}]},{"key":{"Fun":308},"value":[{"Impl":{"Trait":121}},{"Ident":["advance_by",0]}]},{"key":{"Fun":309},"value":[{"Impl":{"Trait":121}},{"Ident":["nth",0]}]},{"key":{"Fun":310},"value":[{"Impl":{"Trait":121}},{"Ident":["max",0]}]},{"key":{"Fun":311},"value":[{"Impl":{"Trait":121}},{"Ident":["min",0]}]},{"key":{"Fun":312},"value":[{"Impl":{"Trait":121}},{"Ident":["is_sorted",0]}]},{"key":{"Fun":313},"value":[{"Impl":{"Trait":121}},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"TraitImpl":133},"value":[{"Ident":["impl_Clone_for_usize",0]}]},{"key":{"TraitImpl":134},"value":[{"Ident":["impl_PartialOrd_usize_for_usize",0]}]},{"key":{"Fun":321},"value":[{"Impl":{"Trait":122}},{"Ident":["steps_between",0]}]},{"key":{"Fun":322},"value":[{"Impl":{"Trait":122}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":323},"value":[{"Impl":{"Trait":122}},{"Ident":["forward",0]}]},{"key":{"Fun":324},"value":[{"Impl":{"Trait":122}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":325},"value":[{"Impl":{"Trait":122}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":326},"value":[{"Impl":{"Trait":122}},{"Ident":["backward",0]}]},{"key":{"Fun":327},"value":[{"Impl":{"Trait":122}},{"Ident":["backward_unchecked",0]}]},{"key":{"Fun":328},"value":[{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}]},{"key":{"TraitImpl":135},"value":[{"Ident":["impl_Copy_for_u64",0]}]},{"key":{"Fun":331},"value":[{"Impl":{"Trait":36}},{"Ident":["is_valid",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":334},"value":[{"Impl":{"Trait":125}},{"Ident":["hash",0]}]},{"key":{"Fun":335},"value":[{"Impl":{"Trait":125}},{"Ident":["hash_slice",0]}]},{"key":{"Global":78},"value":[{"Impl":{"Trait":126}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":336},"value":[{"Impl":{"Trait":126}},{"Ident":["fmt",0]}]},{"key":{"Global":79},"value":[{"Impl":{"Trait":127}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":337},"value":[{"Impl":{"Trait":127}},{"Ident":["fmt",0]}]},{"key":{"Global":80},"value":[{"Impl":{"Trait":128}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":136},"value":[{"Ident":["impl_Copy_for_usize",0]}]},{"key":{"TraitImpl":137},"value":[{"Ident":["impl_Sealed_for_usize",0]}]},{"key":{"TraitImpl":138},"value":[{"Ident":["impl_Copy_for_NonZeroUsizeInner",0]}]},{"key":{"TraitImpl":139},"value":[{"Ident":["impl_Clone_for_u32",0]}]},{"key":{"TraitImpl":140},"value":[{"Ident":["impl_PartialOrd_u32_for_u32",0]}]},{"key":{"Fun":381},"value":[{"Impl":{"Trait":130}},{"Ident":["steps_between",0]}]},{"key":{"Fun":382},"value":[{"Impl":{"Trait":130}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":383},"value":[{"Impl":{"Trait":130}},{"Ident":["forward",0]}]},{"key":{"Fun":384},"value":[{"Impl":{"Trait":130}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":385},"value":[{"Impl":{"Trait":130}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":386},"value":[{"Impl":{"Trait":130}},{"Ident":["backward",0]}]},{"key":{"Fun":387},"value":[{"Impl":{"Trait":130}},{"Ident":["backward_unchecked",0]}]},{"key":{"Global":81},"value":[{"Impl":{"Trait":131}},{"Ident":["{vtable}",0]}]},{"key":{"Global":83},"value":[{"Impl":{"Trait":132}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":391},"value":[{"Impl":{"Trait":133}},{"Ident":["clone",0]}]},{"key":{"Global":84},"value":[{"Impl":{"Trait":134}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":141},"value":[{"Ident":["impl_PartialEq_usize_for_usize",0]}]},{"key":{"Fun":392},"value":[{"Impl":{"Trait":134}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":393},"value":[{"Impl":{"Trait":134}},{"Ident":["lt",0]}]},{"key":{"Fun":394},"value":[{"Impl":{"Trait":134}},{"Ident":["le",0]}]},{"key":{"Fun":395},"value":[{"Impl":{"Trait":134}},{"Ident":["gt",0]}]},{"key":{"Fun":396},"value":[{"Impl":{"Trait":134}},{"Ident":["ge",0]}]},{"key":{"Fun":397},"value":[{"Impl":{"Trait":134}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":398},"value":[{"Impl":{"Trait":134}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":399},"value":[{"Impl":{"Trait":134}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":400},"value":[{"Impl":{"Trait":134}},{"Ident":["__chaining_ge",0]}]},{"key":{"TraitImpl":142},"value":[{"Ident":["impl_Clone_for_u64",0]}]},{"key":{"Fun":401},"value":[{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":402},"value":[{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}]},{"key":{"Global":87},"value":[{"Impl":{"Trait":137}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":143},"value":[{"Ident":["impl_Clone_for_NonZeroUsizeInner",0]}]},{"key":{"TraitImpl":144},"value":[{"Ident":["impl_From_for_NafLookupTable5_ProjectiveNielsPoint",0]}]},{"key":{"Fun":407},"value":[{"Impl":{"Trait":144}},{"Ident":["from",0]}]},{"key":{"Fun":411},"value":[{"Impl":{"Trait":139}},{"Ident":["clone",0]}]},{"key":{"Global":89},"value":[{"Impl":{"Trait":140}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":145},"value":[{"Ident":["impl_PartialEq_u32_for_u32",0]}]},{"key":{"Fun":412},"value":[{"Impl":{"Trait":140}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":413},"value":[{"Impl":{"Trait":140}},{"Ident":["lt",0]}]},{"key":{"Fun":414},"value":[{"Impl":{"Trait":140}},{"Ident":["le",0]}]},{"key":{"Fun":415},"value":[{"Impl":{"Trait":140}},{"Ident":["gt",0]}]},{"key":{"Fun":416},"value":[{"Impl":{"Trait":140}},{"Ident":["ge",0]}]},{"key":{"Fun":417},"value":[{"Impl":{"Trait":140}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":418},"value":[{"Impl":{"Trait":140}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":419},"value":[{"Impl":{"Trait":140}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":420},"value":[{"Impl":{"Trait":140}},{"Ident":["__chaining_ge",0]}]},{"key":{"Global":90},"value":[{"Impl":{"Trait":141}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":423},"value":[{"Impl":{"Trait":141}},{"Ident":["eq",0]}]},{"key":{"Fun":424},"value":[{"Impl":{"Trait":141}},{"Ident":["ne",0]}]},{"key":{"Fun":425},"value":[{"Impl":{"Trait":142}},{"Ident":["clone",0]}]},{"key":{"Fun":428},"value":[{"Impl":{"Trait":143}},{"Ident":["clone",0]}]},{"key":{"Global":91},"value":[{"Impl":{"Trait":145}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":433},"value":[{"Impl":{"Trait":145}},{"Ident":["eq",0]}]},{"key":{"Fun":434},"value":[{"Impl":{"Trait":145}},{"Ident":["ne",0]}]},{"key":{"Fun":437},"value":[{"Impl":{"Trait":0}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":438},"value":[{"Impl":{"Trait":37}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":439},"value":[{"Impl":{"Trait":38}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":440},"value":[{"Impl":{"Trait":54}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":441},"value":[{"Impl":{"Trait":66}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":442},"value":[{"Impl":{"Trait":66}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":443},"value":[{"Impl":{"Trait":69}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":444},"value":[{"Impl":{"Trait":101}},{"Ident":["conditional_assign",0]}]},{"key":{"Fun":445},"value":[{"Impl":{"Trait":101}},{"Ident":["conditional_swap",0]}]},{"key":{"Fun":446},"value":[{"Impl":{"Trait":105}},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":178},"value":[{"Ident":["write_u8",0]}]},{"key":{"Fun":207},"value":[{"Ident":["chain",0]}]},{"key":{"Fun":279},"value":[{"Ident":["vartime_triple_base_mul_128_128_256",0]}]},{"key":{"Global":86},"value":[{"Ident":["EDWARDS_D2",0]}]},{"key":{"Fun":427},"value":[{"Ident":["EDWARDS_D2",0]}]},{"key":{"Fun":193},"value":[{"Ident":["step_1",0]}]},{"key":{"Type":18},"value":[{"Ident":["RangeFull",0]}]},{"key":{"Fun":250},"value":[{"Ident":["max_by",0]}]},{"key":{"Fun":431},"value":[{"Ident":["dsm_step_p",0]}]},{"key":{"Global":11},"value":[{"Ident":["MINUS_ONE",0]}]},{"key":{"Fun":160},"value":[{"Ident":["MINUS_ONE",0]}]},{"key":{"Fun":429},"value":[{"Ident":["wrapping_sub",0]}]},{"key":{"Type":41},"value":[{"Ident":["IntersperseWith",0]}]},{"key":{"TraitDecl":13},"value":[{"Ident":["MulAssign",0]}]},{"key":{"TraitDecl":40},"value":[{"Ident":["Ord",0]}]},{"key":{"TraitDecl":10},"value":[{"Ident":["Add",0]}]},{"key":{"Type":79},"value":[{"Ident":["NafLookupTable5",0]}]},{"key":{"TraitDecl":12},"value":[{"Ident":["Sub",0]}]},{"key":{"Fun":206},"value":[{"Ident":["step_by",0]}]},{"key":{"Fun":7},"value":[{"Ident":["ct_ne",0]}]},{"key":{"Type":54},"value":[{"Ident":["Flatten",0]}]},{"key":{"Type":5},"value":[{"Ident":["ProjectiveNielsPoint",0]}]},{"key":{"Fun":14},"value":[{"Ident":["pow_p58",0]}]},{"key":{"Fun":183},"value":[{"Ident":["write_usize",0]}]},{"key":{"TraitDecl":9},"value":[{"Ident":["AddAssign",0]}]},{"key":{"TraitDecl":4},"value":[{"Ident":["Copy",0]}]},{"key":{"TraitDecl":23},"value":[{"Ident":["Borrow",0]}]},{"key":{"Fun":34},"value":[{"Ident":["from_bytes",0]}]},{"key":{"Fun":130},"value":[{"Ident":["mul_by_cofactor",0]}]},{"key":{"Fun":356},"value":[{"Ident":["len",0]}]},{"key":{"Fun":373},"value":[{"Ident":["get_selected_backend",0]}]},{"key":{"Fun":264},"value":[{"Ident":["partial_cmp_by",0]}]},{"key":{"Fun":243},"value":[{"Ident":["find_map",0]}]},{"key":{"Fun":188},"value":[{"Ident":["write_i128",0]}]},{"key":{"Fun":181},"value":[{"Ident":["write_u64",0]}]},{"key":{"Fun":236},"value":[{"Ident":["try_for_each",0]}]},{"key":{"TraitDecl":31},"value":[{"Ident":["IntoIterator",0]}]},{"key":{"Type":55},"value":[{"Ident":["MapWindows",0]}]},{"key":{"Fun":128},"value":[{"Ident":["vartime_double_scalar_mul_basepoint",0]}]},{"key":{"Fun":200},"value":[{"Ident":["next_chunk",0]}]},{"key":{"TraitDecl":2},"value":[{"Ident":["ConstantTimeEq",0]}]},{"key":{"Fun":220},"value":[{"Ident":["skip",0]}]},{"key":{"Fun":32},"value":[{"Ident":["negate",0]}]},{"key":{"TraitDecl":42},"value":[{"Ident":["PartialOrd",0]}]},{"key":{"Fun":249},"value":[{"Ident":["max_by_key",0]}]},{"key":{"TraitDecl":39},"value":[{"Ident":["ExactSizeIterator",0]}]},{"key":{"Fun":133},"value":[{"Ident":["is_torsion_free",0]}]},{"key":{"TraitDecl":11},"value":[{"Ident":["SubAssign",0]}]},{"key":{"Fun":131},"value":[{"Ident":["mul_by_pow_2",0]}]},{"key":{"Type":0},"value":[{"Ident":["FieldElement",0]}]},{"key":{"TraitDecl":16},"value":[{"Ident":["ConditionallySelectable",0]}]},{"key":{"Type":11},"value":[{"Ident":["TryFromSliceError",0]}]},{"key":{"TraitDecl":19},"value":[{"Ident":["ValidityCheck",0]}]},{"key":{"TraitDecl":17},"value":[{"Ident":["StructuralPartialEq",0]}]},{"key":{"Fun":187},"value":[{"Ident":["write_i64",0]}]},{"key":{"Fun":258},"value":[{"Ident":["array_chunks",0]}]},{"key":{"Type":51},"value":[{"Ident":["Take",0]}]},{"key":{"Type":2},"value":[{"Ident":["ProjectivePoint",0]}]},{"key":{"Fun":223},"value":[{"Ident":["flat_map",0]}]},{"key":{"Type":43},"value":[{"Ident":["Filter",0]}]},{"key":{"Type":74},"value":[{"Ident":["BackendKind",0]}]},{"key":{"Fun":239},"value":[{"Ident":["try_reduce",0]}]},{"key":{"Fun":361},"value":[{"Ident":["clamp",0]}]},{"key":{"Fun":372},"value":[{"Ident":["size",0]}]},{"key":{"Fun":231},"value":[{"Ident":["collect_into",0]}]},{"key":{"Type":14},"value":[{"Ident":["Formatter",0]}]},{"key":{"Fun":208},"value":[{"Ident":["zip",0]}]},{"key":{"Fun":31},"value":[{"Ident":["from_limbs",0]}]},{"key":{"Fun":142},"value":[{"Ident":["new_debug",0]}]},{"key":{"TraitDecl":18},"value":[{"Ident":["Identity",0]}]},{"key":{"Global":68},"value":[{"Ident":["BASEPOINT_ORDER",0]}]},{"key":{"Fun":388},"value":[{"Ident":["BASEPOINT_ORDER",0]}]},{"key":{"TraitDecl":33},"value":[{"Ident":["FnOnce",0]}]},{"key":{"Fun":347},"value":[{"Ident":["extend_one",0]}]},{"key":{"Fun":126},"value":[{"Ident":["mul_clamped",0]}]},{"key":{"TraitDecl":43},"value":[{"Ident":["TrustedRandomAccessNoCoerce",0]}]},{"key":{"Fun":233},"value":[{"Ident":["partition_in_place",0]}]},{"key":{"Fun":10},"value":[{"Ident":["is_zero",0]}]},{"key":{"Fun":252},"value":[{"Ident":["min_by",0]}]},{"key":{"Type":17},"value":[{"Ident":["Arguments",0]}]},{"key":{"TraitDecl":35},"value":[{"Ident":["Try",0]}]},{"key":{"Fun":278},"value":[{"Ident":["vartime_double_base_mul",0]}]},{"key":{"Type":62},"value":[{"Ident":["Cycle",0]}]},{"key":{"Type":37},"value":[{"Ident":["StepBy",0]}]},{"key":{"Fun":351},"value":[{"Ident":["advance_back_by",0]}]},{"key":{"Fun":37},"value":[{"Ident":["square",0]}]},{"key":{"Type":32},"value":[{"Ident":["MontgomeryPoint",0]}]},{"key":{"TraitDecl":41},"value":[{"Ident":["Product",0]}]},{"key":{"TraitDecl":21},"value":[{"Ident":["Hasher",0]}]},{"key":{"Fun":273},"value":[{"Ident":["is_sorted_by",0]}]},{"key":{"Fun":97},"value":[{"Ident":["to_montgomery",0]}]},{"key":{"Fun":125},"value":[{"Ident":["mul_base",0]}]},{"key":{"Fun":228},"value":[{"Ident":["by_ref",0]}]},{"key":{"Fun":16},"value":[{"Ident":["invsqrt",0]}]},{"key":{"Type":47},"value":[{"Ident":["SkipWhile",0]}]},{"key":{"Fun":180},"value":[{"Ident":["write_u32",0]}]},{"key":{"Fun":176},"value":[{"Ident":["finish",0]}]},{"key":{"Type":57},"value":[{"Ident":["Inspect",0]}]},{"key":{"Fun":127},"value":[{"Ident":["mul_base_clamped",0]}]},{"key":{"Fun":129},"value":[{"Ident":["vartime_triple_scalar_mul_basepoint",0]}]},{"key":{"Type":6},"value":[{"Ident":["CompressedEdwardsY",0]}]},{"key":{"Type":15},"value":[{"Ident":["Result",0]}]},{"key":{"Type":12},"value":[{"Ident":["Scalar",0]}]},{"key":{"Fun":244},"value":[{"Ident":["try_find",0]}]},{"key":{"TraitDecl":25},"value":[{"Ident":["Iterator",0]}]},{"key":{"Fun":224},"value":[{"Ident":["flatten",0]}]},{"key":{"TraitDecl":0},"value":[{"Ident":["Eq",0]}]},{"key":{"Fun":182},"value":[{"Ident":["write_u128",0]}]},{"key":{"Fun":253},"value":[{"Ident":["rev",0]}]},{"key":{"Fun":194},"value":[{"Ident":["step_2",0]}]},{"key":{"Fun":219},"value":[{"Ident":["map_while",0]}]},{"key":{"Fun":232},"value":[{"Ident":["partition",0]}]},{"key":{"Fun":357},"value":[{"Ident":["is_empty",0]}]},{"key":{"Fun":189},"value":[{"Ident":["write_isize",0]}]},{"key":{"Fun":12},"value":[{"Ident":["internal_invert_batch",0]}]},{"key":{"Fun":209},"value":[{"Ident":["intersperse",0]}]},{"key":{"Fun":276},"value":[{"Ident":["variable_base_mul",0]}]},{"key":{"Fun":9},"value":[{"Ident":["is_negative",0]}]},{"key":{"Type":66},"value":[{"Ident":["NonZeroUsizeInner",0]}]},{"key":{"Fun":211},"value":[{"Ident":["map",0]}]},{"key":{"TraitDecl":49},"value":[{"Ident":["FromResidual",0]}]},{"key":{"TraitDecl":34},"value":[{"Ident":["FromIterator",0]}]},{"key":{"TraitDecl":15},"value":[{"Ident":["Neg",0]}]},{"key":{"Type":36},"value":[{"Ident":["NonZero",0]}]},{"key":{"Type":45},"value":[{"Ident":["Enumerate",0]}]},{"key":{"Fun":343},"value":[{"Ident":["from_iter",0]}]},{"key":{"Fun":266},"value":[{"Ident":["eq_by",0]}]},{"key":{"Fun":235},"value":[{"Ident":["try_fold",0]}]},{"key":{"TraitDecl":14},"value":[{"Ident":["Mul",0]}]},{"key":{"Fun":405},"value":[{"Ident":["non_adjacent_form",0]}]},{"key":{"TraitDecl":44},"value":[{"Ident":["Into",0]}]},{"key":{"Fun":350},"value":[{"Ident":["next_back",0]}]},{"key":{"Fun":234},"value":[{"Ident":["is_partitioned",0]}]},{"key":{"Fun":177},"value":[{"Ident":["write",0]}]},{"key":{"Fun":251},"value":[{"Ident":["min_by_key",0]}]},{"key":{"Fun":406},"value":[{"Ident":["dsm_top_index",0]}]},{"key":{"Fun":230},"value":[{"Ident":["try_collect",0]}]},{"key":{"TraitDecl":47},"value":[{"Ident":["BitAnd",0]}]},{"key":{"Fun":237},"value":[{"Ident":["fold",0]}]},{"key":{"Fun":241},"value":[{"Ident":["any",0]}]},{"key":{"TraitDecl":20},"value":[{"Ident":["Hash",0]}]},{"key":{"Fun":352},"value":[{"Ident":["nth_back",0]}]},{"key":{"Fun":342},"value":[{"Ident":["call_once",0]}]},{"key":{"Type":19},"value":[{"Ident":["Argument",0]}]},{"key":{"Fun":255},"value":[{"Ident":["copied",0]}]},{"key":{"Global":67},"value":[{"Ident":["ED25519_BASEPOINT_POINT",0]}]},{"key":{"Fun":376},"value":[{"Ident":["ED25519_BASEPOINT_POINT",0]}]},{"key":{"Fun":217},"value":[{"Ident":["skip_while",0]}]},{"key":{"Type":48},"value":[{"Ident":["TakeWhile",0]}]},{"key":{"TraitDecl":30},"value":[{"Ident":["ZeroablePrimitive",0]}]},{"key":{"Fun":213},"value":[{"Ident":["filter",0]}]},{"key":{"Fun":349},"value":[{"Ident":["extend_one_unchecked",0]}]},{"key":{"TraitDecl":26},"value":[{"Ident":["From",0]}]},{"key":{"Fun":240},"value":[{"Ident":["all",0]}]},{"key":{"Type":81},"value":[{"Ident":["AssertKind",0]}]},{"key":{"TraitDecl":24},"value":[{"Ident":["Sum",0]}]},{"key":{"Type":21},"value":[{"Ident":["Range",0]}]},{"key":{"Fun":184},"value":[{"Ident":["write_i8",0]}]},{"key":{"Type":58},"value":[{"Ident":["Ordering",0]}]},{"key":{"Fun":179},"value":[{"Ident":["write_u16",0]}]},{"key":{"Global":85},"value":[{"Ident":["EDWARDS_D",0]}]},{"key":{"Fun":426},"value":[{"Ident":["EDWARDS_D",0]}]},{"key":{"Type":46},"value":[{"Ident":["Peekable",0]}]},{"key":{"Fun":190},"value":[{"Ident":["write_length_prefix",0]}]},{"key":{"Fun":256},"value":[{"Ident":["cloned",0]}]},{"key":{"TraitDecl":37},"value":[{"Ident":["Extend",0]}]},{"key":{"Type":49},"value":[{"Ident":["MapWhile",0]}]},{"key":{"Fun":222},"value":[{"Ident":["scan",0]}]},{"key":{"Fun":185},"value":[{"Ident":["write_i16",0]}]},{"key":{"Type":52},"value":[{"Ident":["Scan",0]}]},{"key":{"Type":7},"value":[{"Ident":["EdwardsPoint",0]}]},{"key":{"Fun":11},"value":[{"Ident":["pow22501",0]}]},{"key":{"Type":16},"value":[{"Ident":["Error",0]}]},{"key":{"Fun":221},"value":[{"Ident":["take",0]}]},{"key":{"Fun":36},"value":[{"Ident":["pow2k",0]}]},{"key":{"Fun":277},"value":[{"Ident":["clamp_integer",0]}]},{"key":{"Fun":197},"value":[{"Ident":["borrow",0]}]},{"key":{"Fun":19},"value":[{"Ident":["clone_from",0]}]},{"key":{"Fun":333},"value":[{"Ident":["unwrap_u8",0]}]},{"key":{"Type":56},"value":[{"Ident":["Fuse",0]}]},{"key":{"Fun":15},"value":[{"Ident":["sqrt_ratio_i",0]}]},{"key":{"Type":35},"value":[{"Ident":["IntoIter",0]}]},{"key":{"Type":44},"value":[{"Ident":["FilterMap",0]}]},{"key":{"Type":4},"value":[{"Ident":["AffineNielsPoint",0]}]},{"key":{"Fun":345},"value":[{"Ident":["branch",0]}]},{"key":{"Fun":246},"value":[{"Ident":["rposition",0]}]},{"key":{"Fun":132},"value":[{"Ident":["is_small_order",0]}]},{"key":{"Fun":353},"value":[{"Ident":["try_rfold",0]}]},{"key":{"Type":50},"value":[{"Ident":["Skip",0]}]},{"key":{"Fun":354},"value":[{"Ident":["rfold",0]}]},{"key":{"Fun":257},"value":[{"Ident":["cycle",0]}]},{"key":{"Type":60},"value":[{"Ident":["Copied",0]}]},{"key":{"TraitDecl":50},"value":[{"Ident":["IsIdentity",0]}]},{"key":{"Type":59},"value":[{"Ident":["Rev",0]}]},{"key":{"TraitDecl":28},"value":[{"Ident":["SliceIndex",0]}]},{"key":{"TraitDecl":38},"value":[{"Ident":["DoubleEndedIterator",0]}]},{"key":{"Fun":95},"value":[{"Ident":["as_affine_niels",0]}]},{"key":{"Fun":214},"value":[{"Ident":["filter_map",0]}]},{"key":{"Fun":348},"value":[{"Ident":["extend_reserve",0]}]},{"key":{"TraitDecl":6},"value":[{"Ident":["TrivialClone",0]}]},{"key":{"Fun":254},"value":[{"Ident":["unzip",0]}]},{"key":{"Type":70},"value":[{"Ident":["ControlFlow",0]}]},{"key":{"Fun":435},"value":[{"Ident":["select",0]}]},{"key":{"Fun":79},"value":[{"Ident":["as_bytes",0]}]},{"key":{"TraitDecl":45},"value":[{"Ident":["BitOr",0]}]},{"key":{"Fun":229},"value":[{"Ident":["collect",0]}]},{"key":{"TraitDecl":5},"value":[{"Ident":["Clone",0]}]},{"key":{"Fun":212},"value":[{"Ident":["for_each",0]}]},{"key":{"Fun":245},"value":[{"Ident":["position",0]}]},{"key":{"Global":10},"value":[{"Ident":["ONE",0]}]},{"key":{"Fun":159},"value":[{"Ident":["ONE",0]}]},{"key":{"Fun":408},"value":[{"Ident":["dsm_loop",0]}]},{"key":{"Type":63},"value":[{"Ident":["ArrayChunks",0]}]},{"key":{"Fun":13},"value":[{"Ident":["invert",0]}]},{"key":{"Fun":227},"value":[{"Ident":["inspect",0]}]},{"key":{"Type":42},"value":[{"Ident":["Map",0]}]},{"key":{"Fun":38},"value":[{"Ident":["square2",0]}]},{"key":{"Fun":139},"value":[{"Ident":["drop_glue",0]}]},{"key":{"Fun":0},"value":[{"Ident":["assert_receiver_is_total_eq",0]}]},{"key":{"TraitDecl":8},"value":[{"Ident":["Debug",0]}]},{"key":{"TraitDecl":1},"value":[{"Ident":["PartialEq",0]}]},{"key":{"TraitDecl":27},"value":[{"Ident":["Index",0]}]},{"key":{"Fun":380},"value":[{"Ident":["vartime_triple_base_mul_128_128_256_prechecked",0]}]},{"key":{"Fun":210},"value":[{"Ident":["intersperse_with",0]}]},{"key":{"TraitDecl":7},"value":[{"Ident":["Destruct",0]}]},{"key":{"Fun":186},"value":[{"Ident":["write_i32",0]}]},{"key":{"Fun":143},"value":[{"Ident":["new",0]}]},{"key":{"TraitDecl":22},"value":[{"Ident":["TryFrom",0]}]},{"key":{"Fun":161},"value":[{"Ident":["load8_at",0]}]},{"key":{"Fun":215},"value":[{"Ident":["enumerate",0]}]},{"key":{"Fun":332},"value":[{"Ident":["debug_struct_field2_finish",0]}]},{"key":{"Fun":242},"value":[{"Ident":["find",0]}]},{"key":{"Type":9},"value":[{"Ident":["Choice",0]}]},{"key":{"Fun":262},"value":[{"Ident":["cmp_by",0]}]},{"key":{"Fun":274},"value":[{"Ident":["is_sorted_by_key",0]}]},{"key":{"Global":9},"value":[{"Ident":["ZERO",0]}]},{"key":{"Fun":158},"value":[{"Ident":["ZERO",0]}]},{"key":{"TraitDecl":29},"value":[{"Ident":["Step",0]}]},{"key":{"Global":82},"value":[{"Ident":["SQRT_M1",0]}]},{"key":{"Fun":422},"value":[{"Ident":["SQRT_M1",0]}]},{"key":{"TraitDecl":3},"value":[{"Ident":["Default",0]}]},{"key":{"TraitDecl":32},"value":[{"Ident":["FnMut",0]}]},{"key":{"Fun":93},"value":[{"Ident":["as_projective_niels",0]}]},{"key":{"Type":1},"value":[{"Ident":["FieldElement51",0]}]},{"key":{"Type":39},"value":[{"Ident":["Zip",0]}]},{"key":{"Fun":432},"value":[{"Ident":["dsm_step_b",0]}]},{"key":{"Type":22},"value":[{"Ident":["Option",0]}]},{"key":{"Type":53},"value":[{"Ident":["FlatMap",0]}]},{"key":{"Type":3},"value":[{"Ident":["CompletedPoint",0]}]},{"key":{"Type":38},"value":[{"Ident":["Chain",0]}]},{"key":{"Fun":379},"value":[{"Ident":["scalar_fits_in_128_bits",0]}]},{"key":{"Fun":226},"value":[{"Ident":["fuse",0]}]},{"key":{"Fun":172},"value":[{"Ident":["to_edwards",0]}]},{"key":{"Fun":355},"value":[{"Ident":["rfind",0]}]},{"key":{"Type":10},"value":[{"Ident":["AffinePoint",0]}]},{"key":{"Fun":225},"value":[{"Ident":["map_windows",0]}]},{"key":{"Fun":86},"value":[{"Ident":["from_slice",0]}]},{"key":{"Type":61},"value":[{"Ident":["Cloned",0]}]},{"key":{"Type":40},"value":[{"Ident":["Intersperse",0]}]},{"key":{"TraitDecl":36},"value":[{"Ident":["Residual",0]}]},{"key":{"Fun":344},"value":[{"Ident":["from_output",0]}]},{"key":{"Fun":346},"value":[{"Ident":["extend",0]}]},{"key":{"Fun":341},"value":[{"Ident":["call_mut",0]}]},{"key":{"Fun":404},"value":[{"Ident":["from_residual",0]}]},{"key":{"Fun":144},"value":[{"Ident":["write_fmt",0]}]},{"key":{"Fun":81},"value":[{"Ident":["decompress",0]}]},{"key":{"Fun":96},"value":[{"Ident":["to_affine",0]}]},{"key":{"Fun":191},"value":[{"Ident":["write_str",0]}]},{"key":{"Fun":216},"value":[{"Ident":["peekable",0]}]},{"key":{"Fun":218},"value":[{"Ident":["take_while",0]}]}],"type_decls":[{"def_id":0,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Ident":["FieldElement",0]}],"span":{"data":{"file_id":1,"beg":{"line":50,"col":0},"end":{"line":50,"col":75}},"generated_from_span":null},"source_text":"pub(crate) type FieldElement = backend::serial::u64::field::FieldElement51;","attr_info":{"attributes":[{"DocComment":" A `FieldElement` represents an element of the field"},{"DocComment":" \\\\( \\mathbb Z / (2\\^{255} - 19)\\\\)."},{"DocComment":""},{"DocComment":" The `FieldElement` type is pinned to the 64-bit serial implementation."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Alias":{"Deduplicated":1391}},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":40,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":1,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Ident":["FieldElement51",0]}],"span":{"data":{"file_id":5,"beg":{"line":43,"col":0},"end":{"line":43,"col":47}},"generated_from_span":null},"source_text":"pub struct FieldElement51(pub(crate) [u64; 5]);","attr_info":{"attributes":[{"DocComment":" A `FieldElement51` represents an element of the field"},{"DocComment":" \\\\( \\mathbb Z / (2\\^{255} - 19)\\\\)."},{"DocComment":""},{"DocComment":" In the 64-bit implementation, a `FieldElement` is represented in"},{"DocComment":" radix \\\\(2\\^{51}\\\\) as five `u64`s; the coefficients are allowed to"},{"DocComment":" grow up to \\\\(2\\^{54}\\\\) between reductions modulo \\\\(p\\\\)."},{"DocComment":""},{"DocComment":" # Note"},{"DocComment":""},{"DocComment":" The `curve25519::field` module provides a type alias"},{"DocComment":" `curve25519::field::FieldElement` to either `FieldElement51`"},{"DocComment":" or `FieldElement2625`."},{"DocComment":""},{"DocComment":" The backend-specific type `FieldElement51` should not be used"},{"DocComment":" outside of the `curve25519::field` module."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":5,"beg":{"line":43,"col":26},"end":{"line":43,"col":45}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":null,"ty":{"HashConsedValue":[1552,{"Array":[{"HashConsedValue":[1550,{"Literal":{"UInt":"U64"}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"HashConsedValue":[1551,{"Literal":{"UInt":"Usize"}}]}}]}]}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":40,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":2,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["ProjectivePoint",0]}],"span":{"data":{"file_id":6,"beg":{"line":154,"col":0},"end":{"line":158,"col":1}},"generated_from_span":null},"source_text":"pub struct ProjectivePoint {\n pub X: FieldElement,\n pub Y: FieldElement,\n pub Z: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" A `ProjectivePoint` is a point \\\\((X:Y:Z)\\\\) on the \\\\(\\mathbb"},{"DocComment":" P\\^2\\\\) model of the curve."},{"DocComment":" A point \\\\((x,y)\\\\) in the affine model corresponds to"},{"DocComment":" \\\\((x:y:1)\\\\)."},{"DocComment":""},{"DocComment":" More details on the relationships between the different curve models"},{"DocComment":" can be found in the module-level documentation."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":6,"beg":{"line":155,"col":4},"end":{"line":155,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":156,"col":4},"end":{"line":156,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Y","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":157,"col":4},"end":{"line":157,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Z","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":120,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":3,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["CompletedPoint",0]}],"span":{"data":{"file_id":6,"beg":{"line":169,"col":0},"end":{"line":174,"col":1}},"generated_from_span":null},"source_text":"pub struct CompletedPoint {\n pub X: FieldElement,\n pub Y: FieldElement,\n pub Z: FieldElement,\n pub T: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" A `CompletedPoint` is a point \\\\(((X:Z), (Y:T))\\\\) on the \\\\(\\mathbb"},{"DocComment":" P\\^1 \\times \\mathbb P\\^1 \\\\) model of the curve."},{"DocComment":" A point (x,y) in the affine model corresponds to \\\\( ((x:1),(y:1))"},{"DocComment":" \\\\)."},{"DocComment":""},{"DocComment":" More details on the relationships between the different curve models"},{"DocComment":" can be found in the module-level documentation."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":6,"beg":{"line":170,"col":4},"end":{"line":170,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":171,"col":4},"end":{"line":171,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Y","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":172,"col":4},"end":{"line":172,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Z","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":173,"col":4},"end":{"line":173,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"T","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":160,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80,120],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":4,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["AffineNielsPoint",0]}],"span":{"data":{"file_id":6,"beg":{"line":184,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"source_text":"pub struct AffineNielsPoint {\n pub y_plus_x: FieldElement,\n pub y_minus_x: FieldElement,\n pub xy2d: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" A pre-computed point in the affine model for the curve, represented as"},{"DocComment":" \\\\((y+x, y-x, 2dxy)\\\\) in \"Niels coordinates\"."},{"DocComment":""},{"DocComment":" More details on the relationships between the different curve models"},{"DocComment":" can be found in the module-level documentation."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"y_plus_x","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"y_minus_x","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"xy2d","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":120,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":5,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Ident":["ProjectiveNielsPoint",0]}],"span":{"data":{"file_id":6,"beg":{"line":206,"col":0},"end":{"line":211,"col":1}},"generated_from_span":null},"source_text":"pub struct ProjectiveNielsPoint {\n pub Y_plus_X: FieldElement,\n pub Y_minus_X: FieldElement,\n pub Z: FieldElement,\n pub T2d: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" A pre-computed point on the \\\\( \\mathbb P\\^3 \\\\) model for the"},{"DocComment":" curve, represented as \\\\((Y+X, Y-X, Z, 2dXY)\\\\) in \"Niels coordinates\"."},{"DocComment":""},{"DocComment":" More details on the relationships between the different curve models"},{"DocComment":" can be found in the module-level documentation."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":6,"beg":{"line":207,"col":4},"end":{"line":207,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Y_plus_X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":208,"col":4},"end":{"line":208,"col":31}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Y_minus_X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":209,"col":4},"end":{"line":209,"col":23}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Z","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":6,"beg":{"line":210,"col":4},"end":{"line":210,"col":25}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"T2d","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":160,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80,120],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":6,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["CompressedEdwardsY",0]}],"span":{"data":{"file_id":7,"beg":{"line":175,"col":0},"end":{"line":175,"col":44}},"generated_from_span":null},"source_text":"pub struct CompressedEdwardsY(pub [u8; 32]);","attr_info":{"attributes":[{"DocComment":" In \"Edwards y\" / \"Ed25519\" format, the curve point \\\\((x,y)\\\\) is"},{"DocComment":" determined by the \\\\(y\\\\)-coordinate and the sign of \\\\(x\\\\)."},{"DocComment":""},{"DocComment":" The first 255 bits of a `CompressedEdwardsY` represent the"},{"DocComment":" \\\\(y\\\\)-coordinate. The high bit of the 32nd byte gives the sign of \\\\(x\\\\)."},{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"HashConsedValue":[2114,{"Array":[{"HashConsedValue":[2113,{"Literal":{"UInt":"U8"}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}]}]}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":32,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":7,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["EdwardsPoint",0]}],"span":{"data":{"file_id":7,"beg":{"line":390,"col":0},"end":{"line":395,"col":1}},"generated_from_span":null},"source_text":"pub struct EdwardsPoint {\n pub(crate) X: FieldElement,\n pub(crate) Y: FieldElement,\n pub(crate) Z: FieldElement,\n pub(crate) T: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" An `EdwardsPoint` represents a point on the Edwards form of Curve25519."},{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":7,"beg":{"line":391,"col":4},"end":{"line":391,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"X","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":7,"beg":{"line":392,"col":4},"end":{"line":392,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"Y","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":7,"beg":{"line":393,"col":4},"end":{"line":393,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"Z","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":7,"beg":{"line":394,"col":4},"end":{"line":394,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"T","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":160,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40,80,120],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,{"def_id":9,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["Choice",0]}],"span":{"data":{"file_id":11,"beg":{"line":120,"col":0},"end":{"line":120,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The `Choice` struct represents a choice for use in conditional assignment."},{"DocComment":""},{"DocComment":" It is a wrapper around a `u8`, which should have the value either `1` (true)"},{"DocComment":" or `0` (false)."},{"DocComment":""},{"DocComment":" The conversion from `u8` to `Choice` passes the value through an optimization"},{"DocComment":" barrier, as a best-effort attempt to prevent the compiler from inferring that"},{"DocComment":" the `Choice` value is a boolean. This strategy is based on Tim Maclean's"},{"DocComment":" [work on `rust-timing-shield`][rust-timing-shield], which attempts to provide"},{"DocComment":" a more comprehensive approach for preventing software side-channels in Rust"},{"DocComment":" code."},{"DocComment":""},{"DocComment":" The `Choice` struct implements operators for AND, OR, XOR, and NOT, to allow"},{"DocComment":" combining `Choice` values. These operations do not short-circuit."},{"DocComment":""},{"DocComment":" [rust-timing-shield]:"},{"DocComment":" https://www.chosenplaintext.ca/open-source/rust-timing-shield/security"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":10,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Ident":["AffinePoint",0]}],"span":{"data":{"file_id":19,"beg":{"line":12,"col":0},"end":{"line":15,"col":1}},"generated_from_span":null},"source_text":"pub struct AffinePoint {\n pub(super) x: FieldElement,\n pub(super) y: FieldElement,\n}","attr_info":{"attributes":[{"DocComment":" Affine Edwards point on untwisted curve."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"x","ty":{"Deduplicated":1391}},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"y","ty":{"Deduplicated":1391}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":80,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,40],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":11,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["TryFromSliceError",0]}],"span":{"data":{"file_id":22,"beg":{"line":183,"col":0},"end":{"line":183,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The error type returned when a conversion from a slice to an array fails."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":0,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":12,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Ident":["Scalar",0]}],"span":{"data":{"file_id":28,"beg":{"line":165,"col":0},"end":{"line":202,"col":1}},"generated_from_span":null},"source_text":"pub struct Scalar {\n /// `bytes` is a little-endian byte encoding of an integer representing a scalar modulo the\n /// group order.\n ///\n /// # Invariant #1\n ///\n /// The integer representing this scalar is less than \\\\(2\\^{255}\\\\). That is, the most\n /// significant bit of `bytes[31]` is 0.\n ///\n /// This is required for `EdwardsPoint` variable- and fixed-base multiplication, because most\n /// integers above 2^255 are unrepresentable in our radix-16 NAF (see [`Self::as_radix_16`]).\n /// The invariant is also required because our `MontgomeryPoint` multiplication assumes the MSB\n /// is 0 (see `MontgomeryPoint::mul`).\n ///\n /// # Invariant #2 (weak)\n ///\n /// The integer representing this scalar is less than \\\\(2\\^{255} - 19 \\\\), i.e., it represents\n /// a canonical representative of an element of \\\\( \\mathbb Z / \\ell\\mathbb Z \\\\). This is\n /// stronger than invariant #1. It also sometimes has to be broken.\n ///\n /// This invariant is deliberately broken in the implementation of `EdwardsPoint::{mul_clamped,\n /// mul_base_clamped}`, `MontgomeryPoint::{mul_clamped, mul_base_clamped}`, and\n /// `BasepointTable::mul_base_clamped`. This is not an issue though. As mentioned above,\n /// scalar-point multiplication is defined for any choice of `bytes` that satisfies invariant\n /// #1. Since clamping guarantees invariant #1 is satisfied, these operations are well defined.\n ///\n /// Note: Scalar-point mult is the _only_ thing you can do safely with an unreduced scalar.\n /// Scalar-scalar addition and subtraction are NOT correct when using unreduced scalars.\n /// Multiplication is correct, but this is only due to a quirk of our implementation, and not\n /// guaranteed to hold in general in the future.\n ///\n /// Note: It is not possible to construct an unreduced `Scalar` from the public API unless the\n /// `legacy_compatibility` is enabled (thus making `Scalar::from_bits` public). Thus, for all\n /// public non-legacy uses, invariant #2\n /// always holds.\n ///\n pub(crate) bytes: [u8; 32],\n}","attr_info":{"attributes":[{"DocComment":" The `Scalar` struct holds an element of \\\\(\\mathbb Z / \\ell\\mathbb Z \\\\)."},{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":28,"beg":{"line":201,"col":4},"end":{"line":201,"col":30}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" `bytes` is a little-endian byte encoding of an integer representing a scalar modulo the"},{"DocComment":" group order."},{"DocComment":""},{"DocComment":" # Invariant #1"},{"DocComment":""},{"DocComment":" The integer representing this scalar is less than \\\\(2\\^{255}\\\\). That is, the most"},{"DocComment":" significant bit of `bytes[31]` is 0."},{"DocComment":""},{"DocComment":" This is required for `EdwardsPoint` variable- and fixed-base multiplication, because most"},{"DocComment":" integers above 2^255 are unrepresentable in our radix-16 NAF (see [`Self::as_radix_16`])."},{"DocComment":" The invariant is also required because our `MontgomeryPoint` multiplication assumes the MSB"},{"DocComment":" is 0 (see `MontgomeryPoint::mul`)."},{"DocComment":""},{"DocComment":" # Invariant #2 (weak)"},{"DocComment":""},{"DocComment":" The integer representing this scalar is less than \\\\(2\\^{255} - 19 \\\\), i.e., it represents"},{"DocComment":" a canonical representative of an element of \\\\( \\mathbb Z / \\ell\\mathbb Z \\\\). This is"},{"DocComment":" stronger than invariant #1. It also sometimes has to be broken."},{"DocComment":""},{"DocComment":" This invariant is deliberately broken in the implementation of `EdwardsPoint::{mul_clamped,"},{"DocComment":" mul_base_clamped}`, `MontgomeryPoint::{mul_clamped, mul_base_clamped}`, and"},{"DocComment":" `BasepointTable::mul_base_clamped`. This is not an issue though. As mentioned above,"},{"DocComment":" scalar-point multiplication is defined for any choice of `bytes` that satisfies invariant"},{"DocComment":" #1. Since clamping guarantees invariant #1 is satisfied, these operations are well defined."},{"DocComment":""},{"DocComment":" Note: Scalar-point mult is the _only_ thing you can do safely with an unreduced scalar."},{"DocComment":" Scalar-scalar addition and subtraction are NOT correct when using unreduced scalars."},{"DocComment":" Multiplication is correct, but this is only due to a quirk of our implementation, and not"},{"DocComment":" guaranteed to hold in general in the future."},{"DocComment":""},{"DocComment":" Note: It is not possible to construct an unreduced `Scalar` from the public API unless the"},{"DocComment":" `legacy_compatibility` is enabled (thus making `Scalar::from_bits` public). Thus, for all"},{"DocComment":" public non-legacy uses, invariant #2"},{"DocComment":" always holds."},{"DocComment":""}],"inline":null,"rename":null,"public":false},"name":"bytes","ty":{"Deduplicated":2114}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":32,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":13,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":15,"beg":{"line":1053,"col":0},"end":{"line":1053,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":{"VTableTy":{"dyn_predicate":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},"Erased"]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}},"field_map":[],"supertrait_map":[]}},"kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":14,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Formatter",0]}],"span":{"data":{"file_id":15,"beg":{"line":561,"col":0},"end":{"line":561,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Configuration for formatting."},{"DocComment":""},{"DocComment":" A `Formatter` represents various options related to formatting. Users do not"},{"DocComment":" construct `Formatter`s directly; a mutable reference to one is passed to"},{"DocComment":" the `fmt` method of all formatting traits, like [`Debug`] and [`Display`]."},{"DocComment":""},{"DocComment":" To interact with a `Formatter`, you'll call various methods to change the"},{"DocComment":" various options related to formatting. For examples, please see the"},{"DocComment":" documentation of the methods defined on `Formatter` below."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Formatter"},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Mutable"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[{"regions":[],"skip_binder":[{"Var":{"Free":0}},{"Var":{"Free":0}}]}],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":24,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[16,0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":15,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["result",0]},{"Ident":["Result",0]}],"span":{"data":{"file_id":29,"beg":{"line":557,"col":0},"end":{"line":557,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" `Result` is a type that represents either success ([`Ok`]) or failure ([`Err`])."},{"DocComment":""},{"DocComment":" See the [module documentation](self) for details."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Result"},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"E"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":29,"beg":{"line":561,"col":4},"end":{"line":561,"col":6}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Contains the success value"}],"inline":null,"rename":null,"public":true},"name":"Ok","fields":[{"span":{"data":{"file_id":29,"beg":{"line":561,"col":53},"end":{"line":561,"col":54}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"HashConsedValue":[10511,{"TypeVar":{"Free":0}}]}}],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":29,"beg":{"line":566,"col":4},"end":{"line":566,"col":7}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Contains the error value"}],"inline":null,"rename":null,"public":true},"name":"Err","fields":[{"span":{"data":{"file_id":29,"beg":{"line":566,"col":54},"end":{"line":566,"col":55}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"HashConsedValue":[10512,{"TypeVar":{"Free":1}}]}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},{"def_id":16,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Error",0]}],"span":{"data":{"file_id":15,"beg":{"line":109,"col":0},"end":{"line":109,"col":16}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The error type which is returned from formatting a message into a stream."},{"DocComment":""},{"DocComment":" This type does not support transmission of an error other than that an error"},{"DocComment":" occurred. This is because, despite the existence of this error,"},{"DocComment":" string formatting is considered an infallible operation."},{"DocComment":" `fmt()` implementors should not return this `Error` unless they received it from their"},{"DocComment":" [`Formatter`]. The only time your code should create a new instance of this"},{"DocComment":" error is when implementing `fmt::Write`, in order to cancel the formatting operation when"},{"DocComment":" writing to the underlying stream fails."},{"DocComment":""},{"DocComment":" Any extra information must be arranged to be transmitted through some other means,"},{"DocComment":" such as storing it in a field to be consulted after the formatting operation has been"},{"DocComment":" cancelled. (For example, this is how [`std::io::Write::write_fmt()`] propagates IO errors"},{"DocComment":" during writing.)"},{"DocComment":""},{"DocComment":" This type, `fmt::Error`, should not be"},{"DocComment":" confused with [`std::io::Error`] or [`std::error::Error`], which you may also"},{"DocComment":" have in scope."},{"DocComment":""},{"DocComment":" [`std::io::Error`]: ../../std/io/struct.Error.html"},{"DocComment":" [`std::io::Write::write_fmt()`]: ../../std/io/trait.Write.html#method.write_fmt"},{"DocComment":" [`std::error::Error`]: ../../std/error/trait.Error.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" use std::fmt::{self, write};"},{"DocComment":""},{"DocComment":" let mut output = String::new();"},{"DocComment":" if let Err(fmt::Error) = write(&mut output, format_args!(\"Hello {}!\", \"world\")) {"},{"DocComment":" panic!(\"An error occurred\");"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":0,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":17,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Arguments",0]}],"span":{"data":{"file_id":15,"beg":{"line":716,"col":0},"end":{"line":716,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This structure represents a safely precompiled version of a format string"},{"DocComment":" and its arguments. This cannot be generated at runtime because it cannot"},{"DocComment":" safely be done, so no constructors are given and the fields are private"},{"DocComment":" to prevent modification."},{"DocComment":""},{"DocComment":" The [`format_args!`] macro will safely create an instance of this structure."},{"DocComment":" The macro validates the format string at compile-time so usage of the"},{"DocComment":" [`write()`] and [`format()`] functions can be safely performed."},{"DocComment":""},{"DocComment":" You can use the `Arguments<'a>` that [`format_args!`] returns in `Debug`"},{"DocComment":" and `Display` contexts as seen below. The example also shows that `Debug`"},{"DocComment":" and `Display` format to the same thing: the interpolated format string"},{"DocComment":" in `format_args!`."},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let debug = format!(\"{:?}\", format_args!(\"{} foo {:?}\", 1, 2));"},{"DocComment":" let display = format!(\"{}\", format_args!(\"{} foo {:?}\", 1, 2));"},{"DocComment":" assert_eq!(\"1 foo 2\", display);"},{"DocComment":" assert_eq!(display, debug);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`format()`]: ../../std/fmt/fn.format.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"format_arguments"},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Shared"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":16,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,8],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":18,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["RangeFull",0]}],"span":{"data":{"file_id":31,"beg":{"line":44,"col":0},"end":{"line":44,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An unbounded range (`..`)."},{"DocComment":""},{"DocComment":" `RangeFull` is primarily used as a [slicing index], its shorthand is `..`."},{"DocComment":" It cannot serve as an [`Iterator`] because it doesn't have a starting point."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The `..` syntax is a `RangeFull`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(.., std::ops::RangeFull);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It does not have an [`IntoIterator`] implementation, so you can't use it in"},{"DocComment":" a `for` loop directly. This won't compile:"},{"DocComment":""},{"DocComment":" ```compile_fail,E0277"},{"DocComment":" for i in .. {"},{"DocComment":" // ..."},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Used as a [slicing index], `RangeFull` produces the full array as a slice."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let arr = [0, 1, 2, 3, 4];"},{"DocComment":" assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]); // This is the `RangeFull`"},{"DocComment":" assert_eq!(arr[ .. 3], [0, 1, 2 ]);"},{"DocComment":" assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);"},{"DocComment":" assert_eq!(arr[1.. ], [ 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[1.. 3], [ 1, 2 ]);"},{"DocComment":" assert_eq!(arr[1..=3], [ 1, 2, 3 ]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [slicing index]: crate::slice::SliceIndex"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"RangeFull"},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":0,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":19,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["rt",0]},{"Ident":["Argument",0]}],"span":{"data":{"file_id":32,"beg":{"line":38,"col":0},"end":{"line":38,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"format_argument"},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Shared"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":16,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":{"Align":2},"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,{"def_id":21,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["Range",0]}],"span":{"data":{"file_id":31,"beg":{"line":82,"col":0},"end":{"line":82,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A (half-open) range bounded inclusively below and exclusively above"},{"DocComment":" (`start..end`)."},{"DocComment":""},{"DocComment":" The range `start..end` contains all values with `start <= x < end`."},{"DocComment":" It is empty if `start >= end`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The `start..end` syntax is a `Range`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!((3..5), std::ops::Range { start: 3, end: 5 });"},{"DocComment":" assert_eq!(3 + 4 + 5, (3..6).sum());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let arr = [0, 1, 2, 3, 4];"},{"DocComment":" assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[ .. 3], [0, 1, 2 ]);"},{"DocComment":" assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);"},{"DocComment":" assert_eq!(arr[1.. ], [ 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[1.. 3], [ 1, 2 ]); // This is a `Range`"},{"DocComment":" assert_eq!(arr[1..=3], [ 1, 2, 3 ]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Range"},"generics":{"regions":[],"types":[{"index":0,"name":"Idx"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":31,"beg":{"line":85,"col":4},"end":{"line":85,"col":18}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" The lower bound of the range (inclusive)."}],"inline":null,"rename":null,"public":true},"name":"start","ty":{"Deduplicated":10511}},{"span":{"data":{"file_id":31,"beg":{"line":88,"col":4},"end":{"line":88,"col":16}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" The upper bound of the range (exclusive)."}],"inline":null,"rename":null,"public":true},"name":"end","ty":{"Deduplicated":10511}}]},"layout":[],"ptr_metadata":"None"},{"def_id":22,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["option",0]},{"Ident":["Option",0]}],"span":{"data":{"file_id":37,"beg":{"line":597,"col":0},"end":{"line":597,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The `Option` type. See [the module level documentation](self) for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Option"},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":37,"beg":{"line":601,"col":4},"end":{"line":601,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" No value."}],"inline":null,"rename":null,"public":true},"name":"None","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":37,"beg":{"line":605,"col":4},"end":{"line":605,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Some value of type `T`."}],"inline":null,"rename":null,"public":true},"name":"Some","fields":[{"span":{"data":{"file_id":37,"beg":{"line":605,"col":55},"end":{"line":605,"col":56}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":10511}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},null,null,null,null,null,null,null,null,null,{"def_id":32,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["montgomery",0]},{"Ident":["MontgomeryPoint",0]}],"span":{"data":{"file_id":41,"beg":{"line":87,"col":0},"end":{"line":87,"col":41}},"generated_from_span":null},"source_text":"pub struct MontgomeryPoint(pub [u8; 32]);","attr_info":{"attributes":[{"DocComment":" Holds the \\\\(u\\\\)-coordinate of a point on the Montgomery form of"},{"DocComment":" Curve25519 or its twist."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":41,"beg":{"line":87,"col":27},"end":{"line":87,"col":39}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":2114}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":32,"align":1,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,null,{"def_id":35,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["iter",0]},{"Ident":["IntoIter",0]}],"span":{"data":{"file_id":42,"beg":{"line":20,"col":0},"end":{"line":20,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A by-value [array] iterator."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ArrayIntoIter"},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":36,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["NonZero",0]}],"span":{"data":{"file_id":43,"beg":{"line":128,"col":0},"end":{"line":128,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A value that is known not to equal zero."},{"DocComment":""},{"DocComment":" This enables some memory layout optimization."},{"DocComment":" For example, `Option>` is the same size as `u32`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use core::{num::NonZero};"},{"DocComment":""},{"DocComment":" assert_eq!(size_of::>>(), size_of::());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Layout"},{"DocComment":""},{"DocComment":" `NonZero` is guaranteed to have the same layout and bit validity as `T`"},{"DocComment":" with the exception that the all-zero bit pattern is invalid."},{"DocComment":" `Option>` is guaranteed to be compatible with `T`, including in"},{"DocComment":" FFI."},{"DocComment":""},{"DocComment":" Thanks to the [null pointer optimization], `NonZero` and"},{"DocComment":" `Option>` are guaranteed to have the same size and alignment:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::num::NonZero;"},{"DocComment":""},{"DocComment":" assert_eq!(size_of::>(), size_of::>>());"},{"DocComment":" assert_eq!(align_of::>(), align_of::>>());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [null pointer optimization]: crate::option#representation"},{"DocComment":""},{"DocComment":" # Note on generic usage"},{"DocComment":""},{"DocComment":" `NonZero` can only be used with some standard library primitive types"},{"DocComment":" (such as `u8`, `i32`, and etc.). The type parameter `T` must implement the"},{"DocComment":" internal trait [`ZeroablePrimitive`], which is currently permanently unstable"},{"DocComment":" and cannot be implemented by users. Therefore, you cannot use `NonZero`"},{"DocComment":" with your own types, nor can you implement traits for all `NonZero`,"},{"DocComment":" only for concrete types."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"NonZero"},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_NonZeroInner"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":37,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["step_by",0]},{"Ident":["StepBy",0]}],"span":{"data":{"file_id":45,"beg":{"line":16,"col":0},"end":{"line":16,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator for stepping iterators by a custom amount."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`step_by`] method on [`Iterator`]. See"},{"DocComment":" its documentation for more."},{"DocComment":""},{"DocComment":" [`step_by`]: Iterator::step_by"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":38,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["chain",0]},{"Ident":["Chain",0]}],"span":{"data":{"file_id":47,"beg":{"line":23,"col":0},"end":{"line":23,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that links two iterators together, in a chain."},{"DocComment":""},{"DocComment":" This `struct` is created by [`chain`] or [`Iterator::chain`]. See their"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::iter::Chain;"},{"DocComment":" use std::slice::Iter;"},{"DocComment":""},{"DocComment":" let a1 = [1, 2, 3];"},{"DocComment":" let a2 = [4, 5, 6];"},{"DocComment":" let iter: Chain, Iter<'_, _>> = a1.iter().chain(a2.iter());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"A"},{"index":1,"name":"B"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":39,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["Zip",0]}],"span":{"data":{"file_id":48,"beg":{"line":13,"col":0},"end":{"line":13,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that iterates two other iterators simultaneously."},{"DocComment":""},{"DocComment":" This `struct` is created by [`zip`] or [`Iterator::zip`]."},{"DocComment":" See their documentation for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"A"},{"index":1,"name":"B"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":40,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["Intersperse",0]}],"span":{"data":{"file_id":49,"beg":{"line":9,"col":0},"end":{"line":9,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator adapter that places a separator between all elements."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::intersperse`]. See its documentation"},{"DocComment":" for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":41,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["IntersperseWith",0]}],"span":{"data":{"file_id":49,"beg":{"line":83,"col":0},"end":{"line":83,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator adapter that places a separator between all elements."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::intersperse_with`]. See its"},{"DocComment":" documentation for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"G"},{"index":2,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":42,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map",0]},{"Ident":["Map",0]}],"span":{"data":{"file_id":51,"beg":{"line":61,"col":0},"end":{"line":61,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that maps the values of `iter` with `f`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`map`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`map`]: Iterator::map"},{"DocComment":" [`Iterator`]: trait.Iterator.html"},{"DocComment":""},{"DocComment":" # Notes about side effects"},{"DocComment":""},{"DocComment":" The [`map`] iterator implements [`DoubleEndedIterator`], meaning that"},{"DocComment":" you can also [`map`] backwards:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let v: Vec = [1, 2, 3].into_iter().map(|x| x + 1).rev().collect();"},{"DocComment":""},{"DocComment":" assert_eq!(v, [4, 3, 2]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`DoubleEndedIterator`]: trait.DoubleEndedIterator.html"},{"DocComment":""},{"DocComment":" But if your closure has state, iterating backwards may act in a way you do"},{"DocComment":" not expect. Let's go through an example. First, in the forward direction:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let mut c = 0;"},{"DocComment":""},{"DocComment":" for pair in ['a', 'b', 'c'].into_iter()"},{"DocComment":" .map(|letter| { c += 1; (letter, c) }) {"},{"DocComment":" println!(\"{pair:?}\");"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" This will print `('a', 1), ('b', 2), ('c', 3)`."},{"DocComment":""},{"DocComment":" Now consider this twist where we add a call to `rev`. This version will"},{"DocComment":" print `('c', 1), ('b', 2), ('a', 3)`. Note that the letters are reversed,"},{"DocComment":" but the values of the counter still go in order. This is because `map()` is"},{"DocComment":" still being called lazily on each item, but we are popping items off the"},{"DocComment":" back of the vector now, instead of shifting them from the front."},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let mut c = 0;"},{"DocComment":""},{"DocComment":" for pair in ['a', 'b', 'c'].into_iter()"},{"DocComment":" .map(|letter| { c += 1; (letter, c) })"},{"DocComment":" .rev() {"},{"DocComment":" println!(\"{pair:?}\");"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":43,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter",0]},{"Ident":["Filter",0]}],"span":{"data":{"file_id":52,"beg":{"line":21,"col":0},"end":{"line":21,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that filters the elements of `iter` with `predicate`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`filter`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`filter`]: Iterator::filter"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":44,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter_map",0]},{"Ident":["FilterMap",0]}],"span":{"data":{"file_id":53,"beg":{"line":18,"col":0},"end":{"line":18,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that uses `f` to both filter and map elements from `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`filter_map`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`filter_map`]: Iterator::filter_map"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":45,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["enumerate",0]},{"Ident":["Enumerate",0]}],"span":{"data":{"file_id":54,"beg":{"line":18,"col":0},"end":{"line":18,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that yields the current count and the element during iteration."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`enumerate`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`enumerate`]: Iterator::enumerate"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Enumerate"},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":46,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["peekable",0]},{"Ident":["Peekable",0]}],"span":{"data":{"file_id":55,"beg":{"line":17,"col":0},"end":{"line":17,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator with a `peek()` that returns an optional reference to the next"},{"DocComment":" element."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`peekable`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`peekable`]: Iterator::peekable"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"IterPeekable"},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":47,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip_while",0]},{"Ident":["SkipWhile",0]}],"span":{"data":{"file_id":56,"beg":{"line":17,"col":0},"end":{"line":17,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that rejects elements while `predicate` returns `true`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`skip_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`skip_while`]: Iterator::skip_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":48,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take_while",0]},{"Ident":["TakeWhile",0]}],"span":{"data":{"file_id":57,"beg":{"line":17,"col":0},"end":{"line":17,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only accepts elements while `predicate` returns `true`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`take_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`take_while`]: Iterator::take_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":49,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_while",0]},{"Ident":["MapWhile",0]}],"span":{"data":{"file_id":58,"beg":{"line":17,"col":0},"end":{"line":17,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only accepts elements while `predicate` returns `Some(_)`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`map_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`map_while`]: Iterator::map_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":50,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip",0]},{"Ident":["Skip",0]}],"span":{"data":{"file_id":59,"beg":{"line":21,"col":0},"end":{"line":21,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that skips over `n` elements of `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`skip`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`skip`]: Iterator::skip"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":51,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take",0]},{"Ident":["Take",0]}],"span":{"data":{"file_id":60,"beg":{"line":17,"col":0},"end":{"line":17,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only iterates over the first `n` iterations of `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`take`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`take`]: Iterator::take"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":52,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["scan",0]},{"Ident":["Scan",0]}],"span":{"data":{"file_id":61,"beg":{"line":17,"col":0},"end":{"line":17,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator to maintain state while iterating another iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`scan`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`scan`]: Iterator::scan"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"St"},{"index":2,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":53,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["FlatMap",0]}],"span":{"data":{"file_id":62,"beg":{"line":17,"col":0},"end":{"line":17,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that maps each element to an iterator, and yields the elements"},{"DocComment":" of the produced iterators."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::flat_map`]. See its documentation"},{"DocComment":" for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"U"},{"index":2,"name":"F"},{"index":3,"name":"Clause0_Item"},{"index":4,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":54,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["Flatten",0]}],"span":{"data":{"file_id":62,"beg":{"line":184,"col":0},"end":{"line":184,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that flattens one level of nesting in an iterator of things"},{"DocComment":" that can be turned into iterators."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`flatten`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`flatten`]: Iterator::flatten()"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"},{"index":2,"name":"Clause1_Item"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":55,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_windows",0]},{"Ident":["MapWindows",0]}],"span":{"data":{"file_id":63,"beg":{"line":11,"col":0},"end":{"line":11,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator over the mapped windows of another iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`Iterator::map_windows`]. See its"},{"DocComment":" documentation for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"},{"index":2,"name":"Clause0_Item"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":56,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["fuse",0]},{"Ident":["Fuse",0]}],"span":{"data":{"file_id":64,"beg":{"line":17,"col":0},"end":{"line":17,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that yields `None` forever after the underlying iterator"},{"DocComment":" yields `None` once."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::fuse`]. See its documentation"},{"DocComment":" for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":57,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["inspect",0]},{"Ident":["Inspect",0]}],"span":{"data":{"file_id":65,"beg":{"line":18,"col":0},"end":{"line":18,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that calls a function with a reference to each element before"},{"DocComment":" yielding it."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`inspect`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`inspect`]: Iterator::inspect"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":58,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ordering",0]}],"span":{"data":{"file_id":9,"beg":{"line":405,"col":0},"end":{"line":405,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An `Ordering` is the result of a comparison between two values."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(1.cmp(&2), Ordering::Less);"},{"DocComment":""},{"DocComment":" assert_eq!(1.cmp(&1), Ordering::Equal);"},{"DocComment":""},{"DocComment":" assert_eq!(2.cmp(&1), Ordering::Greater);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Ordering"},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":9,"beg":{"line":408,"col":4},"end":{"line":408,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is less than another."}],"inline":null,"rename":null,"public":true},"name":"Less","fields":[],"discriminant":{"Scalar":{"Signed":["I8","-1"]}}},{"id":1,"span":{"data":{"file_id":9,"beg":{"line":411,"col":4},"end":{"line":411,"col":9}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is equal to another."}],"inline":null,"rename":null,"public":true},"name":"Equal","fields":[],"discriminant":{"Scalar":{"Signed":["I8","0"]}}},{"id":2,"span":{"data":{"file_id":9,"beg":{"line":414,"col":4},"end":{"line":414,"col":11}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is greater than another."}],"inline":null,"rename":null,"public":true},"name":"Greater","fields":[],"discriminant":{"Scalar":{"Signed":["I8","1"]}}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Branch":{"offset":0,"int_ty":{"Signed":"I8"},"children":[[{"start":{"Signed":["I8","-1"]},"end":{"Signed":["I8","-1"]}},{"Known":0}],[{"start":{"Signed":["I8","0"]},"end":{"Signed":["I8","0"]}},{"Known":1}],[{"start":{"Signed":["I8","1"]},"end":{"Signed":["I8","1"]}},{"Known":2}]],"fallback":"Invalid"}},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","-1"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","0"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","1"]}]]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":true}}}],"ptr_metadata":"None"},{"def_id":59,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["rev",0]},{"Ident":["Rev",0]}],"span":{"data":{"file_id":69,"beg":{"line":15,"col":0},"end":{"line":15,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A double-ended iterator with the direction inverted."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`rev`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`rev`]: Iterator::rev"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":60,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["copied",0]},{"Ident":["Copied",0]}],"span":{"data":{"file_id":70,"beg":{"line":19,"col":0},"end":{"line":19,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that copies the elements of an underlying iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`copied`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`copied`]: Iterator::copied"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":61,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cloned",0]},{"Ident":["Cloned",0]}],"span":{"data":{"file_id":71,"beg":{"line":18,"col":0},"end":{"line":18,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that clones the elements of an underlying iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`cloned`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`cloned`]: Iterator::cloned"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":62,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cycle",0]},{"Ident":["Cycle",0]}],"span":{"data":{"file_id":72,"beg":{"line":15,"col":0},"end":{"line":15,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that repeats endlessly."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`cycle`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`cycle`]: Iterator::cycle"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":63,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["array_chunks",0]},{"Ident":["ArrayChunks",0]}],"span":{"data":{"file_id":73,"beg":{"line":19,"col":0},"end":{"line":19,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator over `N` elements of the iterator at a time."},{"DocComment":""},{"DocComment":" The chunks do not overlap. If `N` does not divide the length of the"},{"DocComment":" iterator, then the last up to `N-1` elements will be omitted."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`array_chunks`][Iterator::array_chunks]"},{"DocComment":" method on [`Iterator`]. See its documentation for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},null,null,{"def_id":66,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Ident":["NonZeroUsizeInner",0]}],"span":{"data":{"file_id":77,"beg":{"line":20,"col":8},"end":{"line":20,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":8,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":true,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,null,null,{"def_id":70,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["control_flow",0]},{"Ident":["ControlFlow",0]}],"span":{"data":{"file_id":78,"beg":{"line":89,"col":0},"end":{"line":89,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to tell an operation whether it should exit early or go on as usual."},{"DocComment":""},{"DocComment":" This is used when exposing things (like graph traversals or visitors) where"},{"DocComment":" you want the user to be able to choose whether to exit early."},{"DocComment":" Having the enum makes it clearer -- no more wondering \"wait, what did `false`"},{"DocComment":" mean again?\" -- and allows including a value."},{"DocComment":""},{"DocComment":" Similar to [`Option`] and [`Result`], this enum can be used with the `?` operator"},{"DocComment":" to return immediately if the [`Break`] variant is present or otherwise continue normally"},{"DocComment":" with the value inside the [`Continue`] variant."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Early-exiting from [`Iterator::try_for_each`]:"},{"DocComment":" ```"},{"DocComment":" use std::ops::ControlFlow;"},{"DocComment":""},{"DocComment":" let r = (2..100).try_for_each(|x| {"},{"DocComment":" if 403 % x == 0 {"},{"DocComment":" return ControlFlow::Break(x)"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" });"},{"DocComment":" assert_eq!(r, ControlFlow::Break(13));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" A basic tree traversal:"},{"DocComment":" ```"},{"DocComment":" use std::ops::ControlFlow;"},{"DocComment":""},{"DocComment":" pub struct TreeNode {"},{"DocComment":" value: T,"},{"DocComment":" left: Option>>,"},{"DocComment":" right: Option>>,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl TreeNode {"},{"DocComment":" pub fn traverse_inorder(&self, f: &mut impl FnMut(&T) -> ControlFlow) -> ControlFlow {"},{"DocComment":" if let Some(left) = &self.left {"},{"DocComment":" left.traverse_inorder(f)?;"},{"DocComment":" }"},{"DocComment":" f(&self.value)?;"},{"DocComment":" if let Some(right) = &self.right {"},{"DocComment":" right.traverse_inorder(f)?;"},{"DocComment":" }"},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" }"},{"DocComment":" fn leaf(value: T) -> Option>> {"},{"DocComment":" Some(Box::new(Self { value, left: None, right: None }))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let node = TreeNode {"},{"DocComment":" value: 0,"},{"DocComment":" left: TreeNode::leaf(1),"},{"DocComment":" right: Some(Box::new(TreeNode {"},{"DocComment":" value: -1,"},{"DocComment":" left: TreeNode::leaf(5),"},{"DocComment":" right: TreeNode::leaf(2),"},{"DocComment":" }))"},{"DocComment":" };"},{"DocComment":" let mut sum = 0;"},{"DocComment":""},{"DocComment":" let res = node.traverse_inorder(&mut |val| {"},{"DocComment":" if *val < 0 {"},{"DocComment":" ControlFlow::Break(*val)"},{"DocComment":" } else {"},{"DocComment":" sum += *val;"},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" }"},{"DocComment":" });"},{"DocComment":" assert_eq!(res, ControlFlow::Break(-1));"},{"DocComment":" assert_eq!(sum, 6);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`Break`]: ControlFlow::Break"},{"DocComment":" [`Continue`]: ControlFlow::Continue"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ControlFlow"},"generics":{"regions":[],"types":[{"index":0,"name":"B"},{"index":1,"name":"C"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":78,"beg":{"line":93,"col":4},"end":{"line":93,"col":12}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Move on to the next phase of the operation as normal."}],"inline":null,"rename":null,"public":true},"name":"Continue","fields":[{"span":{"data":{"file_id":78,"beg":{"line":93,"col":13},"end":{"line":93,"col":14}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":10512}}],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":78,"beg":{"line":97,"col":4},"end":{"line":97,"col":9}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Exit the operation without running subsequent phases."}],"inline":null,"rename":null,"public":true},"name":"Break","fields":[{"span":{"data":{"file_id":78,"beg":{"line":97,"col":10},"end":{"line":97,"col":11}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":10511}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},null,null,null,{"def_id":74,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["BackendKind",0]}],"span":{"data":{"file_id":4,"beg":{"line":46,"col":0},"end":{"line":50,"col":1}},"generated_from_span":null},"source_text":"enum BackendKind {\n #[cfg(target_arch = \"x86_64\")]\n Avx2,\n Serial,\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":4,"beg":{"line":48,"col":4},"end":{"line":48,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"Avx2","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":4,"beg":{"line":49,"col":4},"end":{"line":49,"col":10}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"Serial","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Branch":{"offset":0,"int_ty":{"Unsigned":"U8"},"children":[[{"start":{"Unsigned":["U8","0"]},"end":{"Unsigned":["U8","0"]}},{"Known":0}],[{"start":{"Unsigned":["U8","1"]},"end":{"Unsigned":["U8","1"]}},{"Known":1}]],"fallback":"Invalid"}},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","0"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","1"]}]]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,null,null,null,{"def_id":79,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Ident":["NafLookupTable5",0]}],"span":{"data":{"file_id":86,"beg":{"line":213,"col":0},"end":{"line":213,"col":56}},"generated_from_span":null},"source_text":"pub(crate) struct NafLookupTable5(pub(crate) [T; 8]);","attr_info":{"attributes":[{"DocComment":" Holds odd multiples 1A, 3A, ..., 15A of a point A."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":86,"beg":{"line":213,"col":37},"end":{"line":213,"col":54}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":null,"ty":{"HashConsedValue":[10513,{"Array":[{"Deduplicated":10511},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}]}]}}]},"layout":[],"ptr_metadata":"None"},null,{"def_id":81,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["AssertKind",0]}],"span":{"data":{"file_id":40,"beg":{"line":373,"col":0},"end":{"line":373,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":40,"beg":{"line":374,"col":4},"end":{"line":374,"col":6}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Eq","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":40,"beg":{"line":375,"col":4},"end":{"line":375,"col":6}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Ne","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}},{"id":2,"span":{"data":{"file_id":40,"beg":{"line":376,"col":4},"end":{"line":376,"col":9}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Match","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","2"]}}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Branch":{"offset":0,"int_ty":{"Unsigned":"U8"},"children":[[{"start":{"Unsigned":["U8","0"]},"end":{"Unsigned":["U8","0"]}},{"Known":0}],[{"start":{"Unsigned":["U8","1"]},"end":{"Unsigned":["U8","1"]}},{"Known":1}],[{"start":{"Unsigned":["U8","2"]},"end":{"Unsigned":["U8","2"]}},{"Known":2}]],"fallback":"Invalid"}},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","0"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","1"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","2"]}]]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"}],"fun_decls":[null,{"def_id":1,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":356,"col":4},"end":{"line":356,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10551,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10511},"Shared"]}]}],"output":{"HashConsedValue":[1443,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":2,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}},{"Ident":["eq",0]}],"span":{"data":{"file_id":1,"beg":{"line":55,"col":4},"end":{"line":57,"col":5}},"generated_from_span":null},"source_text":"fn eq(&self, other: &FieldElement) -> bool {\n self.ct_eq(other).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10516,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1391},"Shared"]}]},{"HashConsedValue":[10517,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1391},"Shared"]}]}],"output":{"HashConsedValue":[1470,{"Literal":"Bool"}]}},"src":{"TraitImpl":{"impl_ref":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":55,"col":4},"end":{"line":57,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":55,"col":42},"end":{"line":55,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":55,"col":10},"end":{"line":55,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[2793,{"Ref":[{"Body":1},{"Deduplicated":1391},"Shared"]}]}},{"index":2,"name":"other","span":{"data":{"file_id":1,"beg":{"line":55,"col":17},"end":{"line":55,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2794,{"Ref":[{"Body":2},{"Deduplicated":1391},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[2795,{"Ref":[{"Body":3},{"Deduplicated":1391},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":56,"col":19},"end":{"line":56,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[2796,{"Ref":[{"Body":4},{"Deduplicated":1391},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":57,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":25}},"generated_from_span":null},"id":0,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":12}},"generated_from_span":null},"id":1,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":12}},"generated_from_span":null},"id":2,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":19},"end":{"line":56,"col":24}},"generated_from_span":null},"id":3,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":19},"end":{"line":56,"col":24}},"generated_from_span":null},"id":4,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":25}},"generated_from_span":null},"id":5,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":24},"end":{"line":56,"col":25}},"generated_from_span":null},"id":6,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":24},"end":{"line":56,"col":25}},"generated_from_span":null},"id":7,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":8},"end":{"line":56,"col":32}},"generated_from_span":null},"id":8,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2823,{"kind":{"TraitImpl":{"id":109,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1470},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":56,"col":31},"end":{"line":56,"col":32}},"generated_from_span":null},"id":9,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":57,"col":5},"end":{"line":57,"col":5}},"generated_from_span":null},"id":10,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":3,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":255,"col":4},"end":{"line":255,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Tests for `self` and `other` values to be equal, and is used by `==`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"cmp_partialeq_eq"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"HashConsedValue":[10636,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10512},"Shared"]}]}],"output":{"Deduplicated":1470}},"src":{"TraitDecl":{"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":5,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":2}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":1,"beg":{"line":64,"col":4},"end":{"line":66,"col":5}},"generated_from_span":null},"source_text":"fn ct_eq(&self, other: &FieldElement) -> Choice {\n self.to_bytes().ct_eq(&other.to_bytes())\n }","attr_info":{"attributes":[{"DocComment":" Test equality between two `FieldElement`s. Since the"},{"DocComment":" internal representation is not canonical, the field elements"},{"DocComment":" are normalized to wire format before comparison."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516},{"Deduplicated":10517}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":2,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":64,"col":4},"end":{"line":66,"col":5}},"generated_from_span":null},"bound_body_regions":16,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":64,"col":45},"end":{"line":64,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":64,"col":13},"end":{"line":64,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"other","span":{"data":{"file_id":1,"beg":{"line":64,"col":20},"end":{"line":64,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2828,{"Ref":[{"Body":4},{"HashConsedValue":[2239,{"Slice":{"Deduplicated":2113}}]},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2831,{"Ref":[{"Body":6},{"Deduplicated":2114},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"ty":{"HashConsedValue":[2832,{"Ref":[{"Body":7},{"Deduplicated":2239},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"ty":{"HashConsedValue":[2833,{"Ref":[{"Body":8},{"Deduplicated":2114},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"ty":{"HashConsedValue":[2834,{"Ref":[{"Body":9},{"Deduplicated":2114},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":11,"name":null,"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":66,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":11,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":12,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":13,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":12}},"generated_from_span":null},"id":14,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":12}},"generated_from_span":null},"id":15,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":16,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":17,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2831}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":23}},"generated_from_span":null},"id":18,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2831}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2828}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":22},"end":{"line":65,"col":23}},"generated_from_span":null},"id":19,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":22},"end":{"line":65,"col":23}},"generated_from_span":null},"id":20,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":21,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":22,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":23,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":47}},"generated_from_span":null},"id":24,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":36}},"generated_from_span":null},"id":25,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":36}},"generated_from_span":null},"id":26,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":31},"end":{"line":65,"col":47}},"generated_from_span":null},"id":27,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":46},"end":{"line":65,"col":47}},"generated_from_span":null},"id":28,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":29,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2834}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":30,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2833}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2834}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":30},"end":{"line":65,"col":47}},"generated_from_span":null},"id":31,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2833}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":2832}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":46},"end":{"line":65,"col":47}},"generated_from_span":null},"id":32,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":8},"end":{"line":65,"col":48}},"generated_from_span":null},"id":33,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":136}},"generics":{"regions":[{"Body":14},{"Body":15}],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2863,{"kind":{"TraitImpl":{"id":111,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2828}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2832}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":34,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":35,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":36,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":37,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":65,"col":47},"end":{"line":65,"col":48}},"generated_from_span":null},"id":38,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":66,"col":5},"end":{"line":66,"col":5}},"generated_from_span":null},"id":39,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":6,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":11,"beg":{"line":273,"col":4},"end":{"line":273,"col":44}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Determine if two items are equal."},{"DocComment":""},{"DocComment":" The `ct_eq` function should execute in constant time."},{"DocComment":""},{"DocComment":" # Returns"},{"DocComment":""},{"DocComment":" * `Choice(1u8)` if `self == other`;"},{"DocComment":" * `Choice(0u8)` if `self != other`."}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"HashConsedValue":[10637,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10511},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitDecl":{"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":8,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":3}},{"Ident":["default",0]}],"span":{"data":{"file_id":1,"beg":{"line":70,"col":4},"end":{"line":72,"col":5}},"generated_from_span":null},"source_text":"fn default() -> Self {\n FieldElement::ZERO\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":3,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":70,"col":4},"end":{"line":72,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":70,"col":20},"end":{"line":70,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":71,"col":8},"end":{"line":72,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":71,"col":8},"end":{"line":71,"col":26}},"generated_from_span":null},"id":40,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":72,"col":5},"end":{"line":72,"col":5}},"generated_from_span":null},"id":41,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["is_negative",0]}],"span":{"data":{"file_id":1,"beg":{"line":139,"col":4},"end":{"line":142,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn is_negative(&self) -> Choice {\n let bytes = self.to_bytes();\n (bytes[0] & 1).into()\n }","attr_info":{"attributes":[{"DocComment":" Determine if this `FieldElement` is negative, in the sense"},{"DocComment":" used in the ed25519 paper: `x` is negative if the low bit is"},{"DocComment":" set."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" If negative, return `Choice(1)`. Otherwise, return `Choice(0)`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1496}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":139,"col":4},"end":{"line":142,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":139,"col":40},"end":{"line":139,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":139,"col":30},"end":{"line":139,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"bytes","span":{"data":{"file_id":1,"beg":{"line":140,"col":12},"end":{"line":140,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":140,"col":20},"end":{"line":140,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":141,"col":8},"end":{"line":141,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":141,"col":15},"end":{"line":141,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":7,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9403,{"Ref":["Erased",{"Deduplicated":2114},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9402,{"Ref":["Erased",{"Deduplicated":2113},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":140,"col":12},"end":{"line":142,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":140,"col":12},"end":{"line":140,"col":17}},"generated_from_span":null},"id":43,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":140,"col":20},"end":{"line":140,"col":24}},"generated_from_span":null},"id":44,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":140,"col":20},"end":{"line":140,"col":24}},"generated_from_span":null},"id":45,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":140,"col":20},"end":{"line":140,"col":35}},"generated_from_span":null},"id":46,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":140,"col":34},"end":{"line":140,"col":35}},"generated_from_span":null},"id":47,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":8},"end":{"line":141,"col":22}},"generated_from_span":null},"id":48,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":49,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":15},"end":{"line":141,"col":16}},"generated_from_span":null},"id":50,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":15},"end":{"line":141,"col":16}},"generated_from_span":null},"id":51,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":9529,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":9530,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":9403}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":9531,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":9532,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":9403}}},{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":9},"end":{"line":141,"col":17}},"generated_from_span":null},"id":54,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":8},"end":{"line":141,"col":22}},"generated_from_span":null},"id":55,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","1"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":21},"end":{"line":141,"col":22}},"generated_from_span":null},"id":56,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":8},"end":{"line":141,"col":29}},"generated_from_span":null},"id":57,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":2113},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10638,{"kind":{"TraitImpl":{"id":112,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2113}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":28},"end":{"line":141,"col":29}},"generated_from_span":null},"id":58,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":141,"col":28},"end":{"line":141,"col":29}},"generated_from_span":null},"id":59,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":142,"col":4},"end":{"line":142,"col":5}},"generated_from_span":null},"id":60,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":142,"col":5},"end":{"line":142,"col":5}},"generated_from_span":null},"id":61,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["is_zero",0]}],"span":{"data":{"file_id":1,"beg":{"line":149,"col":4},"end":{"line":154,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn is_zero(&self) -> Choice {\n let zero = [0u8; 32];\n let bytes = self.to_bytes();\n\n bytes.ct_eq(&zero)\n }","attr_info":{"attributes":[{"DocComment":" Determine if this `FieldElement` is zero."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" If zero, return `Choice(1)`. Otherwise, return `Choice(0)`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1496}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":149,"col":4},"end":{"line":154,"col":5}},"generated_from_span":null},"bound_body_regions":15,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":149,"col":36},"end":{"line":149,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":149,"col":26},"end":{"line":149,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"zero","span":{"data":{"file_id":1,"beg":{"line":150,"col":12},"end":{"line":150,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":3,"name":"bytes","span":{"data":{"file_id":1,"beg":{"line":151,"col":12},"end":{"line":151,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":151,"col":20},"end":{"line":151,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[2827,{"Ref":[{"Body":3},{"Deduplicated":2239},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[2830,{"Ref":[{"Body":5},{"Deduplicated":2114},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2882,{"Ref":[{"Body":6},{"Deduplicated":2239},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2883,{"Ref":[{"Body":7},{"Deduplicated":2114},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2833}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":150,"col":12},"end":{"line":154,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":150,"col":12},"end":{"line":150,"col":16}},"generated_from_span":null},"id":62,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":150,"col":19},"end":{"line":150,"col":28}},"generated_from_span":null},"id":63,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":12},"end":{"line":151,"col":17}},"generated_from_span":null},"id":64,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":20},"end":{"line":151,"col":24}},"generated_from_span":null},"id":65,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":20},"end":{"line":151,"col":24}},"generated_from_span":null},"id":66,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":20},"end":{"line":151,"col":35}},"generated_from_span":null},"id":67,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":151,"col":34},"end":{"line":151,"col":35}},"generated_from_span":null},"id":68,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"id":69,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"id":70,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"id":71,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2830}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":13}},"generated_from_span":null},"id":72,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2830}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":2827}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":12},"end":{"line":153,"col":13}},"generated_from_span":null},"id":73,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":74,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":75,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":76,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":77,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2833}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":78,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2883}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2833}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":20},"end":{"line":153,"col":25}},"generated_from_span":null},"id":79,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2883}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":2882}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":24},"end":{"line":153,"col":25}},"generated_from_span":null},"id":80,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":8},"end":{"line":153,"col":26}},"generated_from_span":null},"id":81,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":136}},"generics":{"regions":[{"Body":13},{"Body":14}],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[{"Deduplicated":2863}]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2827}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2882}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":25},"end":{"line":153,"col":26}},"generated_from_span":null},"id":82,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":25},"end":{"line":153,"col":26}},"generated_from_span":null},"id":83,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":153,"col":25},"end":{"line":153,"col":26}},"generated_from_span":null},"id":84,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":154,"col":4},"end":{"line":154,"col":5}},"generated_from_span":null},"id":85,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":154,"col":4},"end":{"line":154,"col":5}},"generated_from_span":null},"id":86,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":154,"col":5},"end":{"line":154,"col":5}},"generated_from_span":null},"id":87,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":11,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow22501",0]}],"span":{"data":{"file_id":1,"beg":{"line":159,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"source_text":"fn pow22501(&self) -> (FieldElement, FieldElement) {\n // Instead of managing which temporary variables are used\n // for what, we define as many as we need and leave stack\n // allocation to the compiler\n //\n // Each temporary variable t_i is of the form (self)^e_i.\n // Squaring t_i corresponds to multiplying e_i by 2,\n // so the pow2k function shifts e_i left by k places.\n // Multiplying t_i and t_j corresponds to adding e_i + e_j.\n //\n // Temporary t_i Nonzero bits of e_i\n //\n let t0 = self.square(); // 1 e_0 = 2^1\n let t1 = t0.square().square(); // 3 e_1 = 2^3\n let t2 = self * &t1; // 3,0 e_2 = 2^3 + 2^0\n let t3 = &t0 * &t2; // 3,1,0\n let t4 = t3.square(); // 4,2,1\n let t5 = &t2 * &t4; // 4,3,2,1,0\n let t6 = t5.pow2k(5); // 9,8,7,6,5\n let t7 = &t6 * &t5; // 9,8,7,6,5,4,3,2,1,0\n let t8 = t7.pow2k(10); // 19..10\n let t9 = &t8 * &t7; // 19..0\n let t10 = t9.pow2k(20); // 39..20\n let t11 = &t10 * &t9; // 39..0\n let t12 = t11.pow2k(10); // 49..10\n let t13 = &t12 * &t7; // 49..0\n let t14 = t13.pow2k(50); // 99..50\n let t15 = &t14 * &t13; // 99..0\n let t16 = t15.pow2k(100); // 199..100\n let t17 = &t16 * &t15; // 199..0\n let t18 = t17.pow2k(50); // 249..50\n let t19 = &t18 * &t13; // 249..0\n\n (t19, t3)\n }","attr_info":{"attributes":[{"DocComment":" Compute (self^(2^250-1), self^11), used as a helper function"},{"DocComment":" within invert() and pow22523()."},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"HashConsedValue":[2885,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":159,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"bound_body_regions":85,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":159,"col":26},"end":{"line":159,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2885}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":159,"col":16},"end":{"line":159,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"t0","span":{"data":{"file_id":1,"beg":{"line":171,"col":12},"end":{"line":171,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":171,"col":18},"end":{"line":171,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":4,"name":"t1","span":{"data":{"file_id":1,"beg":{"line":172,"col":12},"end":{"line":172,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":8,"name":"t2","span":{"data":{"file_id":1,"beg":{"line":173,"col":12},"end":{"line":173,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":173,"col":18},"end":{"line":173,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2886,{"Ref":[{"Body":5},{"Deduplicated":1391},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2887,{"Ref":[{"Body":6},{"Deduplicated":1391},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2888,{"Ref":[{"Body":7},{"Deduplicated":1391},"Shared"]}]}},{"index":12,"name":"t3","span":{"data":{"file_id":1,"beg":{"line":174,"col":12},"end":{"line":174,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":1,"beg":{"line":174,"col":18},"end":{"line":174,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2889,{"Ref":[{"Body":8},{"Deduplicated":1391},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2890,{"Ref":[{"Body":9},{"Deduplicated":1391},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2891,{"Ref":[{"Body":10},{"Deduplicated":1391},"Shared"]}]}},{"index":16,"name":"t4","span":{"data":{"file_id":1,"beg":{"line":175,"col":12},"end":{"line":175,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":17,"name":null,"span":{"data":{"file_id":1,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2892,{"Ref":[{"Body":11},{"Deduplicated":1391},"Shared"]}]}},{"index":18,"name":"t5","span":{"data":{"file_id":1,"beg":{"line":176,"col":12},"end":{"line":176,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":19,"name":null,"span":{"data":{"file_id":1,"beg":{"line":176,"col":18},"end":{"line":176,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2893,{"Ref":[{"Body":12},{"Deduplicated":1391},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2894,{"Ref":[{"Body":13},{"Deduplicated":1391},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2895,{"Ref":[{"Body":14},{"Deduplicated":1391},"Shared"]}]}},{"index":22,"name":"t6","span":{"data":{"file_id":1,"beg":{"line":177,"col":12},"end":{"line":177,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":1,"beg":{"line":177,"col":18},"end":{"line":177,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2896,{"Ref":[{"Body":15},{"Deduplicated":1391},"Shared"]}]}},{"index":24,"name":"t7","span":{"data":{"file_id":1,"beg":{"line":178,"col":12},"end":{"line":178,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":25,"name":null,"span":{"data":{"file_id":1,"beg":{"line":178,"col":18},"end":{"line":178,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2897,{"Ref":[{"Body":16},{"Deduplicated":1391},"Shared"]}]}},{"index":26,"name":null,"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2898,{"Ref":[{"Body":17},{"Deduplicated":1391},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2899,{"Ref":[{"Body":18},{"Deduplicated":1391},"Shared"]}]}},{"index":28,"name":"t8","span":{"data":{"file_id":1,"beg":{"line":179,"col":12},"end":{"line":179,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":29,"name":null,"span":{"data":{"file_id":1,"beg":{"line":179,"col":18},"end":{"line":179,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2900,{"Ref":[{"Body":19},{"Deduplicated":1391},"Shared"]}]}},{"index":30,"name":"t9","span":{"data":{"file_id":1,"beg":{"line":180,"col":12},"end":{"line":180,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":31,"name":null,"span":{"data":{"file_id":1,"beg":{"line":180,"col":18},"end":{"line":180,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2901,{"Ref":[{"Body":20},{"Deduplicated":1391},"Shared"]}]}},{"index":32,"name":null,"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2902,{"Ref":[{"Body":21},{"Deduplicated":1391},"Shared"]}]}},{"index":33,"name":null,"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[2903,{"Ref":[{"Body":22},{"Deduplicated":1391},"Shared"]}]}},{"index":34,"name":"t10","span":{"data":{"file_id":1,"beg":{"line":181,"col":12},"end":{"line":181,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":35,"name":null,"span":{"data":{"file_id":1,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2904,{"Ref":[{"Body":23},{"Deduplicated":1391},"Shared"]}]}},{"index":36,"name":"t11","span":{"data":{"file_id":1,"beg":{"line":182,"col":12},"end":{"line":182,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":37,"name":null,"span":{"data":{"file_id":1,"beg":{"line":182,"col":18},"end":{"line":182,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2905,{"Ref":[{"Body":24},{"Deduplicated":1391},"Shared"]}]}},{"index":38,"name":null,"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2906,{"Ref":[{"Body":25},{"Deduplicated":1391},"Shared"]}]}},{"index":39,"name":null,"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2907,{"Ref":[{"Body":26},{"Deduplicated":1391},"Shared"]}]}},{"index":40,"name":"t12","span":{"data":{"file_id":1,"beg":{"line":183,"col":12},"end":{"line":183,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":41,"name":null,"span":{"data":{"file_id":1,"beg":{"line":183,"col":18},"end":{"line":183,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2908,{"Ref":[{"Body":27},{"Deduplicated":1391},"Shared"]}]}},{"index":42,"name":"t13","span":{"data":{"file_id":1,"beg":{"line":184,"col":12},"end":{"line":184,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":43,"name":null,"span":{"data":{"file_id":1,"beg":{"line":184,"col":18},"end":{"line":184,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2909,{"Ref":[{"Body":28},{"Deduplicated":1391},"Shared"]}]}},{"index":44,"name":null,"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2910,{"Ref":[{"Body":29},{"Deduplicated":1391},"Shared"]}]}},{"index":45,"name":null,"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[2911,{"Ref":[{"Body":30},{"Deduplicated":1391},"Shared"]}]}},{"index":46,"name":"t14","span":{"data":{"file_id":1,"beg":{"line":185,"col":12},"end":{"line":185,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":47,"name":null,"span":{"data":{"file_id":1,"beg":{"line":185,"col":18},"end":{"line":185,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2912,{"Ref":[{"Body":31},{"Deduplicated":1391},"Shared"]}]}},{"index":48,"name":"t15","span":{"data":{"file_id":1,"beg":{"line":186,"col":12},"end":{"line":186,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":49,"name":null,"span":{"data":{"file_id":1,"beg":{"line":186,"col":18},"end":{"line":186,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2913,{"Ref":[{"Body":32},{"Deduplicated":1391},"Shared"]}]}},{"index":50,"name":null,"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2914,{"Ref":[{"Body":33},{"Deduplicated":1391},"Shared"]}]}},{"index":51,"name":null,"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2915,{"Ref":[{"Body":34},{"Deduplicated":1391},"Shared"]}]}},{"index":52,"name":"t16","span":{"data":{"file_id":1,"beg":{"line":187,"col":12},"end":{"line":187,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":53,"name":null,"span":{"data":{"file_id":1,"beg":{"line":187,"col":18},"end":{"line":187,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2916,{"Ref":[{"Body":35},{"Deduplicated":1391},"Shared"]}]}},{"index":54,"name":"t17","span":{"data":{"file_id":1,"beg":{"line":188,"col":12},"end":{"line":188,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":55,"name":null,"span":{"data":{"file_id":1,"beg":{"line":188,"col":18},"end":{"line":188,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2917,{"Ref":[{"Body":36},{"Deduplicated":1391},"Shared"]}]}},{"index":56,"name":null,"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2918,{"Ref":[{"Body":37},{"Deduplicated":1391},"Shared"]}]}},{"index":57,"name":null,"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2919,{"Ref":[{"Body":38},{"Deduplicated":1391},"Shared"]}]}},{"index":58,"name":"t18","span":{"data":{"file_id":1,"beg":{"line":189,"col":12},"end":{"line":189,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":59,"name":null,"span":{"data":{"file_id":1,"beg":{"line":189,"col":18},"end":{"line":189,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[2920,{"Ref":[{"Body":39},{"Deduplicated":1391},"Shared"]}]}},{"index":60,"name":"t19","span":{"data":{"file_id":1,"beg":{"line":190,"col":12},"end":{"line":190,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":61,"name":null,"span":{"data":{"file_id":1,"beg":{"line":190,"col":18},"end":{"line":190,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[2921,{"Ref":[{"Body":40},{"Deduplicated":1391},"Shared"]}]}},{"index":62,"name":null,"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2922,{"Ref":[{"Body":41},{"Deduplicated":1391},"Shared"]}]}},{"index":63,"name":null,"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2923,{"Ref":[{"Body":42},{"Deduplicated":1391},"Shared"]}]}},{"index":64,"name":null,"span":{"data":{"file_id":1,"beg":{"line":192,"col":9},"end":{"line":192,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":65,"name":null,"span":{"data":{"file_id":1,"beg":{"line":192,"col":14},"end":{"line":192,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":171,"col":12},"end":{"line":193,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":171,"col":12},"end":{"line":171,"col":14}},"generated_from_span":null},"id":88,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":171,"col":18},"end":{"line":171,"col":22}},"generated_from_span":null},"id":89,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":171,"col":18},"end":{"line":171,"col":22}},"generated_from_span":null},"id":90,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Instead of managing which temporary variables are used","for what, we define as many as we need and leave stack","allocation to the compiler","","Each temporary variable t_i is of the form (self)^e_i.","Squaring t_i corresponds to multiplying e_i by 2,","so the pow2k function shifts e_i left by k places.","Multiplying t_i and t_j corresponds to adding e_i + e_j.","","Temporary t_i Nonzero bits of e_i",""]},{"span":{"data":{"file_id":1,"beg":{"line":171,"col":18},"end":{"line":171,"col":31}},"generated_from_span":null},"id":91,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2794}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":171,"col":30},"end":{"line":171,"col":31}},"generated_from_span":null},"id":92,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":12},"end":{"line":172,"col":14}},"generated_from_span":null},"id":93,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"id":94,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"id":95,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"id":96,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"id":97,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"id":98,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":46}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":29}},"generated_from_span":null},"id":99,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":28},"end":{"line":172,"col":29}},"generated_from_span":null},"id":100,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":18},"end":{"line":172,"col":38}},"generated_from_span":null},"id":101,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":48}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":37},"end":{"line":172,"col":38}},"generated_from_span":null},"id":102,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":172,"col":38},"end":{"line":172,"col":39}},"generated_from_span":null},"id":103,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":12},"end":{"line":173,"col":14}},"generated_from_span":null},"id":104,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":18},"end":{"line":173,"col":22}},"generated_from_span":null},"id":105,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":18},"end":{"line":173,"col":22}},"generated_from_span":null},"id":106,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2886}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"id":107,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"id":108,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"id":109,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":25},"end":{"line":173,"col":28}},"generated_from_span":null},"id":110,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":18},"end":{"line":173,"col":28}},"generated_from_span":null},"id":111,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":49},{"Body":50}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":27},"end":{"line":173,"col":28}},"generated_from_span":null},"id":112,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":27},"end":{"line":173,"col":28}},"generated_from_span":null},"id":113,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":173,"col":28},"end":{"line":173,"col":29}},"generated_from_span":null},"id":114,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":12},"end":{"line":174,"col":14}},"generated_from_span":null},"id":115,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":18},"end":{"line":174,"col":21}},"generated_from_span":null},"id":116,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":18},"end":{"line":174,"col":21}},"generated_from_span":null},"id":117,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"id":118,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"id":119,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"id":120,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":24},"end":{"line":174,"col":27}},"generated_from_span":null},"id":121,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":18},"end":{"line":174,"col":27}},"generated_from_span":null},"id":122,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":51},{"Body":52}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":26},"end":{"line":174,"col":27}},"generated_from_span":null},"id":123,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":26},"end":{"line":174,"col":27}},"generated_from_span":null},"id":124,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":174,"col":27},"end":{"line":174,"col":28}},"generated_from_span":null},"id":125,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":12},"end":{"line":175,"col":14}},"generated_from_span":null},"id":126,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"id":127,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"id":128,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":18},"end":{"line":175,"col":29}},"generated_from_span":null},"id":129,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":175,"col":28},"end":{"line":175,"col":29}},"generated_from_span":null},"id":130,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":12},"end":{"line":176,"col":14}},"generated_from_span":null},"id":131,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":18},"end":{"line":176,"col":21}},"generated_from_span":null},"id":132,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":18},"end":{"line":176,"col":21}},"generated_from_span":null},"id":133,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"id":134,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"id":135,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"id":136,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":16},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":24},"end":{"line":176,"col":27}},"generated_from_span":null},"id":137,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":18},"end":{"line":176,"col":27}},"generated_from_span":null},"id":138,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":55},{"Body":56}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2894}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":26},"end":{"line":176,"col":27}},"generated_from_span":null},"id":139,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":26},"end":{"line":176,"col":27}},"generated_from_span":null},"id":140,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":176,"col":27},"end":{"line":176,"col":28}},"generated_from_span":null},"id":141,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":12},"end":{"line":177,"col":14}},"generated_from_span":null},"id":142,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":18},"end":{"line":177,"col":20}},"generated_from_span":null},"id":143,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":18},"end":{"line":177,"col":20}},"generated_from_span":null},"id":144,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":18},"end":{"line":177,"col":29}},"generated_from_span":null},"id":145,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":58}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2896}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","5"]}}},"ty":{"HashConsedValue":[2925,{"Literal":{"UInt":"U32"}}]}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":177,"col":28},"end":{"line":177,"col":29}},"generated_from_span":null},"id":146,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":12},"end":{"line":178,"col":14}},"generated_from_span":null},"id":147,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":18},"end":{"line":178,"col":21}},"generated_from_span":null},"id":148,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":18},"end":{"line":178,"col":21}},"generated_from_span":null},"id":149,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Local":22},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"id":150,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"id":151,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"id":152,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":24},"end":{"line":178,"col":27}},"generated_from_span":null},"id":153,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":27},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":18},"end":{"line":178,"col":27}},"generated_from_span":null},"id":154,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":59},{"Body":60}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":24},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":26},"end":{"line":178,"col":27}},"generated_from_span":null},"id":155,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":26},"end":{"line":178,"col":27}},"generated_from_span":null},"id":156,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":178,"col":27},"end":{"line":178,"col":28}},"generated_from_span":null},"id":157,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":12},"end":{"line":179,"col":14}},"generated_from_span":null},"id":158,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":18},"end":{"line":179,"col":20}},"generated_from_span":null},"id":159,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":18},"end":{"line":179,"col":20}},"generated_from_span":null},"id":160,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Local":24},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":18},"end":{"line":179,"col":30}},"generated_from_span":null},"id":161,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":62}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2900}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","10"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":179,"col":29},"end":{"line":179,"col":30}},"generated_from_span":null},"id":162,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":12},"end":{"line":180,"col":14}},"generated_from_span":null},"id":163,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":18},"end":{"line":180,"col":21}},"generated_from_span":null},"id":164,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":18},"end":{"line":180,"col":21}},"generated_from_span":null},"id":165,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Local":28},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"id":166,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"id":167,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"id":168,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Local":24},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":24},"end":{"line":180,"col":27}},"generated_from_span":null},"id":169,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":33},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":18},"end":{"line":180,"col":27}},"generated_from_span":null},"id":170,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":63},{"Body":64}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":30},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":26},"end":{"line":180,"col":27}},"generated_from_span":null},"id":171,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":26},"end":{"line":180,"col":27}},"generated_from_span":null},"id":172,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":180,"col":27},"end":{"line":180,"col":28}},"generated_from_span":null},"id":173,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":12},"end":{"line":181,"col":15}},"generated_from_span":null},"id":174,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"id":175,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"id":176,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":30},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":18},"end":{"line":181,"col":30}},"generated_from_span":null},"id":177,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":66}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":2904}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","20"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":34},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":181,"col":29},"end":{"line":181,"col":30}},"generated_from_span":null},"id":178,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":12},"end":{"line":182,"col":15}},"generated_from_span":null},"id":179,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":18},"end":{"line":182,"col":22}},"generated_from_span":null},"id":180,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":18},"end":{"line":182,"col":22}},"generated_from_span":null},"id":181,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Local":34},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"id":182,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"id":183,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"id":184,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":30},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":25},"end":{"line":182,"col":28}},"generated_from_span":null},"id":185,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":39},"ty":{"Deduplicated":2907}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":18},"end":{"line":182,"col":28}},"generated_from_span":null},"id":186,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":67},{"Body":68}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2905}}},{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":2906}}}],"dest":{"kind":{"Local":36},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":27},"end":{"line":182,"col":28}},"generated_from_span":null},"id":187,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":27},"end":{"line":182,"col":28}},"generated_from_span":null},"id":188,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":182,"col":28},"end":{"line":182,"col":29}},"generated_from_span":null},"id":189,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":12},"end":{"line":183,"col":15}},"generated_from_span":null},"id":190,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":18},"end":{"line":183,"col":21}},"generated_from_span":null},"id":191,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":18},"end":{"line":183,"col":21}},"generated_from_span":null},"id":192,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Local":36},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":18},"end":{"line":183,"col":31}},"generated_from_span":null},"id":193,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":70}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2908}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","10"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":40},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":183,"col":30},"end":{"line":183,"col":31}},"generated_from_span":null},"id":194,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":12},"end":{"line":184,"col":15}},"generated_from_span":null},"id":195,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":18},"end":{"line":184,"col":22}},"generated_from_span":null},"id":196,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":18},"end":{"line":184,"col":22}},"generated_from_span":null},"id":197,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":40},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"id":198,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"id":199,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"id":200,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Local":24},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":25},"end":{"line":184,"col":28}},"generated_from_span":null},"id":201,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":45},"ty":{"Deduplicated":2911}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":18},"end":{"line":184,"col":28}},"generated_from_span":null},"id":202,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":71},{"Body":72}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":2909}}},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2910}}}],"dest":{"kind":{"Local":42},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":27},"end":{"line":184,"col":28}},"generated_from_span":null},"id":203,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":27},"end":{"line":184,"col":28}},"generated_from_span":null},"id":204,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":184,"col":28},"end":{"line":184,"col":29}},"generated_from_span":null},"id":205,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":12},"end":{"line":185,"col":15}},"generated_from_span":null},"id":206,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":18},"end":{"line":185,"col":21}},"generated_from_span":null},"id":207,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":18},"end":{"line":185,"col":21}},"generated_from_span":null},"id":208,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":42},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":18},"end":{"line":185,"col":31}},"generated_from_span":null},"id":209,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":74}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":2912}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","50"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":185,"col":30},"end":{"line":185,"col":31}},"generated_from_span":null},"id":210,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":12},"end":{"line":186,"col":15}},"generated_from_span":null},"id":211,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":18},"end":{"line":186,"col":22}},"generated_from_span":null},"id":212,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":18},"end":{"line":186,"col":22}},"generated_from_span":null},"id":213,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":46},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"id":214,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"id":215,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"id":216,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":42},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":25},"end":{"line":186,"col":29}},"generated_from_span":null},"id":217,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":51},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":18},"end":{"line":186,"col":29}},"generated_from_span":null},"id":218,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":75},{"Body":76}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":28},"end":{"line":186,"col":29}},"generated_from_span":null},"id":219,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":28},"end":{"line":186,"col":29}},"generated_from_span":null},"id":220,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":186,"col":29},"end":{"line":186,"col":30}},"generated_from_span":null},"id":221,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":12},"end":{"line":187,"col":15}},"generated_from_span":null},"id":222,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":18},"end":{"line":187,"col":21}},"generated_from_span":null},"id":223,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":18},"end":{"line":187,"col":21}},"generated_from_span":null},"id":224,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Local":48},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":18},"end":{"line":187,"col":32}},"generated_from_span":null},"id":225,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":78}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":2916}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","100"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":187,"col":31},"end":{"line":187,"col":32}},"generated_from_span":null},"id":226,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":12},"end":{"line":188,"col":15}},"generated_from_span":null},"id":227,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":18},"end":{"line":188,"col":22}},"generated_from_span":null},"id":228,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":18},"end":{"line":188,"col":22}},"generated_from_span":null},"id":229,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":2917}},{"Ref":{"place":{"kind":{"Local":52},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"id":230,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"id":231,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"id":232,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Local":48},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":25},"end":{"line":188,"col":29}},"generated_from_span":null},"id":233,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":2918}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":2919}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":18},"end":{"line":188,"col":29}},"generated_from_span":null},"id":234,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":79},{"Body":80}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":2917}}},{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":2918}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":28},"end":{"line":188,"col":29}},"generated_from_span":null},"id":235,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":28},"end":{"line":188,"col":29}},"generated_from_span":null},"id":236,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":188,"col":29},"end":{"line":188,"col":30}},"generated_from_span":null},"id":237,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":12},"end":{"line":189,"col":15}},"generated_from_span":null},"id":238,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":18},"end":{"line":189,"col":21}},"generated_from_span":null},"id":239,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":18},"end":{"line":189,"col":21}},"generated_from_span":null},"id":240,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":2920}},{"Ref":{"place":{"kind":{"Local":54},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":18},"end":{"line":189,"col":31}},"generated_from_span":null},"id":241,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":82}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":2920}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","50"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":189,"col":30},"end":{"line":189,"col":31}},"generated_from_span":null},"id":242,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":12},"end":{"line":190,"col":15}},"generated_from_span":null},"id":243,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":18},"end":{"line":190,"col":22}},"generated_from_span":null},"id":244,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":18},"end":{"line":190,"col":22}},"generated_from_span":null},"id":245,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":2921}},{"Ref":{"place":{"kind":{"Local":58},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"id":246,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"id":247,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"id":248,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":2923}},{"Ref":{"place":{"kind":{"Local":42},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":25},"end":{"line":190,"col":29}},"generated_from_span":null},"id":249,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":2923}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":18},"end":{"line":190,"col":29}},"generated_from_span":null},"id":250,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":83},{"Body":84}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":2921}}},{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":2922}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":28},"end":{"line":190,"col":29}},"generated_from_span":null},"id":251,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":28},"end":{"line":190,"col":29}},"generated_from_span":null},"id":252,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":190,"col":29},"end":{"line":190,"col":30}},"generated_from_span":null},"id":253,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":9},"end":{"line":192,"col":12}},"generated_from_span":null},"id":254,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":9},"end":{"line":192,"col":12}},"generated_from_span":null},"id":255,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":60},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":14},"end":{"line":192,"col":16}},"generated_from_span":null},"id":256,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":14},"end":{"line":192,"col":16}},"generated_from_span":null},"id":257,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":8},"end":{"line":192,"col":17}},"generated_from_span":null},"id":258,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2885}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":16},"end":{"line":192,"col":17}},"generated_from_span":null},"id":259,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":192,"col":16},"end":{"line":192,"col":17}},"generated_from_span":null},"id":260,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":261,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":262,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":263,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":264,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":265,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":266,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":267,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":268,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":269,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":270,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":271,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":272,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":273,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":274,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":275,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":276,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":277,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":278,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":279,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"id":280,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":193,"col":5},"end":{"line":193,"col":5}},"generated_from_span":null},"id":281,"kind":"Return","comments_before":[]}]},"comments":[[171,["Instead of managing which temporary variables are used","for what, we define as many as we need and leave stack","allocation to the compiler","","Each temporary variable t_i is of the form (self)^e_i.","Squaring t_i corresponds to multiplying e_i by 2,","so the pow2k function shifts e_i left by k places.","Multiplying t_i and t_j corresponds to adding e_i + e_j.","","Temporary t_i Nonzero bits of e_i",""]]]}}},{"def_id":12,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["internal_invert_batch",0]}],"span":{"data":{"file_id":1,"beg":{"line":216,"col":4},"end":{"line":270,"col":5}},"generated_from_span":null},"source_text":"fn internal_invert_batch(inputs: &mut [FieldElement], scratch: &mut [FieldElement]) {\n // Montgomery’s Trick and Fast Implementation of Masked AES\n // Genelle, Prouff and Quisquater\n // Section 3.2\n\n debug_assert_eq!(inputs.len(), scratch.len());\n\n // Keep an accumulator of all of the previous products\n let mut acc = FieldElement::ONE;\n\n // Pass through the input vector, recording the previous\n // products in the scratch space\n for (input, scratch) in inputs.iter().zip(scratch.iter_mut()) {\n *scratch = acc;\n // acc <- acc * input, but skipping zeros (constant-time)\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut product = &acc * input;\n acc.conditional_assign(&product, !input.is_zero());\n\n #[cfg(feature = \"zeroize\")]\n product.zeroize();\n }\n\n // acc is nonzero because we skipped zeros in inputs\n assert!(bool::from(!acc.is_zero()));\n\n // Compute the inverse of all products\n acc = acc.invert();\n\n // Pass through the vector backwards to compute the inverses\n // in place\n for (input, scratch) in inputs.iter_mut().rev().zip(scratch.iter_mut().rev()) {\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut tmp = &acc * input;\n #[cfg_attr(not(feature = \"zeroize\"), allow(unused_mut))]\n let mut inverse = &acc * scratch;\n // input <- acc * scratch, then acc <- tmp\n // Again, we skip zeros in a constant-time way\n let nz = !input.is_zero();\n input.conditional_assign(&inverse, nz);\n acc.conditional_assign(&tmp, nz);\n\n #[cfg(feature = \"zeroize\")]\n {\n tmp.zeroize();\n inverse.zeroize();\n }\n }\n\n #[cfg(feature = \"zeroize\")]\n {\n acc.zeroize();\n scratch.zeroize();\n }\n }","attr_info":{"attributes":[{"DocComment":" Given a slice of pub(crate)lic `FieldElements`, replace each with its inverse. `scratch` can"},{"DocComment":" contain anything, so long as its length is the same as `inputs`."},{"DocComment":""},{"DocComment":" When an input `FieldElement` is zero, its value is unchanged."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":" Panics when `scratch.len() != inputs.len()`"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10639,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[2926,{"Slice":{"Deduplicated":1391}}]},"Mut"]}]},{"HashConsedValue":[10640,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2926},"Mut"]}]}],"output":{"Deduplicated":1443}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":13,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invert",0]}],"span":{"data":{"file_id":1,"beg":{"line":280,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn invert(&self) -> FieldElement {\n // The bits of p-2 = 2^255 -19 -2 are 11010111111...11.\n //\n // nonzero bits of exponent\n let (t19, t3) = self.pow22501(); // t19: 249..0 ; t3: 3,1,0\n let t20 = t19.pow2k(5); // 254..5\n let t21 = &t20 * &t3; // 254..5,3,1,0\n\n t21\n }","attr_info":{"attributes":[{"DocComment":" Given a nonzero field element, compute its inverse."},{"DocComment":""},{"DocComment":" The inverse is computed as self^(p-2), since"},{"DocComment":" x^(p-2)x = x^(p-1) = 1 (mod p)."},{"DocComment":""},{"DocComment":" This function returns zero on input zero."},{"Unknown":{"path":"rustfmt::skip","args":null}},{"Unknown":{"path":"allow","args":"clippy::let_and_return"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":280,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"bound_body_regions":13,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":280,"col":35},"end":{"line":280,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":280,"col":25},"end":{"line":280,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"t19","span":{"data":{"file_id":1,"beg":{"line":284,"col":13},"end":{"line":284,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":"t3","span":{"data":{"file_id":1,"beg":{"line":284,"col":18},"end":{"line":284,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2885}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":6,"name":"t20","span":{"data":{"file_id":1,"beg":{"line":285,"col":12},"end":{"line":285,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":285,"col":18},"end":{"line":285,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":8,"name":"t21","span":{"data":{"file_id":1,"beg":{"line":286,"col":12},"end":{"line":286,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":286,"col":18},"end":{"line":286,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":11,"name":null,"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2887}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":284,"col":13},"end":{"line":289,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":39}},"generated_from_span":null},"id":282,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":28}},"generated_from_span":null},"id":283,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":28}},"generated_from_span":null},"id":284,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["The bits of p-2 = 2^255 -19 -2 are 11010111111...11.",""," nonzero bits of exponent"]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":24},"end":{"line":284,"col":39}},"generated_from_span":null},"id":285,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":11}},"generics":{"regions":[{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2794}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":2885}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":38},"end":{"line":284,"col":39}},"generated_from_span":null},"id":286,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":13},"end":{"line":284,"col":16}},"generated_from_span":null},"id":287,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":13},"end":{"line":284,"col":16}},"generated_from_span":null},"id":288,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2885}},{"Field":[{"Tuple":2},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":18},"end":{"line":284,"col":20}},"generated_from_span":null},"id":289,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":18},"end":{"line":284,"col":20}},"generated_from_span":null},"id":290,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2885}},{"Field":[{"Tuple":2},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":284,"col":39},"end":{"line":284,"col":40}},"generated_from_span":null},"id":291,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":12},"end":{"line":285,"col":15}},"generated_from_span":null},"id":292,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":18},"end":{"line":285,"col":21}},"generated_from_span":null},"id":293,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":18},"end":{"line":285,"col":21}},"generated_from_span":null},"id":294,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":18},"end":{"line":285,"col":30}},"generated_from_span":null},"id":295,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2795}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","5"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":285,"col":29},"end":{"line":285,"col":30}},"generated_from_span":null},"id":296,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":12},"end":{"line":286,"col":15}},"generated_from_span":null},"id":297,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":18},"end":{"line":286,"col":22}},"generated_from_span":null},"id":298,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":18},"end":{"line":286,"col":22}},"generated_from_span":null},"id":299,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"id":300,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"id":301,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"id":302,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":25},"end":{"line":286,"col":28}},"generated_from_span":null},"id":303,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2887}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":18},"end":{"line":286,"col":28}},"generated_from_span":null},"id":304,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":11},{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":27},"end":{"line":286,"col":28}},"generated_from_span":null},"id":305,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":27},"end":{"line":286,"col":28}},"generated_from_span":null},"id":306,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":286,"col":28},"end":{"line":286,"col":29}},"generated_from_span":null},"id":307,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":288,"col":8},"end":{"line":288,"col":11}},"generated_from_span":null},"id":308,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"id":309,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"id":310,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"id":311,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":4},"end":{"line":289,"col":5}},"generated_from_span":null},"id":312,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":289,"col":5},"end":{"line":289,"col":5}},"generated_from_span":null},"id":313,"kind":"Return","comments_before":[]}]},"comments":[[284,["The bits of p-2 = 2^255 -19 -2 are 11010111111...11.",""," nonzero bits of exponent"]]]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow_p58",0]}],"span":{"data":{"file_id":1,"beg":{"line":294,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn pow_p58(&self) -> FieldElement {\n // The bits of (p-5)/8 are 101111.....11.\n //\n // nonzero bits of exponent\n let (t19, _) = self.pow22501(); // 249..0\n let t20 = t19.pow2k(2); // 251..2\n let t21 = self * &t20; // 251..2,0\n\n t21\n }","attr_info":{"attributes":[{"DocComment":" Raise this field element to the power (p-5)/8 = 2^252 -3."},{"Unknown":{"path":"rustfmt::skip","args":null}},{"Unknown":{"path":"allow","args":"clippy::let_and_return"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":294,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"bound_body_regions":13,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":294,"col":36},"end":{"line":294,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":294,"col":26},"end":{"line":294,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"t19","span":{"data":{"file_id":1,"beg":{"line":298,"col":13},"end":{"line":298,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":2885}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":5,"name":"t20","span":{"data":{"file_id":1,"beg":{"line":299,"col":12},"end":{"line":299,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":299,"col":18},"end":{"line":299,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":7,"name":"t21","span":{"data":{"file_id":1,"beg":{"line":300,"col":12},"end":{"line":300,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":1,"beg":{"line":300,"col":18},"end":{"line":300,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2887}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":298,"col":13},"end":{"line":303,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":38}},"generated_from_span":null},"id":314,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":27}},"generated_from_span":null},"id":315,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":27}},"generated_from_span":null},"id":316,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["The bits of (p-5)/8 are 101111.....11.",""," nonzero bits of exponent"]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":23},"end":{"line":298,"col":38}},"generated_from_span":null},"id":317,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":11}},"generics":{"regions":[{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2794}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2885}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":37},"end":{"line":298,"col":38}},"generated_from_span":null},"id":318,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":13},"end":{"line":298,"col":16}},"generated_from_span":null},"id":319,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":13},"end":{"line":298,"col":16}},"generated_from_span":null},"id":320,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2885}},{"Field":[{"Tuple":2},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":298,"col":38},"end":{"line":298,"col":39}},"generated_from_span":null},"id":321,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":12},"end":{"line":299,"col":15}},"generated_from_span":null},"id":322,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":18},"end":{"line":299,"col":21}},"generated_from_span":null},"id":323,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":18},"end":{"line":299,"col":21}},"generated_from_span":null},"id":324,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":18},"end":{"line":299,"col":30}},"generated_from_span":null},"id":325,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2795}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":299,"col":29},"end":{"line":299,"col":30}},"generated_from_span":null},"id":326,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":12},"end":{"line":300,"col":15}},"generated_from_span":null},"id":327,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":18},"end":{"line":300,"col":22}},"generated_from_span":null},"id":328,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":18},"end":{"line":300,"col":22}},"generated_from_span":null},"id":329,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2796}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"id":330,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"id":331,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"id":332,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":25},"end":{"line":300,"col":29}},"generated_from_span":null},"id":333,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2887}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":18},"end":{"line":300,"col":29}},"generated_from_span":null},"id":334,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":11},{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":28},"end":{"line":300,"col":29}},"generated_from_span":null},"id":335,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":28},"end":{"line":300,"col":29}},"generated_from_span":null},"id":336,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":300,"col":29},"end":{"line":300,"col":30}},"generated_from_span":null},"id":337,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":302,"col":8},"end":{"line":302,"col":11}},"generated_from_span":null},"id":338,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":303,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"id":339,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":303,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"id":340,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":303,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"id":341,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":303,"col":5},"end":{"line":303,"col":5}},"generated_from_span":null},"id":342,"kind":"Return","comments_before":[]}]},"comments":[[298,["The bits of (p-5)/8 are 101111.....11.",""," nonzero bits of exponent"]]]}}},{"def_id":15,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["sqrt_ratio_i",0]}],"span":{"data":{"file_id":1,"beg":{"line":317,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn sqrt_ratio_i(u: &FieldElement, v: &FieldElement) -> (Choice, FieldElement) {\n // Using the same trick as in ed25519 decoding, we merge the\n // inversion, the square root, and the square test as follows.\n //\n // To compute sqrt(α), we can compute β = α^((p+3)/8).\n // Then β^2 = ±α, so multiplying β by sqrt(-1) if necessary\n // gives sqrt(α).\n //\n // To compute 1/sqrt(α), we observe that\n // 1/β = α^(p-1 - (p+3)/8) = α^((7p-11)/8)\n // = α^3 * (α^7)^((p-5)/8).\n //\n // We can therefore compute sqrt(u/v) = sqrt(u)/sqrt(v)\n // by first computing\n // r = u^((p+3)/8) v^(p-1-(p+3)/8)\n // = u u^((p-5)/8) v^3 (v^7)^((p-5)/8)\n // = (uv^3) (uv^7)^((p-5)/8).\n //\n // If v is nonzero and u/v is square, then r^2 = ±u/v,\n // so vr^2 = ±u.\n // If vr^2 = u, then sqrt(u/v) = r.\n // If vr^2 = -u, then sqrt(u/v) = r*sqrt(-1).\n //\n // If v is zero, r is also zero.\n\n let v3 = &v.square() * v;\n let v7 = &v3.square() * v;\n let mut r = &(u * &v3) * &(u * &v7).pow_p58();\n let check = v * &r.square();\n\n let i = &constants::SQRT_M1;\n\n let correct_sign_sqrt = check.ct_eq(u);\n let flipped_sign_sqrt = check.ct_eq(&(-u));\n let flipped_sign_sqrt_i = check.ct_eq(&(&(-u) * i));\n\n let r_prime = &constants::SQRT_M1 * &r;\n r.conditional_assign(&r_prime, flipped_sign_sqrt | flipped_sign_sqrt_i);\n\n // Choose the nonnegative square root.\n //\n // NOTE: written as negate-then-conditional-assign rather than\n // `r.conditional_negate(r_is_negative)`: semantically identical and\n // still constant-time, but it avoids subtle's `ConditionallyNegatable`\n // blanket impl (whose `for<'a> &'a T: Neg` bound breaks the Aeneas\n // verification toolchain; see verification/field/README.md).\n let r_is_negative = r.is_negative();\n let r_neg = -&r;\n r.conditional_assign(&r_neg, r_is_negative);\n\n let was_nonzero_square = correct_sign_sqrt | flipped_sign_sqrt;\n\n (was_nonzero_square, r)\n }","attr_info":{"attributes":[{"DocComment":" Given `FieldElements` `u` and `v`, compute either `sqrt(u/v)`"},{"DocComment":" or `sqrt(i*u/v)` in constant time."},{"DocComment":""},{"DocComment":" This function always returns the nonnegative square root."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" - `(Choice(1), +sqrt(u/v)) ` if `v` is nonzero and `u/v` is square;"},{"DocComment":" - `(Choice(1), zero) ` if `u` is zero;"},{"DocComment":" - `(Choice(0), zero) ` if `v` is zero and `u` is nonzero;"},{"DocComment":" - `(Choice(0), +sqrt(i*u/v))` if `u/v` is nonsquare (so `i*u/v` is square)."},{"DocComment":""}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516},{"Deduplicated":10517}],"output":{"HashConsedValue":[2929,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":317,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"bound_body_regions":103,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":317,"col":70},"end":{"line":317,"col":92}},"generated_from_span":null},"ty":{"Deduplicated":2929}},{"index":1,"name":"u","span":{"data":{"file_id":1,"beg":{"line":317,"col":31},"end":{"line":317,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"v","span":{"data":{"file_id":1,"beg":{"line":317,"col":49},"end":{"line":317,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":"v3","span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":342,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":342,"col":17},"end":{"line":342,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":8,"name":"v7","span":{"data":{"file_id":1,"beg":{"line":343,"col":12},"end":{"line":343,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":1,"beg":{"line":343,"col":17},"end":{"line":343,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":10,"name":null,"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":12,"name":null,"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":13,"name":"r","span":{"data":{"file_id":1,"beg":{"line":344,"col":12},"end":{"line":344,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":14,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":20},"end":{"line":344,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":15,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":21},"end":{"line":344,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":22},"end":{"line":344,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":17,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":18,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":19,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":20,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":21,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":22,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":23,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":35},"end":{"line":344,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":25,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":26,"name":null,"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":27,"name":"check","span":{"data":{"file_id":1,"beg":{"line":345,"col":12},"end":{"line":345,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":20},"end":{"line":345,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":29,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":30,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":31,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":33,"name":"i","span":{"data":{"file_id":1,"beg":{"line":347,"col":12},"end":{"line":347,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":34,"name":"correct_sign_sqrt","span":{"data":{"file_id":1,"beg":{"line":349,"col":12},"end":{"line":349,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":35,"name":null,"span":{"data":{"file_id":1,"beg":{"line":349,"col":32},"end":{"line":349,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":36,"name":null,"span":{"data":{"file_id":1,"beg":{"line":349,"col":44},"end":{"line":349,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":37,"name":"flipped_sign_sqrt","span":{"data":{"file_id":1,"beg":{"line":350,"col":12},"end":{"line":350,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":38,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":32},"end":{"line":350,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":39,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":40,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":41,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":45},"end":{"line":350,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":42,"name":null,"span":{"data":{"file_id":1,"beg":{"line":350,"col":47},"end":{"line":350,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":43,"name":"flipped_sign_sqrt_i","span":{"data":{"file_id":1,"beg":{"line":351,"col":12},"end":{"line":351,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":44,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":34},"end":{"line":351,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":45,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":46,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":47,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":47},"end":{"line":351,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":48,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":48},"end":{"line":351,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":49,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":49},"end":{"line":351,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":50,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":51},"end":{"line":351,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":51,"name":null,"span":{"data":{"file_id":1,"beg":{"line":351,"col":56},"end":{"line":351,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":52,"name":"r_prime","span":{"data":{"file_id":1,"beg":{"line":353,"col":12},"end":{"line":353,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":53,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2917}},{"index":54,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2918}},{"index":55,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":56,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":57,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[2932,{"Ref":[{"Body":40},{"Deduplicated":1391},"Mut"]}]}},{"index":58,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2922}},{"index":59,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2923}},{"index":60,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":61,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":62,"name":null,"span":{"data":{"file_id":1,"beg":{"line":354,"col":59},"end":{"line":354,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":63,"name":"r_is_negative","span":{"data":{"file_id":1,"beg":{"line":363,"col":12},"end":{"line":363,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":64,"name":null,"span":{"data":{"file_id":1,"beg":{"line":363,"col":28},"end":{"line":363,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[2933,{"Ref":[{"Body":43},{"Deduplicated":1391},"Shared"]}]}},{"index":65,"name":"r_neg","span":{"data":{"file_id":1,"beg":{"line":364,"col":12},"end":{"line":364,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":66,"name":null,"span":{"data":{"file_id":1,"beg":{"line":364,"col":21},"end":{"line":364,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2934,{"Ref":[{"Body":44},{"Deduplicated":1391},"Shared"]}]}},{"index":67,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":68,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[2935,{"Ref":[{"Body":45},{"Deduplicated":1391},"Mut"]}]}},{"index":69,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[2936,{"Ref":[{"Body":46},{"Deduplicated":1391},"Shared"]}]}},{"index":70,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[2937,{"Ref":[{"Body":47},{"Deduplicated":1391},"Shared"]}]}},{"index":71,"name":null,"span":{"data":{"file_id":1,"beg":{"line":365,"col":37},"end":{"line":365,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":72,"name":"was_nonzero_square","span":{"data":{"file_id":1,"beg":{"line":367,"col":12},"end":{"line":367,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":73,"name":null,"span":{"data":{"file_id":1,"beg":{"line":367,"col":33},"end":{"line":367,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":74,"name":null,"span":{"data":{"file_id":1,"beg":{"line":367,"col":53},"end":{"line":367,"col":70}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":75,"name":null,"span":{"data":{"file_id":1,"beg":{"line":369,"col":9},"end":{"line":369,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":76,"name":null,"span":{"data":{"file_id":1,"beg":{"line":369,"col":29},"end":{"line":369,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":77,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[2938,{"Ref":[{"Body":48},{"Deduplicated":1391},"Shared"]}]}},{"index":78,"name":null,"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[2939,{"Ref":[{"Body":49},{"Deduplicated":1391},"Shared"]}]}},{"index":79,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[2942,{"Ref":[{"Body":70},{"Deduplicated":1391},"Shared"]}]}},{"index":80,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9278,{"Ref":[{"Body":87},{"Deduplicated":1391},"Shared"]}]}},{"index":81,"name":null,"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[4085,{"Ref":[{"Body":101},{"Deduplicated":1391},"Shared"]}]}},{"index":82,"name":null,"span":{"data":{"file_id":1,"beg":{"line":347,"col":17},"end":{"line":347,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":83,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[4087,{"Ref":[{"Body":102},{"Deduplicated":1391},"Shared"]}]}},{"index":84,"name":null,"span":{"data":{"file_id":1,"beg":{"line":353,"col":23},"end":{"line":353,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":345,"col":35}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":342,"col":14}},"generated_from_span":null},"id":343,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":342,"col":14}},"generated_from_span":null},"id":344,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":12},"end":{"line":342,"col":14}},"generated_from_span":null},"id":345,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":17},"end":{"line":342,"col":28}},"generated_from_span":null},"id":346,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":28}},"generated_from_span":null},"id":347,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":19}},"generated_from_span":null},"id":348,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":19}},"generated_from_span":null},"id":349,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Using the same trick as in ed25519 decoding, we merge the","inversion, the square root, and the square test as follows.","","To compute sqrt(α), we can compute β = α^((p+3)/8).","Then β^2 = ±α, so multiplying β by sqrt(-1) if necessary","gives sqrt(α).","","To compute 1/sqrt(α), we observe that"," 1/β = α^(p-1 - (p+3)/8) = α^((7p-11)/8)"," = α^3 * (α^7)^((p-5)/8).","","We can therefore compute sqrt(u/v) = sqrt(u)/sqrt(v)","by first computing"," r = u^((p+3)/8) v^(p-1-(p+3)/8)"," = u u^((p-5)/8) v^3 (v^7)^((p-5)/8)"," = (uv^3) (uv^7)^((p-5)/8).","","If v is nonzero and u/v is square, then r^2 = ±u/v,"," so vr^2 = ±u.","If vr^2 = u, then sqrt(u/v) = r.","If vr^2 = -u, then sqrt(u/v) = r*sqrt(-1).","","If v is zero, r is also zero."]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":18},"end":{"line":342,"col":28}},"generated_from_span":null},"id":350,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":27},"end":{"line":342,"col":28}},"generated_from_span":null},"id":351,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":17},"end":{"line":342,"col":28}},"generated_from_span":null},"id":352,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"id":353,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"id":354,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":17},"end":{"line":342,"col":32}},"generated_from_span":null},"id":355,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":52},{"Body":53}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"id":356,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":31},"end":{"line":342,"col":32}},"generated_from_span":null},"id":357,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":342,"col":32},"end":{"line":342,"col":33}},"generated_from_span":null},"id":358,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":12},"end":{"line":343,"col":14}},"generated_from_span":null},"id":359,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":17},"end":{"line":343,"col":29}},"generated_from_span":null},"id":360,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":29}},"generated_from_span":null},"id":361,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":20}},"generated_from_span":null},"id":362,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":20}},"generated_from_span":null},"id":363,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":18},"end":{"line":343,"col":29}},"generated_from_span":null},"id":364,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":28},"end":{"line":343,"col":29}},"generated_from_span":null},"id":365,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":17},"end":{"line":343,"col":29}},"generated_from_span":null},"id":366,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"id":367,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"id":368,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":17},"end":{"line":343,"col":33}},"generated_from_span":null},"id":369,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":56},{"Body":57}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"id":370,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":32},"end":{"line":343,"col":33}},"generated_from_span":null},"id":371,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":343,"col":33},"end":{"line":343,"col":34}},"generated_from_span":null},"id":372,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":12},"end":{"line":344,"col":17}},"generated_from_span":null},"id":373,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":20},"end":{"line":344,"col":30}},"generated_from_span":null},"id":374,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":21},"end":{"line":344,"col":30}},"generated_from_span":null},"id":375,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":22},"end":{"line":344,"col":23}},"generated_from_span":null},"id":376,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":22},"end":{"line":344,"col":23}},"generated_from_span":null},"id":377,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2891}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"id":378,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"id":379,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"id":380,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":26},"end":{"line":344,"col":29}},"generated_from_span":null},"id":381,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":21},"end":{"line":344,"col":30}},"generated_from_span":null},"id":382,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":58},{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":29},"end":{"line":344,"col":30}},"generated_from_span":null},"id":383,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":29},"end":{"line":344,"col":30}},"generated_from_span":null},"id":384,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":20},"end":{"line":344,"col":30}},"generated_from_span":null},"id":385,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"id":386,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"id":387,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":53}},"generated_from_span":null},"id":388,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"id":389,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"id":390,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":35},"end":{"line":344,"col":36}},"generated_from_span":null},"id":391,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":35},"end":{"line":344,"col":36}},"generated_from_span":null},"id":392,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2897}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"id":393,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"id":394,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"id":395,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":39},"end":{"line":344,"col":42}},"generated_from_span":null},"id":396,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"id":397,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":60},{"Body":61}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":43}},"generated_from_span":null},"id":398,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":42},"end":{"line":344,"col":43}},"generated_from_span":null},"id":399,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":42},"end":{"line":344,"col":43}},"generated_from_span":null},"id":400,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":34},"end":{"line":344,"col":53}},"generated_from_span":null},"id":401,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":14}},"generics":{"regions":[{"Body":63}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":52},"end":{"line":344,"col":53}},"generated_from_span":null},"id":402,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"id":403,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":21},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":33},"end":{"line":344,"col":53}},"generated_from_span":null},"id":404,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":20},"end":{"line":344,"col":53}},"generated_from_span":null},"id":405,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":64},{"Body":65}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2894}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":52},"end":{"line":344,"col":53}},"generated_from_span":null},"id":406,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":52},"end":{"line":344,"col":53}},"generated_from_span":null},"id":407,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":408,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":409,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":410,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":411,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":412,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":344,"col":53},"end":{"line":344,"col":54}},"generated_from_span":null},"id":413,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":12},"end":{"line":345,"col":17}},"generated_from_span":null},"id":414,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":20},"end":{"line":345,"col":21}},"generated_from_span":null},"id":415,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":20},"end":{"line":345,"col":21}},"generated_from_span":null},"id":416,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2900}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2794}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"id":417,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"id":418,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":35}},"generated_from_span":null},"id":419,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":26}},"generated_from_span":null},"id":420,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":26}},"generated_from_span":null},"id":421,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":25},"end":{"line":345,"col":35}},"generated_from_span":null},"id":422,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":67}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2903}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":34},"end":{"line":345,"col":35}},"generated_from_span":null},"id":423,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"id":424,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Local":31},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":24},"end":{"line":345,"col":35}},"generated_from_span":null},"id":425,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":20},"end":{"line":345,"col":35}},"generated_from_span":null},"id":426,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":68},{"Body":69}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":427,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":428,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":17},"end":{"line":347,"col":35}},"generated_from_span":null},"id":429,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":17},"end":{"line":347,"col":35}},"generated_from_span":null},"id":430,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":82,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":431,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":4085}},{"Ref":{"place":{"kind":{"Local":82},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":432,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":2942}},{"Use":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":4085}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":34},"end":{"line":345,"col":35}},"generated_from_span":null},"id":433,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":34},"end":{"line":345,"col":35}},"generated_from_span":null},"id":434,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":35},"end":{"line":345,"col":36}},"generated_from_span":null},"id":435,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":345,"col":35},"end":{"line":345,"col":36}},"generated_from_span":null},"id":436,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":12},"end":{"line":347,"col":13}},"generated_from_span":null},"id":437,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":438,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":2939}},{"Use":[{"Move":{"kind":{"Local":79},"ty":{"Deduplicated":2942}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":347,"col":16},"end":{"line":347,"col":35}},"generated_from_span":null},"id":439,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":78},"ty":{"Deduplicated":2939}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":12},"end":{"line":349,"col":29}},"generated_from_span":null},"id":440,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":32},"end":{"line":349,"col":37}},"generated_from_span":null},"id":441,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":32},"end":{"line":349,"col":37}},"generated_from_span":null},"id":442,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":44},"end":{"line":349,"col":45}},"generated_from_span":null},"id":443,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":44},"end":{"line":349,"col":45}},"generated_from_span":null},"id":444,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":32},"end":{"line":349,"col":46}},"generated_from_span":null},"id":445,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":73},{"Body":74}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":2905}}},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2906}}}],"dest":{"kind":{"Local":34},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":45},"end":{"line":349,"col":46}},"generated_from_span":null},"id":446,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":349,"col":45},"end":{"line":349,"col":46}},"generated_from_span":null},"id":447,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":12},"end":{"line":350,"col":29}},"generated_from_span":null},"id":448,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":32},"end":{"line":350,"col":37}},"generated_from_span":null},"id":449,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":32},"end":{"line":350,"col":37}},"generated_from_span":null},"id":450,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"id":451,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"id":452,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":45},"end":{"line":350,"col":49}},"generated_from_span":null},"id":453,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":47},"end":{"line":350,"col":48}},"generated_from_span":null},"id":454,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":47},"end":{"line":350,"col":48}},"generated_from_span":null},"id":455,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2910}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":45},"end":{"line":350,"col":49}},"generated_from_span":null},"id":456,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":75}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":2910}}}],"dest":{"kind":{"Local":41},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":48},"end":{"line":350,"col":49}},"generated_from_span":null},"id":457,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"id":458,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":41},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":44},"end":{"line":350,"col":49}},"generated_from_span":null},"id":459,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":40},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":32},"end":{"line":350,"col":50}},"generated_from_span":null},"id":460,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":78},{"Body":79}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":37},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":49},"end":{"line":350,"col":50}},"generated_from_span":null},"id":461,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":49},"end":{"line":350,"col":50}},"generated_from_span":null},"id":462,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":50},"end":{"line":350,"col":51}},"generated_from_span":null},"id":463,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":350,"col":50},"end":{"line":350,"col":51}},"generated_from_span":null},"id":464,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":12},"end":{"line":351,"col":31}},"generated_from_span":null},"id":465,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":34},"end":{"line":351,"col":39}},"generated_from_span":null},"id":466,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":34},"end":{"line":351,"col":39}},"generated_from_span":null},"id":467,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"id":468,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"id":469,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":47},"end":{"line":351,"col":58}},"generated_from_span":null},"id":470,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":48},"end":{"line":351,"col":53}},"generated_from_span":null},"id":471,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":49},"end":{"line":351,"col":53}},"generated_from_span":null},"id":472,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":51},"end":{"line":351,"col":52}},"generated_from_span":null},"id":473,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":51},"end":{"line":351,"col":52}},"generated_from_span":null},"id":474,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":2915}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2793}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":49},"end":{"line":351,"col":53}},"generated_from_span":null},"id":475,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":80}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":2915}}}],"dest":{"kind":{"Local":49},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":52},"end":{"line":351,"col":53}},"generated_from_span":null},"id":476,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":48},"end":{"line":351,"col":53}},"generated_from_span":null},"id":477,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Local":49},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":56},"end":{"line":351,"col":57}},"generated_from_span":null},"id":478,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":56},"end":{"line":351,"col":57}},"generated_from_span":null},"id":479,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":33},"ty":{"Deduplicated":2904}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":47},"end":{"line":351,"col":58}},"generated_from_span":null},"id":480,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":81},{"Body":82}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":2914}}},{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":2916}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":57},"end":{"line":351,"col":58}},"generated_from_span":null},"id":481,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":57},"end":{"line":351,"col":58}},"generated_from_span":null},"id":482,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"id":483,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":47},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":46},"end":{"line":351,"col":58}},"generated_from_span":null},"id":484,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":2913}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":34},"end":{"line":351,"col":59}},"generated_from_span":null},"id":485,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":85},{"Body":86}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2911}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":2912}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":486,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":487,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":23},"end":{"line":353,"col":41}},"generated_from_span":null},"id":488,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":23},"end":{"line":353,"col":41}},"generated_from_span":null},"id":489,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":82,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":490,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":4087}},{"Ref":{"place":{"kind":{"Local":84},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":491,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":9278}},{"Use":[{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":4087}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":58},"end":{"line":351,"col":59}},"generated_from_span":null},"id":492,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":58},"end":{"line":351,"col":59}},"generated_from_span":null},"id":493,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":59},"end":{"line":351,"col":60}},"generated_from_span":null},"id":494,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":59},"end":{"line":351,"col":60}},"generated_from_span":null},"id":495,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":351,"col":59},"end":{"line":351,"col":60}},"generated_from_span":null},"id":496,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":12},"end":{"line":353,"col":19}},"generated_from_span":null},"id":497,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":498,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":499,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":2938}},{"Use":[{"Move":{"kind":{"Local":80},"ty":{"Deduplicated":9278}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":41}},"generated_from_span":null},"id":500,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":2917}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":77},"ty":{"Deduplicated":2938}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"id":501,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"id":502,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"id":503,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":44},"end":{"line":353,"col":46}},"generated_from_span":null},"id":504,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":2918}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":55},"ty":{"Deduplicated":2919}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":22},"end":{"line":353,"col":46}},"generated_from_span":null},"id":505,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":88},{"Body":89}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":2917}}},{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":2918}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":45},"end":{"line":353,"col":46}},"generated_from_span":null},"id":506,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":45},"end":{"line":353,"col":46}},"generated_from_span":null},"id":507,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":353,"col":46},"end":{"line":353,"col":47}},"generated_from_span":null},"id":508,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":79}},"generated_from_span":null},"id":509,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":9}},"generated_from_span":null},"id":510,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":9}},"generated_from_span":null},"id":511,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":2932}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"id":512,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"id":513,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"id":514,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":2923}},{"Ref":{"place":{"kind":{"Local":52},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":29},"end":{"line":354,"col":37}},"generated_from_span":null},"id":515,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":2923}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":78}},"generated_from_span":null},"id":516,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":56}},"generated_from_span":null},"id":517,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":56}},"generated_from_span":null},"id":518,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":59},"end":{"line":354,"col":78}},"generated_from_span":null},"id":519,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":59},"end":{"line":354,"col":78}},"generated_from_span":null},"id":520,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":39},"end":{"line":354,"col":78}},"generated_from_span":null},"id":521,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":138}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":77},"end":{"line":354,"col":78}},"generated_from_span":null},"id":522,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":77},"end":{"line":354,"col":78}},"generated_from_span":null},"id":523,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":8},"end":{"line":354,"col":79}},"generated_from_span":null},"id":524,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":92},{"Body":93}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":2932}}},{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":2922}}},{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":78},"end":{"line":354,"col":79}},"generated_from_span":null},"id":525,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":78},"end":{"line":354,"col":79}},"generated_from_span":null},"id":526,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":78},"end":{"line":354,"col":79}},"generated_from_span":null},"id":527,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":79},"end":{"line":354,"col":80}},"generated_from_span":null},"id":528,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":354,"col":79},"end":{"line":354,"col":80}},"generated_from_span":null},"id":529,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":12},"end":{"line":363,"col":25}},"generated_from_span":null},"id":530,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":28},"end":{"line":363,"col":29}},"generated_from_span":null},"id":531,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":28},"end":{"line":363,"col":29}},"generated_from_span":null},"id":532,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":2933}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Choose the nonnegative square root.","","NOTE: written as negate-then-conditional-assign rather than","`r.conditional_negate(r_is_negative)`: semantically identical and","still constant-time, but it avoids subtle's `ConditionallyNegatable`","blanket impl (whose `for<'a> &'a T: Neg` bound breaks the Aeneas","verification toolchain; see verification/field/README.md)."]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":28},"end":{"line":363,"col":43}},"generated_from_span":null},"id":533,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":9}},"generics":{"regions":[{"Body":95}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":2933}}}],"dest":{"kind":{"Local":63},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":363,"col":42},"end":{"line":363,"col":43}},"generated_from_span":null},"id":534,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":12},"end":{"line":364,"col":17}},"generated_from_span":null},"id":535,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":21},"end":{"line":364,"col":23}},"generated_from_span":null},"id":536,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":21},"end":{"line":364,"col":23}},"generated_from_span":null},"id":537,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":2934}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":20},"end":{"line":364,"col":23}},"generated_from_span":null},"id":538,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":96}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":2934}}}],"dest":{"kind":{"Local":65},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":364,"col":22},"end":{"line":364,"col":23}},"generated_from_span":null},"id":539,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":51}},"generated_from_span":null},"id":540,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":9}},"generated_from_span":null},"id":541,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":9}},"generated_from_span":null},"id":542,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":2935}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"id":543,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"id":544,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"id":545,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":2937}},{"Ref":{"place":{"kind":{"Local":65},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":29},"end":{"line":365,"col":35}},"generated_from_span":null},"id":546,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":2936}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":70},"ty":{"Deduplicated":2937}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":37},"end":{"line":365,"col":50}},"generated_from_span":null},"id":547,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":37},"end":{"line":365,"col":50}},"generated_from_span":null},"id":548,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":8},"end":{"line":365,"col":51}},"generated_from_span":null},"id":549,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":99},{"Body":100}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":2935}}},{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":2936}}},{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":50},"end":{"line":365,"col":51}},"generated_from_span":null},"id":550,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":50},"end":{"line":365,"col":51}},"generated_from_span":null},"id":551,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":50},"end":{"line":365,"col":51}},"generated_from_span":null},"id":552,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":51},"end":{"line":365,"col":52}},"generated_from_span":null},"id":553,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":365,"col":51},"end":{"line":365,"col":52}},"generated_from_span":null},"id":554,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":12},"end":{"line":367,"col":30}},"generated_from_span":null},"id":555,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":33},"end":{"line":367,"col":50}},"generated_from_span":null},"id":556,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":33},"end":{"line":367,"col":50}},"generated_from_span":null},"id":557,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":53},"end":{"line":367,"col":70}},"generated_from_span":null},"id":558,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":53},"end":{"line":367,"col":70}},"generated_from_span":null},"id":559,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":33},"end":{"line":367,"col":70}},"generated_from_span":null},"id":560,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":138}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":74},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":72},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":69},"end":{"line":367,"col":70}},"generated_from_span":null},"id":561,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":367,"col":69},"end":{"line":367,"col":70}},"generated_from_span":null},"id":562,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":9},"end":{"line":369,"col":27}},"generated_from_span":null},"id":563,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":9},"end":{"line":369,"col":27}},"generated_from_span":null},"id":564,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":72},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":29},"end":{"line":369,"col":30}},"generated_from_span":null},"id":565,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":29},"end":{"line":369,"col":30}},"generated_from_span":null},"id":566,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":8},"end":{"line":369,"col":31}},"generated_from_span":null},"id":567,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2929}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":30},"end":{"line":369,"col":31}},"generated_from_span":null},"id":568,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":369,"col":30},"end":{"line":369,"col":31}},"generated_from_span":null},"id":569,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":570,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":571,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":572,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":573,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":574,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":575,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":576,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":577,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":578,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":579,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":580,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":4},"end":{"line":370,"col":5}},"generated_from_span":null},"id":581,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":370,"col":5},"end":{"line":370,"col":5}},"generated_from_span":null},"id":582,"kind":"Return","comments_before":[]}]},"comments":[[341,["Using the same trick as in ed25519 decoding, we merge the","inversion, the square root, and the square test as follows.","","To compute sqrt(α), we can compute β = α^((p+3)/8).","Then β^2 = ±α, so multiplying β by sqrt(-1) if necessary","gives sqrt(α).","","To compute 1/sqrt(α), we observe that"," 1/β = α^(p-1 - (p+3)/8) = α^((7p-11)/8)"," = α^3 * (α^7)^((p-5)/8).","","We can therefore compute sqrt(u/v) = sqrt(u)/sqrt(v)","by first computing"," r = u^((p+3)/8) v^(p-1-(p+3)/8)"," = u u^((p-5)/8) v^3 (v^7)^((p-5)/8)"," = (uv^3) (uv^7)^((p-5)/8).","","If v is nonzero and u/v is square, then r^2 = ±u/v,"," so vr^2 = ±u.","If vr^2 = u, then sqrt(u/v) = r.","If vr^2 = -u, then sqrt(u/v) = r*sqrt(-1).","","If v is zero, r is also zero."]],[363,["Choose the nonnegative square root.","","NOTE: written as negate-then-conditional-assign rather than","`r.conditional_negate(r_is_negative)`: semantically identical and","still constant-time, but it avoids subtle's `ConditionallyNegatable`","blanket impl (whose `for<'a> &'a T: Neg` bound breaks the Aeneas","verification toolchain; see verification/field/README.md)."]]]}}},{"def_id":16,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["invsqrt",0]}],"span":{"data":{"file_id":1,"beg":{"line":384,"col":4},"end":{"line":386,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn invsqrt(&self) -> (Choice, FieldElement) {\n FieldElement::sqrt_ratio_i(&FieldElement::ONE, self)\n }","attr_info":{"attributes":[{"DocComment":" Attempt to compute `sqrt(1/self)` in constant time."},{"DocComment":""},{"DocComment":" Convenience wrapper around `sqrt_ratio_i`."},{"DocComment":""},{"DocComment":" This function always returns the nonnegative square root."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" - `(Choice(1), +sqrt(1/self)) ` if `self` is a nonzero square;"},{"DocComment":" - `(Choice(0), zero) ` if `self` is zero;"},{"DocComment":" - `(Choice(0), +sqrt(i/self)) ` if `self` is a nonzero nonsquare;"},{"DocComment":""}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":2929}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":384,"col":4},"end":{"line":386,"col":5}},"generated_from_span":null},"bound_body_regions":12,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":384,"col":36},"end":{"line":384,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2929}},{"index":1,"name":"self","span":{"data":{"file_id":1,"beg":{"line":384,"col":26},"end":{"line":384,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":55},"end":{"line":385,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":7,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":8,"name":null,"span":{"data":{"file_id":1,"beg":{"line":385,"col":36},"end":{"line":385,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":583,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":584,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":36},"end":{"line":385,"col":53}},"generated_from_span":null},"id":585,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":36},"end":{"line":385,"col":53}},"generated_from_span":null},"id":586,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":587,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":588,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2892}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":589,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":590,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":591,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":592,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Use":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2887}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":593,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":35},"end":{"line":385,"col":53}},"generated_from_span":null},"id":594,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":55},"end":{"line":385,"col":59}},"generated_from_span":null},"id":595,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":55},"end":{"line":385,"col":59}},"generated_from_span":null},"id":596,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":8},"end":{"line":385,"col":60}},"generated_from_span":null},"id":597,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":15}},"generics":{"regions":[{"Body":9},{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":2794}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":2929}}}},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":59},"end":{"line":385,"col":60}},"generated_from_span":null},"id":598,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":59},"end":{"line":385,"col":60}},"generated_from_span":null},"id":599,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":385,"col":59},"end":{"line":385,"col":60}},"generated_from_span":null},"id":600,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":386,"col":5},"end":{"line":386,"col":5}},"generated_from_span":null},"id":601,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":17,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":6}},{"Ident":["clone",0]}],"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":6,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2793}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"id":602,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":42,"col":20},"end":{"line":42,"col":20}},"generated_from_span":null},"id":603,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":18,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":236,"col":4},"end":{"line":236,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a duplicate of the value."},{"DocComment":""},{"DocComment":" Note that what \"duplicate\" means varies by type:"},{"DocComment":" - For most types, this creates a deep, independent copy"},{"DocComment":" - For reference types like `&T`, this creates another reference to the same value"},{"DocComment":" - For smart pointers like [`Arc`] or [`Rc`], this increments the reference count"},{"DocComment":" but still points to the same underlying data"},{"DocComment":""},{"DocComment":" [`Arc`]: ../../std/sync/struct.Arc.html"},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(noop_method_call)]"},{"DocComment":" let hello = \"Hello\"; // &str implements Clone"},{"DocComment":""},{"DocComment":" assert_eq!(\"Hello\", hello.clone());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Example with a reference-counted type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::sync::{Arc, Mutex};"},{"DocComment":""},{"DocComment":" let data = Arc::new(Mutex::new(vec![1, 2, 3]));"},{"DocComment":" let data_clone = data.clone(); // Creates another Arc pointing to the same Mutex"},{"DocComment":""},{"DocComment":" {"},{"DocComment":" let mut lock = data.lock().unwrap();"},{"DocComment":" lock.push(4);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Changes are visible through the clone because they share the same underlying data"},{"DocComment":" assert_eq!(*data_clone.lock().unwrap(), vec![1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"clone_fn"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551}],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":20,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":5,"beg":{"line":46,"col":4},"end":{"line":48,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516},{"HashConsedValue":[10642,{"Ref":[{"Var":{"Free":1}},{"HashConsedValue":[10641,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Free":2}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"HashConsedValue":[3010,{"Adt":{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":1443},{"HashConsedValue":[3009,{"Adt":{"id":{"Adt":16},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":46,"col":4},"end":{"line":48,"col":5}},"generated_from_span":null},"bound_body_regions":62,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":46,"col":55},"end":{"line":46,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":46,"col":11},"end":{"line":46,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"f","span":{"data":{"file_id":5,"beg":{"line":46,"col":18},"end":{"line":46,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[3019,{"Ref":[{"Body":5},{"HashConsedValue":[3018,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":15},"end":{"line":47,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[3021,{"Ref":[{"Body":7},{"HashConsedValue":[3020,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3038,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3055,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[3054,{"Ref":[{"Body":16},{"HashConsedValue":[3053,{"Ref":[{"Body":17},{"HashConsedValue":[3046,{"Slice":{"Deduplicated":1550}}]},"Shared"]}]},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3057,{"Ref":[{"Body":18},{"HashConsedValue":[3056,{"Ref":[{"Body":19},{"Deduplicated":3046},"Shared"]}]},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3058,{"Ref":[{"Body":20},{"Deduplicated":3046},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":49},"end":{"line":47,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3059,{"Ref":[{"Body":21},{"Deduplicated":3046},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":43},"end":{"line":47,"col":49}},"generated_from_span":null},"ty":{"HashConsedValue":[3062,{"Ref":[{"Body":23},{"Deduplicated":1552},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":50},"end":{"line":47,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3073,{"Adt":{"id":{"Adt":18},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":11,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3090,{"Array":[{"HashConsedValue":[3089,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":34},"end":{"line":47,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[3091,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3093,{"Ref":[{"Body":28},{"HashConsedValue":[3092,{"Ref":[{"Body":29},{"Deduplicated":3046},"Shared"]}]},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3099,{"Ref":[{"Body":31},{"HashConsedValue":[3097,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","20"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3100,{"Ref":[{"Body":32},{"Deduplicated":3097},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3107,{"Ref":[{"Body":35},{"HashConsedValue":[3106,{"Array":[{"HashConsedValue":[3105,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3110,{"Ref":[{"Body":37},{"HashConsedValue":[3109,{"Array":[{"HashConsedValue":[3108,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":3097}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9288,{"Ref":[{"Body":54},{"Deduplicated":3097},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":47,"col":15},"end":{"line":47,"col":53}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":47,"col":15},"end":{"line":47,"col":16}},"generated_from_span":null},"id":604,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":15},"end":{"line":47,"col":16}},"generated_from_span":null},"id":605,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[10643,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":606,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":607,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":608,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":609,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":49},"end":{"line":47,"col":53}},"generated_from_span":null},"id":610,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":43},"end":{"line":47,"col":49}},"generated_from_span":null},"id":611,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":43},"end":{"line":47,"col":49}},"generated_from_span":null},"id":612,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3062}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":50},"end":{"line":47,"col":52}},"generated_from_span":null},"id":613,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":50},"end":{"line":47,"col":52}},"generated_from_span":null},"id":614,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3073}},{"Aggregate":[{"Adt":[{"id":{"Adt":18},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":49},"end":{"line":47,"col":53}},"generated_from_span":null},"id":615,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":141}},"generics":{"regions":[{"Body":41}],"types":[{"Deduplicated":1550},{"Deduplicated":3073},{"Deduplicated":3046}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10645,{"kind":{"TraitImpl":{"id":115,"generics":{"regions":[],"types":[{"Deduplicated":1550},{"Deduplicated":3073},{"Deduplicated":3046}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10644,{"kind":{"TraitImpl":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":3046},{"Deduplicated":3046}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":3046},{"Deduplicated":3073},{"Deduplicated":3046}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":3062}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3073}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":3059}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":52},"end":{"line":47,"col":53}},"generated_from_span":null},"id":616,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":52},"end":{"line":47,"col":53}},"generated_from_span":null},"id":617,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":618,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3058}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":3059}},"Deref"]},"ty":{"Deduplicated":3046}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":3059}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":619,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3057}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":3058}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":620,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3055}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":3057}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":621,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":622,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":34},"end":{"line":47,"col":38}},"generated_from_span":null},"id":623,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":624,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":42},"end":{"line":47,"col":53}},"generated_from_span":null},"id":625,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":3093}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3055}},{"Field":[{"Tuple":1},0]}]},"ty":{"HashConsedValue":[10647,{"Ref":[{"Body":42},{"HashConsedValue":[10646,{"Ref":[{"Body":43},{"Deduplicated":3046},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[10648,{"Ref":[{"Body":44},{"Deduplicated":3046},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":34},"end":{"line":47,"col":38}},"generated_from_span":null},"id":626,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":45},{"Body":52}],"types":[{"HashConsedValue":[8745,{"Ref":[{"Body":47},{"Deduplicated":3046},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10651,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":47}],"types":[{"Deduplicated":3046}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10650,{"kind":{"TraitImpl":{"id":118,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10649,{"kind":{"TraitImpl":{"id":119,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":3046}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8745}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":3093}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":3091}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":47,"col":37},"end":{"line":47,"col":38}},"generated_from_span":null},"id":627,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":628,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":3090}},{"Aggregate":[{"Array":[{"HashConsedValue":[3401,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":53}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3091}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":629,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":630,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":631,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":632,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":633,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":3097}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","20"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","15"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","70"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","69"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","53"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","49"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","40"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","1"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","41"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":634,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":635,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":9288}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":3097}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":636,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3100}},{"Use":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":9288}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":637,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3099}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":3100}},"Deref"]},"ty":{"Deduplicated":3097}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":638,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":639,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":640,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":3110}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":3090}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":641,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":3107}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":3110}},"Deref"]},"ty":{"HashConsedValue":[10652,{"Array":[{"HashConsedValue":[3403,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":642,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":56}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","20"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3099}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":3107}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":643,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":644,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":645,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":646,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":647,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":57},{"Body":60},{"Body":61}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":648,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":649,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":650,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":651,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":652,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":653,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":48,"col":5},"end":{"line":48,"col":5}},"generated_from_span":null},"id":654,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":21,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}},{"Ident":["add_assign",0]}],"span":{"data":{"file_id":5,"beg":{"line":55,"col":4},"end":{"line":59,"col":5}},"generated_from_span":null},"source_text":"fn add_assign(&mut self, _rhs: &'a FieldElement51) {\n for i in 0..5 {\n self.0[i] += _rhs.0[i];\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10653,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1391},"Mut"]}]},{"Deduplicated":10516}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":8,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10516}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":55,"col":4},"end":{"line":59,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":55,"col":54},"end":{"line":55,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":55,"col":18},"end":{"line":55,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[3479,{"Ref":[{"Body":1},{"Deduplicated":1391},"Mut"]}]}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":55,"col":29},"end":{"line":55,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3489,{"Adt":{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}]}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":5,"name":"iter","span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3512,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}]}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3515,{"Ref":[{"Body":5},{"Deduplicated":3489},"Mut"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3516,{"Ref":[{"Body":6},{"Deduplicated":3489},"Mut"]}]}},{"index":9,"name":"i","span":{"data":{"file_id":5,"beg":{"line":56,"col":12},"end":{"line":56,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":57,"col":32},"end":{"line":57,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":57,"col":19},"end":{"line":57,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9405,{"Ref":["Erased",{"Deduplicated":1552},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9404,{"Ref":["Erased",{"Deduplicated":1550},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9407,{"Ref":["Erased",{"Deduplicated":1552},"Mut"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9406,{"Ref":["Erased",{"Deduplicated":1550},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":659,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":660,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":661,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":662,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":663,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":3489}},{"Aggregate":[{"Adt":[{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":664,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":146}},"generics":{"regions":[],"types":[{"Deduplicated":3489},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"HashConsedValue":[9794,{"kind":{"TraitImpl":{"id":121,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"HashConsedValue":[3682,{"kind":{"TraitImpl":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":3489},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3489}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":3489}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":20},"end":{"line":56,"col":21}},"generated_from_span":null},"id":665,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":666,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":667,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3489}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3489}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":706,"kind":{"Loop":{"span":{"data":{"file_id":5,"beg":{"line":56,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":669,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":670,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":671,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":672,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3516}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":3489}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":673,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3515}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":3516}},"Deref"]},"ty":{"Deduplicated":3489}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":674,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":147}},"generics":{"regions":[{"Body":8}],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"Deduplicated":3682}]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3515}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":3512}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":20},"end":{"line":56,"col":21}},"generated_from_span":null},"id":675,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":680,"kind":{"Switch":{"Match":[{"kind":{"Local":6},"ty":{"Deduplicated":3512}},[[[0],{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"id":677,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":5,"beg":{"line":56,"col":17},"end":{"line":56,"col":21}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":12},"end":{"line":56,"col":13}},"generated_from_span":null},"id":681,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":12},"end":{"line":56,"col":13}},"generated_from_span":null},"id":682,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":3512}},{"Field":[{"Adt":[22,1]},0]}]},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":683,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":32},"end":{"line":57,"col":33}},"generated_from_span":null},"id":684,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":32},"end":{"line":57,"col":33}},"generated_from_span":null},"id":685,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9533,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9534,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9535,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9536,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":25},"end":{"line":57,"col":34}},"generated_from_span":null},"id":688,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":19},"end":{"line":57,"col":20}},"generated_from_span":null},"id":689,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":19},"end":{"line":57,"col":20}},"generated_from_span":null},"id":690,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9537,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9538,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9539,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9540,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":693,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9541,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9542,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9543,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":9544,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":12},"end":{"line":57,"col":34}},"generated_from_span":null},"id":695,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":33},"end":{"line":57,"col":34}},"generated_from_span":null},"id":696,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":34},"end":{"line":57,"col":35}},"generated_from_span":null},"id":697,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":57,"col":34},"end":{"line":57,"col":35}},"generated_from_span":null},"id":698,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":700,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":701,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":702,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":705,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":56,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":707,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":708,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":709,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":711,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":58,"col":8},"end":{"line":58,"col":9}},"generated_from_span":null},"id":712,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":59,"col":5},"end":{"line":59,"col":5}},"generated_from_span":null},"id":713,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":22,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}},{"Ident":["add",0]}],"span":{"data":{"file_id":5,"beg":{"line":64,"col":4},"end":{"line":68,"col":5}},"generated_from_span":null},"source_text":"fn add(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n let mut output = *self;\n output += _rhs;\n output\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10517},{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":9,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10517},{"Deduplicated":10516},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":64,"col":4},"end":{"line":68,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":64,"col":46},"end":{"line":64,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":64,"col":11},"end":{"line":64,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":64,"col":17},"end":{"line":64,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":"output","span":{"data":{"file_id":5,"beg":{"line":65,"col":12},"end":{"line":65,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[3699,{"Ref":[{"Body":4},{"Deduplicated":1391},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":66,"col":18},"end":{"line":66,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2886}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":65,"col":12},"end":{"line":68,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":65,"col":12},"end":{"line":65,"col":22}},"generated_from_span":null},"id":714,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":65,"col":25},"end":{"line":65,"col":30}},"generated_from_span":null},"id":715,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":22}},"generated_from_span":null},"id":716,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":14}},"generated_from_span":null},"id":717,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":14}},"generated_from_span":null},"id":718,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3699}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":18},"end":{"line":66,"col":22}},"generated_from_span":null},"id":719,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":18},"end":{"line":66,"col":22}},"generated_from_span":null},"id":720,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":8},"end":{"line":66,"col":22}},"generated_from_span":null},"id":721,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":21}},"generics":{"regions":[{"Body":6},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3699}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":21},"end":{"line":66,"col":22}},"generated_from_span":null},"id":722,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":21},"end":{"line":66,"col":22}},"generated_from_span":null},"id":723,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":66,"col":22},"end":{"line":66,"col":23}},"generated_from_span":null},"id":724,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":67,"col":8},"end":{"line":67,"col":14}},"generated_from_span":null},"id":725,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":68,"col":4},"end":{"line":68,"col":5}},"generated_from_span":null},"id":726,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":68,"col":5},"end":{"line":68,"col":5}},"generated_from_span":null},"id":727,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":23,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}},{"Ident":["sub_assign",0]}],"span":{"data":{"file_id":5,"beg":{"line":72,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"source_text":"fn sub_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) - _rhs;\n self.0 = result.0;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10653},{"Deduplicated":10516}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":10,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10516}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":72,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":72,"col":54},"end":{"line":72,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":72,"col":18},"end":{"line":72,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":72,"col":29},"end":{"line":72,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":3,"name":"result","span":{"data":{"file_id":5,"beg":{"line":73,"col":12},"end":{"line":73,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":73,"col":49},"end":{"line":73,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":74,"col":17},"end":{"line":74,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":728,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":12},"end":{"line":73,"col":18}},"generated_from_span":null},"id":729,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"id":730,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"id":731,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":22},"end":{"line":73,"col":26}},"generated_from_span":null},"id":732,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":46}},"generated_from_span":null},"id":733,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":2886}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":49},"end":{"line":73,"col":53}},"generated_from_span":null},"id":734,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":49},"end":{"line":73,"col":53}},"generated_from_span":null},"id":735,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":21},"end":{"line":73,"col":53}},"generated_from_span":null},"id":736,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":52},"end":{"line":73,"col":53}},"generated_from_span":null},"id":737,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":52},"end":{"line":73,"col":53}},"generated_from_span":null},"id":738,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":73,"col":53},"end":{"line":73,"col":54}},"generated_from_span":null},"id":739,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":74,"col":17},"end":{"line":74,"col":25}},"generated_from_span":null},"id":740,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":74,"col":17},"end":{"line":74,"col":25}},"generated_from_span":null},"id":741,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":74,"col":8},"end":{"line":74,"col":25}},"generated_from_span":null},"id":742,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":74,"col":24},"end":{"line":74,"col":25}},"generated_from_span":null},"id":743,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":72,"col":55},"end":{"line":75,"col":5}},"generated_from_span":null},"id":744,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":75,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"id":745,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":75,"col":5},"end":{"line":75,"col":5}},"generated_from_span":null},"id":746,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":24,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}},{"Ident":["sub",0]}],"span":{"data":{"file_id":5,"beg":{"line":80,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"source_text":"fn sub(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n // To avoid underflow, first add a multiple of p.\n // Choose 16*p = p << 4 to be larger than 54-bit _rhs.\n //\n // If we could statically track the bitlengths of the limbs\n // of every FieldElement51, we could choose a multiple of p\n // just bigger than _rhs and avoid having to do a reduction.\n //\n // Since we don't yet have type-level integers to do this, we\n // have to add an explicit reduction call here.\n FieldElement51::reduce([\n (self.0[0] + 36028797018963664u64) - _rhs.0[0],\n (self.0[1] + 36028797018963952u64) - _rhs.0[1],\n (self.0[2] + 36028797018963952u64) - _rhs.0[2],\n (self.0[3] + 36028797018963952u64) - _rhs.0[3],\n (self.0[4] + 36028797018963952u64) - _rhs.0[4],\n ])\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10517},{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":11,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10517},{"Deduplicated":10516},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":80,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"bound_body_regions":3,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":80,"col":46},"end":{"line":80,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":80,"col":11},"end":{"line":80,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":80,"col":17},"end":{"line":80,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":20},"end":{"line":91,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":56},"end":{"line":91,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":20},"end":{"line":92,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":56},"end":{"line":92,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":20},"end":{"line":93,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":56},"end":{"line":93,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":20},"end":{"line":94,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":56},"end":{"line":94,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":20},"end":{"line":95,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":56},"end":{"line":95,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":97,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":748,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":750,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":752,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":754,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":756,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":758,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":760,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":762,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":764,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":766,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":767,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"id":768,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"id":769,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":770,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":20},"end":{"line":91,"col":21}},"generated_from_span":null},"id":771,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":20},"end":{"line":91,"col":21}},"generated_from_span":null},"id":772,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["To avoid underflow, first add a multiple of p.","Choose 16*p = p << 4 to be larger than 54-bit _rhs.","","If we could statically track the bitlengths of the limbs","of every FieldElement51, we could choose a multiple of p","just bigger than _rhs and avoid having to do a reduction.","","Since we don't yet have type-level integers to do this, we","have to add an explicit reduction call here."]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":9545,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":9546,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":9547,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":9548,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":45},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":13},"end":{"line":91,"col":22}},"generated_from_span":null},"id":775,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":45},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"id":776,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963664"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":46}},"generated_from_span":null},"id":778,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":45},"end":{"line":91,"col":46}},"generated_from_span":null},"id":779,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":780,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":56},"end":{"line":91,"col":57}},"generated_from_span":null},"id":781,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":56},"end":{"line":91,"col":57}},"generated_from_span":null},"id":782,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":9549,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":9550,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":9551,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":9552,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":49},"end":{"line":91,"col":58}},"generated_from_span":null},"id":785,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":47},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"id":786,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":12},"end":{"line":91,"col":58}},"generated_from_span":null},"id":788,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":57},"end":{"line":91,"col":58}},"generated_from_span":null},"id":789,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":91,"col":57},"end":{"line":91,"col":58}},"generated_from_span":null},"id":790,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"id":791,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"id":792,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":793,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":20},"end":{"line":92,"col":21}},"generated_from_span":null},"id":794,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":20},"end":{"line":92,"col":21}},"generated_from_span":null},"id":795,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":9553,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":9554,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":9555,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":9556,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":49},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":13},"end":{"line":92,"col":22}},"generated_from_span":null},"id":798,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":49},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"id":799,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":46}},"generated_from_span":null},"id":801,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":45},"end":{"line":92,"col":46}},"generated_from_span":null},"id":802,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":803,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":56},"end":{"line":92,"col":57}},"generated_from_span":null},"id":804,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":56},"end":{"line":92,"col":57}},"generated_from_span":null},"id":805,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":9557,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":9558,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":9559,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":9560,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":51},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":49},"end":{"line":92,"col":58}},"generated_from_span":null},"id":808,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":51},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"id":809,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":12},"end":{"line":92,"col":58}},"generated_from_span":null},"id":811,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":57},"end":{"line":92,"col":58}},"generated_from_span":null},"id":812,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":92,"col":57},"end":{"line":92,"col":58}},"generated_from_span":null},"id":813,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"id":814,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"id":815,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":816,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":20},"end":{"line":93,"col":21}},"generated_from_span":null},"id":817,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":20},"end":{"line":93,"col":21}},"generated_from_span":null},"id":818,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":9561,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":9562,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":9563,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":9564,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":53},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":13},"end":{"line":93,"col":22}},"generated_from_span":null},"id":821,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":53},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"id":822,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":46}},"generated_from_span":null},"id":824,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":45},"end":{"line":93,"col":46}},"generated_from_span":null},"id":825,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":826,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":56},"end":{"line":93,"col":57}},"generated_from_span":null},"id":827,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":56},"end":{"line":93,"col":57}},"generated_from_span":null},"id":828,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":9565,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":9566,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":9567,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":9568,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":55},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":49},"end":{"line":93,"col":58}},"generated_from_span":null},"id":831,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":55},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"id":832,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":12},"end":{"line":93,"col":58}},"generated_from_span":null},"id":834,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":57},"end":{"line":93,"col":58}},"generated_from_span":null},"id":835,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":93,"col":57},"end":{"line":93,"col":58}},"generated_from_span":null},"id":836,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"id":837,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"id":838,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":839,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":20},"end":{"line":94,"col":21}},"generated_from_span":null},"id":840,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":20},"end":{"line":94,"col":21}},"generated_from_span":null},"id":841,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":9569,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":9570,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":9571,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":9572,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":57},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":13},"end":{"line":94,"col":22}},"generated_from_span":null},"id":844,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"id":845,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":46}},"generated_from_span":null},"id":847,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":45},"end":{"line":94,"col":46}},"generated_from_span":null},"id":848,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":849,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":56},"end":{"line":94,"col":57}},"generated_from_span":null},"id":850,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":56},"end":{"line":94,"col":57}},"generated_from_span":null},"id":851,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":9573,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":9574,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":9575,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":9576,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":59},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":49},"end":{"line":94,"col":58}},"generated_from_span":null},"id":854,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"id":855,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":12},"end":{"line":94,"col":58}},"generated_from_span":null},"id":857,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":57},"end":{"line":94,"col":58}},"generated_from_span":null},"id":858,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":94,"col":57},"end":{"line":94,"col":58}},"generated_from_span":null},"id":859,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"id":860,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"id":861,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":862,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":20},"end":{"line":95,"col":21}},"generated_from_span":null},"id":863,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":20},"end":{"line":95,"col":21}},"generated_from_span":null},"id":864,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":9577,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":9578,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":9579,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":9580,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":13},"end":{"line":95,"col":22}},"generated_from_span":null},"id":867,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"id":868,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":46}},"generated_from_span":null},"id":870,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":45},"end":{"line":95,"col":46}},"generated_from_span":null},"id":871,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":872,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":56},"end":{"line":95,"col":57}},"generated_from_span":null},"id":873,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":56},"end":{"line":95,"col":57}},"generated_from_span":null},"id":874,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":9581,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":9582,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":9583,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":9584,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":63},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":49},"end":{"line":95,"col":58}},"generated_from_span":null},"id":877,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"id":878,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":12},"end":{"line":95,"col":58}},"generated_from_span":null},"id":880,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":57},"end":{"line":95,"col":58}},"generated_from_span":null},"id":881,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":95,"col":57},"end":{"line":95,"col":58}},"generated_from_span":null},"id":882,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":31},"end":{"line":96,"col":9}},"generated_from_span":null},"id":883,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":884,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":885,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":886,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":887,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":888,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":90,"col":8},"end":{"line":96,"col":10}},"generated_from_span":null},"id":889,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":33}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":890,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":891,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":892,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":893,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":894,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":895,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":896,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":897,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":898,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":899,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":96,"col":9},"end":{"line":96,"col":10}},"generated_from_span":null},"id":900,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":97,"col":5},"end":{"line":97,"col":5}},"generated_from_span":null},"id":901,"kind":"Return","comments_before":[]}]},"comments":[[90,["To avoid underflow, first add a multiple of p.","Choose 16*p = p << 4 to be larger than 54-bit _rhs.","","If we could statically track the bitlengths of the limbs","of every FieldElement51, we could choose a multiple of p","just bigger than _rhs and avoid having to do a reduction.","","Since we don't yet have type-level integers to do this, we","have to add an explicit reduction call here."]]]}}},{"def_id":25,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}},{"Ident":["mul_assign",0]}],"span":{"data":{"file_id":5,"beg":{"line":101,"col":4},"end":{"line":104,"col":5}},"generated_from_span":null},"source_text":"fn mul_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) * _rhs;\n self.0 = result.0;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10653},{"Deduplicated":10516}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":12,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10516}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":101,"col":4},"end":{"line":104,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":101,"col":54},"end":{"line":101,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":101,"col":18},"end":{"line":101,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":101,"col":29},"end":{"line":101,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":3,"name":"result","span":{"data":{"file_id":5,"beg":{"line":102,"col":12},"end":{"line":102,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":102,"col":49},"end":{"line":102,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":103,"col":17},"end":{"line":103,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":902,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":12},"end":{"line":102,"col":18}},"generated_from_span":null},"id":903,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"id":904,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"id":905,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":22},"end":{"line":102,"col":26}},"generated_from_span":null},"id":906,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":46}},"generated_from_span":null},"id":907,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":2886}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":49},"end":{"line":102,"col":53}},"generated_from_span":null},"id":908,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":49},"end":{"line":102,"col":53}},"generated_from_span":null},"id":909,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":21},"end":{"line":102,"col":53}},"generated_from_span":null},"id":910,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":52},"end":{"line":102,"col":53}},"generated_from_span":null},"id":911,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":52},"end":{"line":102,"col":53}},"generated_from_span":null},"id":912,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":102,"col":53},"end":{"line":102,"col":54}},"generated_from_span":null},"id":913,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":103,"col":17},"end":{"line":103,"col":25}},"generated_from_span":null},"id":914,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":103,"col":17},"end":{"line":103,"col":25}},"generated_from_span":null},"id":915,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":103,"col":8},"end":{"line":103,"col":25}},"generated_from_span":null},"id":916,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":103,"col":24},"end":{"line":103,"col":25}},"generated_from_span":null},"id":917,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":101,"col":55},"end":{"line":104,"col":5}},"generated_from_span":null},"id":918,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":104,"col":4},"end":{"line":104,"col":5}},"generated_from_span":null},"id":919,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":104,"col":5},"end":{"line":104,"col":5}},"generated_from_span":null},"id":920,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":26,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]}],"span":{"data":{"file_id":5,"beg":{"line":111,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n /// Helper function to multiply two 64-bit integers with 128\n /// bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 { (x as u128) * (y as u128) }\n\n // Alias self, _rhs for more readable formulas\n let a: &[u64; 5] = &self.0;\n let b: &[u64; 5] = &_rhs.0;\n\n // Precondition: assume input limbs a[i], b[i] are bounded as\n //\n // a[i], b[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // 64-bit precomputations to avoid 128-bit multiplications.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let b1_19 = b[1] * 19;\n let b2_19 = b[2] * 19;\n let b3_19 = b[3] * 19;\n let b4_19 = b[4] * 19;\n\n // Multiply to get 128-bit coefficients of output\n let c0: u128 = m(a[0], b[0]) + m(a[4], b1_19) + m(a[3], b2_19) + m(a[2], b3_19) + m(a[1], b4_19);\n let mut c1: u128 = m(a[1], b[0]) + m(a[0], b[1]) + m(a[4], b2_19) + m(a[3], b3_19) + m(a[2], b4_19);\n let mut c2: u128 = m(a[2], b[0]) + m(a[1], b[1]) + m(a[0], b[2]) + m(a[4], b3_19) + m(a[3], b4_19);\n let mut c3: u128 = m(a[3], b[0]) + m(a[2], b[1]) + m(a[1], b[2]) + m(a[0], b[3]) + m(a[4], b4_19);\n let mut c4: u128 = m(a[4], b[0]) + m(a[3], b[1]) + m(a[2], b[2]) + m(a[1], b[3]) + m(a[0] , b[4]);\n\n // How big are the c[i]? We have\n //\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54)); debug_assert!(b[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54)); debug_assert!(b[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54)); debug_assert!(b[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54)); debug_assert!(b[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54)); debug_assert!(b[4] < (1 << 54));\n\n // Casting to u64 and back tells the compiler that the carry is\n // bounded by 2^64, so that the addition is a u128 + u64 rather\n // than u128 + u128.\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n let mut out = [0u64; 5];\n\n c1 += ((c0 >> 51) as u64) as u128;\n out[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n out[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n out[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n out[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n out[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need out[0] + carry * 19 < 2^64.\n //\n // c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)\n // < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n out[0] += carry * 19;\n\n // Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n out[1] += out[0] >> 51;\n out[0] &= LOW_51_BIT_MASK;\n\n // Now out[i] < 2^(51 + epsilon) for all i.\n FieldElement51(out)\n }","attr_info":{"attributes":[{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10517},{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":13,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10517},{"Deduplicated":10516},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":111,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":111,"col":46},"end":{"line":111,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":111,"col":11},"end":{"line":111,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"_rhs","span":{"data":{"file_id":5,"beg":{"line":111,"col":17},"end":{"line":111,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":"a","span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[3742,{"Ref":[{"Body":4},{"Deduplicated":1552},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"ty":{"HashConsedValue":[3743,{"Ref":[{"Body":5},{"Deduplicated":1552},"Shared"]}]}},{"index":5,"name":"b","span":{"data":{"file_id":5,"beg":{"line":119,"col":12},"end":{"line":119,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[3744,{"Ref":[{"Body":6},{"Deduplicated":1552},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":119,"col":27},"end":{"line":119,"col":34}},"generated_from_span":null},"ty":{"HashConsedValue":[3745,{"Ref":[{"Body":7},{"Deduplicated":1552},"Shared"]}]}},{"index":7,"name":"b1_19","span":{"data":{"file_id":5,"beg":{"line":134,"col":12},"end":{"line":134,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":134,"col":22},"end":{"line":134,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":"b2_19","span":{"data":{"file_id":5,"beg":{"line":135,"col":12},"end":{"line":135,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":135,"col":22},"end":{"line":135,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":"b3_19","span":{"data":{"file_id":5,"beg":{"line":136,"col":12},"end":{"line":136,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":136,"col":22},"end":{"line":136,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":"b4_19","span":{"data":{"file_id":5,"beg":{"line":137,"col":12},"end":{"line":137,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":137,"col":22},"end":{"line":137,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":23,"name":"c0","span":{"data":{"file_id":5,"beg":{"line":140,"col":16},"end":{"line":140,"col":18}},"generated_from_span":null},"ty":{"HashConsedValue":[3746,{"Literal":{"UInt":"U128"}}]}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":37},"end":{"line":140,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":43},"end":{"line":140,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":47},"end":{"line":140,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":51},"end":{"line":140,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":60},"end":{"line":140,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":64},"end":{"line":140,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":68},"end":{"line":140,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":77},"end":{"line":140,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":81},"end":{"line":140,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":45,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":85},"end":{"line":140,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":46,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":47,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":94},"end":{"line":140,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":48,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":49,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":98},"end":{"line":140,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":50,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":102},"end":{"line":140,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":51,"name":null,"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":52,"name":"c1","span":{"data":{"file_id":5,"beg":{"line":141,"col":12},"end":{"line":141,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":53,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":54,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":55,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":56,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":57,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":58,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":31},"end":{"line":141,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":59,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":60,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":37},"end":{"line":141,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":61,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":43},"end":{"line":141,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":62,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":63,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":47},"end":{"line":141,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":64,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":65,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":54},"end":{"line":141,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":66,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":67,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":60},"end":{"line":141,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":68,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":69,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":64},"end":{"line":141,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":70,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":68},"end":{"line":141,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":71,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":72,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":77},"end":{"line":141,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":73,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":74,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":81},"end":{"line":141,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":75,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":85},"end":{"line":141,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":76,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":77,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":94},"end":{"line":141,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":78,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":79,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":98},"end":{"line":141,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":80,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":102},"end":{"line":141,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":81,"name":null,"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":82,"name":"c2","span":{"data":{"file_id":5,"beg":{"line":142,"col":12},"end":{"line":142,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":83,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":84,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":85,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":86,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":87,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":88,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":31},"end":{"line":142,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":89,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":90,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":37},"end":{"line":142,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":91,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":43},"end":{"line":142,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":92,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":93,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":47},"end":{"line":142,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":94,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":95,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":54},"end":{"line":142,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":96,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":97,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":60},"end":{"line":142,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":98,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":99,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":64},"end":{"line":142,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":100,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":101,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":71},"end":{"line":142,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":102,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":103,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":77},"end":{"line":142,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":104,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":105,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":81},"end":{"line":142,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":106,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":85},"end":{"line":142,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":107,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":108,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":94},"end":{"line":142,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":109,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":110,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":98},"end":{"line":142,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":111,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":102},"end":{"line":142,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":112,"name":null,"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":113,"name":"c3","span":{"data":{"file_id":5,"beg":{"line":143,"col":12},"end":{"line":143,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":114,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":115,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":116,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":117,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":118,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":119,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":31},"end":{"line":143,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":120,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":121,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":37},"end":{"line":143,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":122,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":43},"end":{"line":143,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":123,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":124,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":47},"end":{"line":143,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":125,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":126,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":54},"end":{"line":143,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":127,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":128,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":60},"end":{"line":143,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":129,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":130,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":64},"end":{"line":143,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":131,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":132,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":71},"end":{"line":143,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":133,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":134,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":77},"end":{"line":143,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":135,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":136,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":81},"end":{"line":143,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":137,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":138,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":88},"end":{"line":143,"col":89}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":139,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":140,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":94},"end":{"line":143,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":141,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":142,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":98},"end":{"line":143,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":143,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":102},"end":{"line":143,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":144,"name":null,"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":145,"name":"c4","span":{"data":{"file_id":5,"beg":{"line":144,"col":12},"end":{"line":144,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":146,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":147,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":148,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":149,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":150,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":151,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":31},"end":{"line":144,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":152,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":153,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":37},"end":{"line":144,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":154,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":43},"end":{"line":144,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":155,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":156,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":47},"end":{"line":144,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":157,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":158,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":54},"end":{"line":144,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":159,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":160,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":60},"end":{"line":144,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":161,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":162,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":64},"end":{"line":144,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":163,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":164,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":71},"end":{"line":144,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":165,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":166,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":77},"end":{"line":144,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":167,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":168,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":81},"end":{"line":144,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":169,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":170,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":88},"end":{"line":144,"col":89}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":171,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":172,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":94},"end":{"line":144,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":173,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":174,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":98},"end":{"line":144,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":175,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":176,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":105},"end":{"line":144,"col":106}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":177,"name":null,"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":108}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":178,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":179,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":180,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":181,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":24},"end":{"line":158,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":182,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":29},"end":{"line":158,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":183,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":184,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":185,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":186,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":57},"end":{"line":158,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":187,"name":null,"span":{"data":{"file_id":5,"beg":{"line":158,"col":62},"end":{"line":158,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":188,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":189,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":190,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":191,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":24},"end":{"line":159,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":192,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":29},"end":{"line":159,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":193,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":194,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":195,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":196,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":57},"end":{"line":159,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":197,"name":null,"span":{"data":{"file_id":5,"beg":{"line":159,"col":62},"end":{"line":159,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":198,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":199,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":200,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":201,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":24},"end":{"line":160,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":202,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":29},"end":{"line":160,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":203,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":204,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":205,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":206,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":57},"end":{"line":160,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":207,"name":null,"span":{"data":{"file_id":5,"beg":{"line":160,"col":62},"end":{"line":160,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":208,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":209,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":210,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":211,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":24},"end":{"line":161,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":212,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":29},"end":{"line":161,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":213,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":214,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":215,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":216,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":57},"end":{"line":161,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":217,"name":null,"span":{"data":{"file_id":5,"beg":{"line":161,"col":62},"end":{"line":161,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":218,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":219,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":220,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":221,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":24},"end":{"line":162,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":222,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":29},"end":{"line":162,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":223,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":224,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":225,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":226,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":57},"end":{"line":162,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":227,"name":null,"span":{"data":{"file_id":5,"beg":{"line":162,"col":62},"end":{"line":162,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":228,"name":"out","span":{"data":{"file_id":5,"beg":{"line":169,"col":12},"end":{"line":169,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":229,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":230,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":231,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":15},"end":{"line":171,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":232,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":16},"end":{"line":171,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":233,"name":null,"span":{"data":{"file_id":5,"beg":{"line":171,"col":8},"end":{"line":171,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":234,"name":null,"span":{"data":{"file_id":5,"beg":{"line":172,"col":17},"end":{"line":172,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":235,"name":null,"span":{"data":{"file_id":5,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":236,"name":null,"span":{"data":{"file_id":5,"beg":{"line":172,"col":12},"end":{"line":172,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":237,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":238,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":239,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":15},"end":{"line":174,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":240,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":16},"end":{"line":174,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":241,"name":null,"span":{"data":{"file_id":5,"beg":{"line":174,"col":8},"end":{"line":174,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":242,"name":null,"span":{"data":{"file_id":5,"beg":{"line":175,"col":17},"end":{"line":175,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":243,"name":null,"span":{"data":{"file_id":5,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":244,"name":null,"span":{"data":{"file_id":5,"beg":{"line":175,"col":12},"end":{"line":175,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":245,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":246,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":247,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":15},"end":{"line":177,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":248,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":16},"end":{"line":177,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":249,"name":null,"span":{"data":{"file_id":5,"beg":{"line":177,"col":8},"end":{"line":177,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":250,"name":null,"span":{"data":{"file_id":5,"beg":{"line":178,"col":17},"end":{"line":178,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":251,"name":null,"span":{"data":{"file_id":5,"beg":{"line":178,"col":18},"end":{"line":178,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":252,"name":null,"span":{"data":{"file_id":5,"beg":{"line":178,"col":12},"end":{"line":178,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":253,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":254,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":255,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":15},"end":{"line":180,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":256,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":16},"end":{"line":180,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":257,"name":null,"span":{"data":{"file_id":5,"beg":{"line":180,"col":8},"end":{"line":180,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":258,"name":null,"span":{"data":{"file_id":5,"beg":{"line":181,"col":17},"end":{"line":181,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":259,"name":null,"span":{"data":{"file_id":5,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":260,"name":null,"span":{"data":{"file_id":5,"beg":{"line":181,"col":12},"end":{"line":181,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":261,"name":"carry","span":{"data":{"file_id":5,"beg":{"line":183,"col":12},"end":{"line":183,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":262,"name":null,"span":{"data":{"file_id":5,"beg":{"line":183,"col":25},"end":{"line":183,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":263,"name":null,"span":{"data":{"file_id":5,"beg":{"line":183,"col":26},"end":{"line":183,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":264,"name":null,"span":{"data":{"file_id":5,"beg":{"line":184,"col":17},"end":{"line":184,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":265,"name":null,"span":{"data":{"file_id":5,"beg":{"line":184,"col":18},"end":{"line":184,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":266,"name":null,"span":{"data":{"file_id":5,"beg":{"line":184,"col":12},"end":{"line":184,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":267,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":268,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":269,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":270,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":12},"end":{"line":201,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":271,"name":null,"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":272,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":273,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":274,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":22},"end":{"line":204,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":275,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":12},"end":{"line":204,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":276,"name":null,"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":277,"name":null,"span":{"data":{"file_id":5,"beg":{"line":205,"col":12},"end":{"line":205,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":278,"name":null,"span":{"data":{"file_id":5,"beg":{"line":208,"col":23},"end":{"line":208,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":279,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":280,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":281,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":282,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":283,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":284,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":285,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":286,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":287,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":288,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":289,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":290,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":291,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":292,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":293,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":294,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":295,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":296,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":297,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":298,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":299,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":300,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":301,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":302,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":303,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":304,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":305,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":306,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":307,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":308,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":309,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":310,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":311,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":312,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":313,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":314,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":315,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":316,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":317,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":318,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":319,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":320,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":321,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":322,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":323,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":324,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":325,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":326,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":327,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":328,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":329,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":330,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":331,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":332,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":333,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":334,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":335,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":336,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":337,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":338,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":339,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":340,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":341,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":342,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":343,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":344,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":345,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":346,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":347,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":348,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":349,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":350,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":351,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":352,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":353,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":354,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":355,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":356,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":357,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":358,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":359,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":360,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":361,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":362,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":363,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":364,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":365,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":366,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":367,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":368,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":369,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":370,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":371,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":372,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":373,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":374,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":375,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":376,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":377,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":378,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":379,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":380,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":381,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":382,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":383,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":384,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":385,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":386,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":387,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":388,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":389,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":390,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":391,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":392,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":393,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":394,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":395,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":396,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":397,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":398,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":399,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":400,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":401,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":402,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":403,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":404,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":405,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":406,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":407,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":408,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":409,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":410,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":411,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":144,"col":109}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":922,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":924,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":926,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":928,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":932,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":934,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":936,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":938,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":943,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":945,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":947,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":949,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":954,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":957,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":959,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":961,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":966,"kind":{"StorageLive":127},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":969,"kind":{"StorageLive":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":972,"kind":{"StorageLive":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":974,"kind":{"StorageLive":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":979,"kind":{"StorageLive":159},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":982,"kind":{"StorageLive":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":985,"kind":{"StorageLive":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":988,"kind":{"StorageLive":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1021,"kind":{"StorageLive":233},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1025,"kind":{"StorageLive":241},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1029,"kind":{"StorageLive":249},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1033,"kind":{"StorageLive":257},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1038,"kind":{"StorageLive":269},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1040,"kind":{"StorageLive":271},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1045,"kind":{"StorageLive":276},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":1047,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":1048,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":1049,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":3743}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["/ Helper function to multiply two 64-bit integers with 128","/ bits of output.","Alias self, _rhs for more readable formulas"]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":1050,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":3743}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":118,"col":34},"end":{"line":118,"col":35}},"generated_from_span":null},"id":1051,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":12},"end":{"line":119,"col":13}},"generated_from_span":null},"id":1052,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":27},"end":{"line":119,"col":34}},"generated_from_span":null},"id":1053,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":27},"end":{"line":119,"col":34}},"generated_from_span":null},"id":1054,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3745}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":27},"end":{"line":119,"col":34}},"generated_from_span":null},"id":1055,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":3745}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":119,"col":34},"end":{"line":119,"col":35}},"generated_from_span":null},"id":1056,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":12},"end":{"line":134,"col":17}},"generated_from_span":null},"id":1057,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":1058,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":22},"end":{"line":134,"col":23}},"generated_from_span":null},"id":1059,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":22},"end":{"line":134,"col":23}},"generated_from_span":null},"id":1060,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Precondition: assume input limbs a[i], b[i] are bounded as","","a[i], b[i] < 2^(51 + b)","","where b is a real parameter measuring the \"bit excess\" of the limbs.","64-bit precomputations to avoid 128-bit multiplications.","","This fits into a u64 whenever 51 + b + lg(19) < 64.","","Since 51 + b + lg(19) < 51 + 4.25 + b"," = 55.25 + b,","this fits if b < 8.75."]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":9625,"kind":{"StorageLive":300},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":9626,"kind":{"Assign":[{"kind":{"Local":300},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":9627,"kind":{"StorageLive":301},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":9628,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":300},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":301},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":24}},"generated_from_span":null},"id":1063,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":301},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":29}},"generated_from_span":null},"id":1064,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":20},"end":{"line":134,"col":29}},"generated_from_span":null},"id":1066,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":28},"end":{"line":134,"col":29}},"generated_from_span":null},"id":1067,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":134,"col":29},"end":{"line":134,"col":30}},"generated_from_span":null},"id":1068,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":12},"end":{"line":135,"col":17}},"generated_from_span":null},"id":1069,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":1070,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":22},"end":{"line":135,"col":23}},"generated_from_span":null},"id":1071,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":22},"end":{"line":135,"col":23}},"generated_from_span":null},"id":1072,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":9629,"kind":{"StorageLive":302},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":9630,"kind":{"Assign":[{"kind":{"Local":302},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":9631,"kind":{"StorageLive":303},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":9632,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":302},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":303},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":24}},"generated_from_span":null},"id":1075,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":303},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":29}},"generated_from_span":null},"id":1076,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":20},"end":{"line":135,"col":29}},"generated_from_span":null},"id":1078,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":28},"end":{"line":135,"col":29}},"generated_from_span":null},"id":1079,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":135,"col":29},"end":{"line":135,"col":30}},"generated_from_span":null},"id":1080,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":12},"end":{"line":136,"col":17}},"generated_from_span":null},"id":1081,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":1082,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":22},"end":{"line":136,"col":23}},"generated_from_span":null},"id":1083,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":22},"end":{"line":136,"col":23}},"generated_from_span":null},"id":1084,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":9633,"kind":{"StorageLive":304},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":9634,"kind":{"Assign":[{"kind":{"Local":304},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":9635,"kind":{"StorageLive":305},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":9636,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":304},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":305},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":24}},"generated_from_span":null},"id":1087,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":305},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":29}},"generated_from_span":null},"id":1088,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":20},"end":{"line":136,"col":29}},"generated_from_span":null},"id":1090,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":28},"end":{"line":136,"col":29}},"generated_from_span":null},"id":1091,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":136,"col":29},"end":{"line":136,"col":30}},"generated_from_span":null},"id":1092,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":12},"end":{"line":137,"col":17}},"generated_from_span":null},"id":1093,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":1094,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":22},"end":{"line":137,"col":23}},"generated_from_span":null},"id":1095,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":22},"end":{"line":137,"col":23}},"generated_from_span":null},"id":1096,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":9637,"kind":{"StorageLive":306},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":9638,"kind":{"Assign":[{"kind":{"Local":306},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":9639,"kind":{"StorageLive":307},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":9640,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":306},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":307},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":24}},"generated_from_span":null},"id":1099,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":307},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":29}},"generated_from_span":null},"id":1100,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":20},"end":{"line":137,"col":29}},"generated_from_span":null},"id":1102,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":28},"end":{"line":137,"col":29}},"generated_from_span":null},"id":1103,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":137,"col":29},"end":{"line":137,"col":30}},"generated_from_span":null},"id":1104,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":16},"end":{"line":140,"col":18}},"generated_from_span":null},"id":1105,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1106,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1107,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1108,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":40}},"generated_from_span":null},"id":1109,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":1110,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"id":1111,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"id":1112,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Multiply to get 128-bit coefficients of output"]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":9641,"kind":{"StorageLive":308},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":9642,"kind":{"Assign":[{"kind":{"Local":308},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":9643,"kind":{"StorageLive":309},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":9644,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":308},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":309},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":29},"end":{"line":140,"col":33}},"generated_from_span":null},"id":1115,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":309},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":1116,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":37},"end":{"line":140,"col":38}},"generated_from_span":null},"id":1117,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":37},"end":{"line":140,"col":38}},"generated_from_span":null},"id":1118,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":9645,"kind":{"StorageLive":310},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":9646,"kind":{"Assign":[{"kind":{"Local":310},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":9647,"kind":{"StorageLive":311},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":9648,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":310},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":311},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":35},"end":{"line":140,"col":39}},"generated_from_span":null},"id":1121,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":311},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":40}},"generated_from_span":null},"id":1122,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":39},"end":{"line":140,"col":40}},"generated_from_span":null},"id":1123,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":39},"end":{"line":140,"col":40}},"generated_from_span":null},"id":1124,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":43},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1125,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":1126,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":47},"end":{"line":140,"col":48}},"generated_from_span":null},"id":1127,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":47},"end":{"line":140,"col":48}},"generated_from_span":null},"id":1128,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":9649,"kind":{"StorageLive":312},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":9650,"kind":{"Assign":[{"kind":{"Local":312},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":9651,"kind":{"StorageLive":313},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":9652,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":312},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":313},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":45},"end":{"line":140,"col":49}},"generated_from_span":null},"id":1131,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":313},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":51},"end":{"line":140,"col":56}},"generated_from_span":null},"id":1132,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":51},"end":{"line":140,"col":56}},"generated_from_span":null},"id":1133,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":43},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1134,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":56},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1135,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":56},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1136,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1137,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":32},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1139,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":56},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1140,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":56},"end":{"line":140,"col":57}},"generated_from_span":null},"id":1141,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":60},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1142,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":1143,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":64},"end":{"line":140,"col":65}},"generated_from_span":null},"id":1144,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":64},"end":{"line":140,"col":65}},"generated_from_span":null},"id":1145,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":9653,"kind":{"StorageLive":314},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":9654,"kind":{"Assign":[{"kind":{"Local":314},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":9655,"kind":{"StorageLive":315},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":9656,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":314},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":315},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":62},"end":{"line":140,"col":66}},"generated_from_span":null},"id":1148,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":315},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":68},"end":{"line":140,"col":73}},"generated_from_span":null},"id":1149,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":68},"end":{"line":140,"col":73}},"generated_from_span":null},"id":1150,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":60},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1151,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":37},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":73},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1152,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":73},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1153,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1154,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1156,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":73},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1157,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":73},"end":{"line":140,"col":74}},"generated_from_span":null},"id":1158,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":77},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1159,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":1160,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":81},"end":{"line":140,"col":82}},"generated_from_span":null},"id":1161,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":81},"end":{"line":140,"col":82}},"generated_from_span":null},"id":1162,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":9657,"kind":{"StorageLive":316},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":9658,"kind":{"Assign":[{"kind":{"Local":316},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":9659,"kind":{"StorageLive":317},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":9660,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":316},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":44},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":317},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":79},"end":{"line":140,"col":83}},"generated_from_span":null},"id":1165,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":317},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":85},"end":{"line":140,"col":90}},"generated_from_span":null},"id":1166,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":85},"end":{"line":140,"col":90}},"generated_from_span":null},"id":1167,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":77},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1168,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":42},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":90},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1169,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":90},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1170,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1171,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1173,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":90},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1174,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":90},"end":{"line":140,"col":91}},"generated_from_span":null},"id":1175,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":94},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1176,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":1177,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":98},"end":{"line":140,"col":99}},"generated_from_span":null},"id":1178,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":98},"end":{"line":140,"col":99}},"generated_from_span":null},"id":1179,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":9661,"kind":{"StorageLive":318},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":9662,"kind":{"Assign":[{"kind":{"Local":318},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":9663,"kind":{"StorageLive":319},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":9664,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":318},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":49},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":319},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":96},"end":{"line":140,"col":100}},"generated_from_span":null},"id":1182,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":319},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":102},"end":{"line":140,"col":107}},"generated_from_span":null},"id":1183,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":102},"end":{"line":140,"col":107}},"generated_from_span":null},"id":1184,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":94},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1185,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":107},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1186,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":107},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1187,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1188,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":24},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":47},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":27},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1190,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":107},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1191,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":107},"end":{"line":140,"col":108}},"generated_from_span":null},"id":1192,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1193,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1194,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1195,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1196,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1197,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":140,"col":108},"end":{"line":140,"col":109}},"generated_from_span":null},"id":1198,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":12},"end":{"line":141,"col":18}},"generated_from_span":null},"id":1199,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1200,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1201,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1202,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":40}},"generated_from_span":null},"id":1203,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":1204,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":31},"end":{"line":141,"col":32}},"generated_from_span":null},"id":1205,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":31},"end":{"line":141,"col":32}},"generated_from_span":null},"id":1206,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":9665,"kind":{"StorageLive":320},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":9666,"kind":{"Assign":[{"kind":{"Local":320},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":9667,"kind":{"StorageLive":321},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":9668,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":320},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":321},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":29},"end":{"line":141,"col":33}},"generated_from_span":null},"id":1209,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":321},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":1210,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":37},"end":{"line":141,"col":38}},"generated_from_span":null},"id":1211,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":37},"end":{"line":141,"col":38}},"generated_from_span":null},"id":1212,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":9669,"kind":{"StorageLive":322},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":9670,"kind":{"Assign":[{"kind":{"Local":322},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":9671,"kind":{"StorageLive":323},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":9672,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":322},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":60},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":323},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":35},"end":{"line":141,"col":39}},"generated_from_span":null},"id":1215,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":323},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":40}},"generated_from_span":null},"id":1216,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":39},"end":{"line":141,"col":40}},"generated_from_span":null},"id":1217,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":39},"end":{"line":141,"col":40}},"generated_from_span":null},"id":1218,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":43},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1219,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":1220,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":47},"end":{"line":141,"col":48}},"generated_from_span":null},"id":1221,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":47},"end":{"line":141,"col":48}},"generated_from_span":null},"id":1222,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":9673,"kind":{"StorageLive":324},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":9674,"kind":{"Assign":[{"kind":{"Local":324},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":9675,"kind":{"StorageLive":325},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":9676,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":324},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":325},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":45},"end":{"line":141,"col":49}},"generated_from_span":null},"id":1225,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":325},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":1226,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":54},"end":{"line":141,"col":55}},"generated_from_span":null},"id":1227,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":54},"end":{"line":141,"col":55}},"generated_from_span":null},"id":1228,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":9677,"kind":{"StorageLive":326},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":9678,"kind":{"Assign":[{"kind":{"Local":326},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":9679,"kind":{"StorageLive":327},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":9680,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":326},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":327},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":52},"end":{"line":141,"col":56}},"generated_from_span":null},"id":1231,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":327},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":43},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1232,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":56},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1233,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":56},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1234,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1235,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":56},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":61},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1237,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":56},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1238,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":56},"end":{"line":141,"col":57}},"generated_from_span":null},"id":1239,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":60},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1240,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":1241,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":64},"end":{"line":141,"col":65}},"generated_from_span":null},"id":1242,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":64},"end":{"line":141,"col":65}},"generated_from_span":null},"id":1243,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":9681,"kind":{"StorageLive":328},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":9682,"kind":{"Assign":[{"kind":{"Local":328},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":9683,"kind":{"StorageLive":329},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":9684,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":328},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":69},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":329},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":62},"end":{"line":141,"col":66}},"generated_from_span":null},"id":1246,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":329},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":68},"end":{"line":141,"col":73}},"generated_from_span":null},"id":1247,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":68},"end":{"line":141,"col":73}},"generated_from_span":null},"id":1248,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":60},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1249,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":70},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":73},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1250,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":73},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1251,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1252,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":55},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":67},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1254,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":73},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1255,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":73},"end":{"line":141,"col":74}},"generated_from_span":null},"id":1256,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":77},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1257,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":1258,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":81},"end":{"line":141,"col":82}},"generated_from_span":null},"id":1259,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":81},"end":{"line":141,"col":82}},"generated_from_span":null},"id":1260,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":9685,"kind":{"StorageLive":330},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":9686,"kind":{"Assign":[{"kind":{"Local":330},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":9687,"kind":{"StorageLive":331},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":9688,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":330},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":74},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":331},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":79},"end":{"line":141,"col":83}},"generated_from_span":null},"id":1263,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":331},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":85},"end":{"line":141,"col":90}},"generated_from_span":null},"id":1264,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":85},"end":{"line":141,"col":90}},"generated_from_span":null},"id":1265,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":77},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1266,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":72},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":90},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1267,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":90},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1268,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1269,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":72},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1271,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":90},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1272,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":90},"end":{"line":141,"col":91}},"generated_from_span":null},"id":1273,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":94},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1274,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":1275,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":98},"end":{"line":141,"col":99}},"generated_from_span":null},"id":1276,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":98},"end":{"line":141,"col":99}},"generated_from_span":null},"id":1277,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":9689,"kind":{"StorageLive":332},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":9690,"kind":{"Assign":[{"kind":{"Local":332},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":9691,"kind":{"StorageLive":333},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":9692,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":332},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":79},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":333},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":96},"end":{"line":141,"col":100}},"generated_from_span":null},"id":1280,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":333},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":102},"end":{"line":141,"col":107}},"generated_from_span":null},"id":1281,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":102},"end":{"line":141,"col":107}},"generated_from_span":null},"id":1282,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":94},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1283,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":78},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":80},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":77},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":107},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1284,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":107},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1285,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1286,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":77},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":27},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1288,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":107},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1289,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":107},"end":{"line":141,"col":108}},"generated_from_span":null},"id":1290,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1291,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1292,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1293,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1294,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1295,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1296,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":141,"col":108},"end":{"line":141,"col":109}},"generated_from_span":null},"id":1297,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":12},"end":{"line":142,"col":18}},"generated_from_span":null},"id":1298,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1299,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1300,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1301,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":40}},"generated_from_span":null},"id":1302,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":1303,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":31},"end":{"line":142,"col":32}},"generated_from_span":null},"id":1304,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":31},"end":{"line":142,"col":32}},"generated_from_span":null},"id":1305,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":9693,"kind":{"StorageLive":334},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":9694,"kind":{"Assign":[{"kind":{"Local":334},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":9695,"kind":{"StorageLive":335},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":9696,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":334},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":88},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":335},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":29},"end":{"line":142,"col":33}},"generated_from_span":null},"id":1308,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":335},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":1309,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":37},"end":{"line":142,"col":38}},"generated_from_span":null},"id":1310,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":37},"end":{"line":142,"col":38}},"generated_from_span":null},"id":1311,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":9697,"kind":{"StorageLive":336},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":9698,"kind":{"Assign":[{"kind":{"Local":336},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":9699,"kind":{"StorageLive":337},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":9700,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":336},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":90},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":337},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":35},"end":{"line":142,"col":39}},"generated_from_span":null},"id":1314,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":337},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":40}},"generated_from_span":null},"id":1315,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":87},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":89},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":86},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":39},"end":{"line":142,"col":40}},"generated_from_span":null},"id":1316,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":39},"end":{"line":142,"col":40}},"generated_from_span":null},"id":1317,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":43},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1318,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":1319,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":47},"end":{"line":142,"col":48}},"generated_from_span":null},"id":1320,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":47},"end":{"line":142,"col":48}},"generated_from_span":null},"id":1321,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":9701,"kind":{"StorageLive":338},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":9702,"kind":{"Assign":[{"kind":{"Local":338},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":9703,"kind":{"StorageLive":339},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":9704,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":338},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":339},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":45},"end":{"line":142,"col":49}},"generated_from_span":null},"id":1324,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":339},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":1325,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":54},"end":{"line":142,"col":55}},"generated_from_span":null},"id":1326,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":54},"end":{"line":142,"col":55}},"generated_from_span":null},"id":1327,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":9705,"kind":{"StorageLive":340},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":9706,"kind":{"Assign":[{"kind":{"Local":340},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":9707,"kind":{"StorageLive":341},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":9708,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":340},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":95},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":341},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":52},"end":{"line":142,"col":56}},"generated_from_span":null},"id":1330,"kind":{"Assign":[{"kind":{"Local":94},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":341},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":43},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1331,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":92},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":94},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":91},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":56},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1332,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":56},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1333,"kind":{"StorageDead":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1334,"kind":{"Assign":[{"kind":{"Local":96},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":86},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":91},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1336,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":96},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":56},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1337,"kind":{"StorageDead":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":56},"end":{"line":142,"col":57}},"generated_from_span":null},"id":1338,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":60},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1339,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":1340,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":64},"end":{"line":142,"col":65}},"generated_from_span":null},"id":1341,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":64},"end":{"line":142,"col":65}},"generated_from_span":null},"id":1342,"kind":{"Assign":[{"kind":{"Local":99},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":9709,"kind":{"StorageLive":342},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":9710,"kind":{"Assign":[{"kind":{"Local":342},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":9711,"kind":{"StorageLive":343},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":9712,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":342},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":99},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":343},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":62},"end":{"line":142,"col":66}},"generated_from_span":null},"id":1345,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":343},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":1346,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":71},"end":{"line":142,"col":72}},"generated_from_span":null},"id":1347,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":71},"end":{"line":142,"col":72}},"generated_from_span":null},"id":1348,"kind":{"Assign":[{"kind":{"Local":101},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":9713,"kind":{"StorageLive":344},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":9714,"kind":{"Assign":[{"kind":{"Local":344},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":9715,"kind":{"StorageLive":345},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":9716,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":344},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":101},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":345},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":69},"end":{"line":142,"col":73}},"generated_from_span":null},"id":1351,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":345},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":60},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1352,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":98},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":100},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":97},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":73},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1353,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":73},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1354,"kind":{"StorageDead":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1355,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":85},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":97},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1357,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":102},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":73},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1358,"kind":{"StorageDead":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":73},"end":{"line":142,"col":74}},"generated_from_span":null},"id":1359,"kind":{"StorageDead":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":77},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1360,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":1361,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":81},"end":{"line":142,"col":82}},"generated_from_span":null},"id":1362,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":81},"end":{"line":142,"col":82}},"generated_from_span":null},"id":1363,"kind":{"Assign":[{"kind":{"Local":105},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":9717,"kind":{"StorageLive":346},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":9718,"kind":{"Assign":[{"kind":{"Local":346},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":9719,"kind":{"StorageLive":347},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":9720,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":346},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":105},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":347},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":79},"end":{"line":142,"col":83}},"generated_from_span":null},"id":1366,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":347},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":85},"end":{"line":142,"col":90}},"generated_from_span":null},"id":1367,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":85},"end":{"line":142,"col":90}},"generated_from_span":null},"id":1368,"kind":{"Assign":[{"kind":{"Local":106},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":77},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1369,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":104},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":106},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":103},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1370,"kind":{"StorageDead":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1371,"kind":{"StorageDead":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1372,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":84},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":103},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1374,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":107},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1375,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":1376,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":94},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1377,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":1378,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":98},"end":{"line":142,"col":99}},"generated_from_span":null},"id":1379,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":98},"end":{"line":142,"col":99}},"generated_from_span":null},"id":1380,"kind":{"Assign":[{"kind":{"Local":110},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":9721,"kind":{"StorageLive":348},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":9722,"kind":{"Assign":[{"kind":{"Local":348},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":9723,"kind":{"StorageLive":349},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":9724,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":348},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":110},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":349},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":96},"end":{"line":142,"col":100}},"generated_from_span":null},"id":1383,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":349},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":102},"end":{"line":142,"col":107}},"generated_from_span":null},"id":1384,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":102},"end":{"line":142,"col":107}},"generated_from_span":null},"id":1385,"kind":{"Assign":[{"kind":{"Local":111},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":94},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1386,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":111},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":108},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":107},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1387,"kind":{"StorageDead":111},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":107},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1388,"kind":{"StorageDead":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1389,"kind":{"Assign":[{"kind":{"Local":112},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":83},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":108},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":27},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1391,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":112},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":107},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1392,"kind":{"StorageDead":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":107},"end":{"line":142,"col":108}},"generated_from_span":null},"id":1393,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1394,"kind":{"StorageDead":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1395,"kind":{"StorageDead":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1396,"kind":{"StorageDead":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1397,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1398,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1399,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1400,"kind":{"StorageDead":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":142,"col":108},"end":{"line":142,"col":109}},"generated_from_span":null},"id":1401,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":12},"end":{"line":143,"col":18}},"generated_from_span":null},"id":1402,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1403,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1404,"kind":{"StorageLive":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1405,"kind":{"StorageLive":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":40}},"generated_from_span":null},"id":1406,"kind":{"StorageLive":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":1407,"kind":{"StorageLive":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":31},"end":{"line":143,"col":32}},"generated_from_span":null},"id":1408,"kind":{"StorageLive":119},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":31},"end":{"line":143,"col":32}},"generated_from_span":null},"id":1409,"kind":{"Assign":[{"kind":{"Local":119},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":9725,"kind":{"StorageLive":350},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":9726,"kind":{"Assign":[{"kind":{"Local":350},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":9727,"kind":{"StorageLive":351},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":9728,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":350},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":119},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":351},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":29},"end":{"line":143,"col":33}},"generated_from_span":null},"id":1412,"kind":{"Assign":[{"kind":{"Local":118},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":351},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":1413,"kind":{"StorageLive":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":37},"end":{"line":143,"col":38}},"generated_from_span":null},"id":1414,"kind":{"StorageLive":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":37},"end":{"line":143,"col":38}},"generated_from_span":null},"id":1415,"kind":{"Assign":[{"kind":{"Local":121},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":9729,"kind":{"StorageLive":352},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":9730,"kind":{"Assign":[{"kind":{"Local":352},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":9731,"kind":{"StorageLive":353},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":9732,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":352},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":121},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":353},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":35},"end":{"line":143,"col":39}},"generated_from_span":null},"id":1418,"kind":{"Assign":[{"kind":{"Local":120},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":353},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":40}},"generated_from_span":null},"id":1419,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":118},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":120},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":117},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":39},"end":{"line":143,"col":40}},"generated_from_span":null},"id":1420,"kind":{"StorageDead":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":39},"end":{"line":143,"col":40}},"generated_from_span":null},"id":1421,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":43},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1422,"kind":{"StorageLive":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":1423,"kind":{"StorageLive":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":47},"end":{"line":143,"col":48}},"generated_from_span":null},"id":1424,"kind":{"StorageLive":124},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":47},"end":{"line":143,"col":48}},"generated_from_span":null},"id":1425,"kind":{"Assign":[{"kind":{"Local":124},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":9733,"kind":{"StorageLive":354},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":9734,"kind":{"Assign":[{"kind":{"Local":354},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":9735,"kind":{"StorageLive":355},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":9736,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":354},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":124},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":355},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":45},"end":{"line":143,"col":49}},"generated_from_span":null},"id":1428,"kind":{"Assign":[{"kind":{"Local":123},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":355},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":1429,"kind":{"StorageLive":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":54},"end":{"line":143,"col":55}},"generated_from_span":null},"id":1430,"kind":{"StorageLive":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":54},"end":{"line":143,"col":55}},"generated_from_span":null},"id":1431,"kind":{"Assign":[{"kind":{"Local":126},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":9737,"kind":{"StorageLive":356},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":9738,"kind":{"Assign":[{"kind":{"Local":356},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":9739,"kind":{"StorageLive":357},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":9740,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":356},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":126},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":357},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":52},"end":{"line":143,"col":56}},"generated_from_span":null},"id":1434,"kind":{"Assign":[{"kind":{"Local":125},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":357},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":43},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1435,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":123},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":125},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":122},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":56},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1436,"kind":{"StorageDead":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":56},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1437,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1438,"kind":{"Assign":[{"kind":{"Local":127},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":117},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":122},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1440,"kind":{"Assign":[{"kind":{"Local":116},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":127},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":56},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1441,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":56},"end":{"line":143,"col":57}},"generated_from_span":null},"id":1442,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":60},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1443,"kind":{"StorageLive":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":1444,"kind":{"StorageLive":129},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":64},"end":{"line":143,"col":65}},"generated_from_span":null},"id":1445,"kind":{"StorageLive":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":64},"end":{"line":143,"col":65}},"generated_from_span":null},"id":1446,"kind":{"Assign":[{"kind":{"Local":130},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":9741,"kind":{"StorageLive":358},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":9742,"kind":{"Assign":[{"kind":{"Local":358},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":9743,"kind":{"StorageLive":359},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":9744,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":358},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":130},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":359},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":62},"end":{"line":143,"col":66}},"generated_from_span":null},"id":1449,"kind":{"Assign":[{"kind":{"Local":129},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":359},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":1450,"kind":{"StorageLive":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":71},"end":{"line":143,"col":72}},"generated_from_span":null},"id":1451,"kind":{"StorageLive":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":71},"end":{"line":143,"col":72}},"generated_from_span":null},"id":1452,"kind":{"Assign":[{"kind":{"Local":132},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":9745,"kind":{"StorageLive":360},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":9746,"kind":{"Assign":[{"kind":{"Local":360},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":9747,"kind":{"StorageLive":361},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":9748,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":360},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":132},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":361},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":69},"end":{"line":143,"col":73}},"generated_from_span":null},"id":1455,"kind":{"Assign":[{"kind":{"Local":131},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":361},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":60},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1456,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":129},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":131},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":128},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":73},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1457,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":73},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1458,"kind":{"StorageDead":129},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1459,"kind":{"Assign":[{"kind":{"Local":133},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":116},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":128},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1461,"kind":{"Assign":[{"kind":{"Local":115},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":133},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":73},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1462,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":73},"end":{"line":143,"col":74}},"generated_from_span":null},"id":1463,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":77},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1464,"kind":{"StorageLive":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":1465,"kind":{"StorageLive":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":81},"end":{"line":143,"col":82}},"generated_from_span":null},"id":1466,"kind":{"StorageLive":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":81},"end":{"line":143,"col":82}},"generated_from_span":null},"id":1467,"kind":{"Assign":[{"kind":{"Local":136},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":9749,"kind":{"StorageLive":362},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":9750,"kind":{"Assign":[{"kind":{"Local":362},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":9751,"kind":{"StorageLive":363},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":9752,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":362},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":136},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":363},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":79},"end":{"line":143,"col":83}},"generated_from_span":null},"id":1470,"kind":{"Assign":[{"kind":{"Local":135},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":363},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":1471,"kind":{"StorageLive":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":88},"end":{"line":143,"col":89}},"generated_from_span":null},"id":1472,"kind":{"StorageLive":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":88},"end":{"line":143,"col":89}},"generated_from_span":null},"id":1473,"kind":{"Assign":[{"kind":{"Local":138},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":9753,"kind":{"StorageLive":364},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":9754,"kind":{"Assign":[{"kind":{"Local":364},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":9755,"kind":{"StorageLive":365},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":9756,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":364},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":138},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":365},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":86},"end":{"line":143,"col":90}},"generated_from_span":null},"id":1476,"kind":{"Assign":[{"kind":{"Local":137},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":365},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":77},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1477,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":135},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":137},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":134},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":90},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1478,"kind":{"StorageDead":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":90},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1479,"kind":{"StorageDead":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1480,"kind":{"Assign":[{"kind":{"Local":139},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":115},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":134},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1482,"kind":{"Assign":[{"kind":{"Local":114},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":139},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":90},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1483,"kind":{"StorageDead":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":90},"end":{"line":143,"col":91}},"generated_from_span":null},"id":1484,"kind":{"StorageDead":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":94},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1485,"kind":{"StorageLive":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":1486,"kind":{"StorageLive":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":98},"end":{"line":143,"col":99}},"generated_from_span":null},"id":1487,"kind":{"StorageLive":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":98},"end":{"line":143,"col":99}},"generated_from_span":null},"id":1488,"kind":{"Assign":[{"kind":{"Local":142},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":9757,"kind":{"StorageLive":366},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":9758,"kind":{"Assign":[{"kind":{"Local":366},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":9759,"kind":{"StorageLive":367},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":9760,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":366},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":142},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":367},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":96},"end":{"line":143,"col":100}},"generated_from_span":null},"id":1491,"kind":{"Assign":[{"kind":{"Local":141},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":367},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":102},"end":{"line":143,"col":107}},"generated_from_span":null},"id":1492,"kind":{"StorageLive":143},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":102},"end":{"line":143,"col":107}},"generated_from_span":null},"id":1493,"kind":{"Assign":[{"kind":{"Local":143},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":94},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1494,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":141},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":143},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":140},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":107},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1495,"kind":{"StorageDead":143},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":107},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1496,"kind":{"StorageDead":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1497,"kind":{"Assign":[{"kind":{"Local":144},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":114},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":140},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":27},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1499,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":144},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":107},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1500,"kind":{"StorageDead":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":107},"end":{"line":143,"col":108}},"generated_from_span":null},"id":1501,"kind":{"StorageDead":114},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1502,"kind":{"StorageDead":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1503,"kind":{"StorageDead":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1504,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1505,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1506,"kind":{"StorageDead":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1507,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1508,"kind":{"StorageDead":124},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1509,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":143,"col":108},"end":{"line":143,"col":109}},"generated_from_span":null},"id":1510,"kind":{"StorageDead":119},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":12},"end":{"line":144,"col":18}},"generated_from_span":null},"id":1511,"kind":{"StorageLive":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1512,"kind":{"StorageLive":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1513,"kind":{"StorageLive":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1514,"kind":{"StorageLive":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":40}},"generated_from_span":null},"id":1515,"kind":{"StorageLive":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":1516,"kind":{"StorageLive":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":31},"end":{"line":144,"col":32}},"generated_from_span":null},"id":1517,"kind":{"StorageLive":151},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":31},"end":{"line":144,"col":32}},"generated_from_span":null},"id":1518,"kind":{"Assign":[{"kind":{"Local":151},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":9761,"kind":{"StorageLive":368},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":9762,"kind":{"Assign":[{"kind":{"Local":368},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":9763,"kind":{"StorageLive":369},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":9764,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":368},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":151},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":369},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":29},"end":{"line":144,"col":33}},"generated_from_span":null},"id":1521,"kind":{"Assign":[{"kind":{"Local":150},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":369},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":1522,"kind":{"StorageLive":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":37},"end":{"line":144,"col":38}},"generated_from_span":null},"id":1523,"kind":{"StorageLive":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":37},"end":{"line":144,"col":38}},"generated_from_span":null},"id":1524,"kind":{"Assign":[{"kind":{"Local":153},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":9765,"kind":{"StorageLive":370},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":9766,"kind":{"Assign":[{"kind":{"Local":370},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":9767,"kind":{"StorageLive":371},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":9768,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":370},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":153},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":371},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":35},"end":{"line":144,"col":39}},"generated_from_span":null},"id":1527,"kind":{"Assign":[{"kind":{"Local":152},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":371},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":40}},"generated_from_span":null},"id":1528,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":150},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":152},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":149},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":39},"end":{"line":144,"col":40}},"generated_from_span":null},"id":1529,"kind":{"StorageDead":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":39},"end":{"line":144,"col":40}},"generated_from_span":null},"id":1530,"kind":{"StorageDead":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":43},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1531,"kind":{"StorageLive":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":1532,"kind":{"StorageLive":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":47},"end":{"line":144,"col":48}},"generated_from_span":null},"id":1533,"kind":{"StorageLive":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":47},"end":{"line":144,"col":48}},"generated_from_span":null},"id":1534,"kind":{"Assign":[{"kind":{"Local":156},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":9769,"kind":{"StorageLive":372},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":9770,"kind":{"Assign":[{"kind":{"Local":372},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":9771,"kind":{"StorageLive":373},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":9772,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":372},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":156},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":373},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":45},"end":{"line":144,"col":49}},"generated_from_span":null},"id":1537,"kind":{"Assign":[{"kind":{"Local":155},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":373},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":1538,"kind":{"StorageLive":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":54},"end":{"line":144,"col":55}},"generated_from_span":null},"id":1539,"kind":{"StorageLive":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":54},"end":{"line":144,"col":55}},"generated_from_span":null},"id":1540,"kind":{"Assign":[{"kind":{"Local":158},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":9773,"kind":{"StorageLive":374},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":9774,"kind":{"Assign":[{"kind":{"Local":374},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":9775,"kind":{"StorageLive":375},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":9776,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":374},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":158},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":375},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":52},"end":{"line":144,"col":56}},"generated_from_span":null},"id":1543,"kind":{"Assign":[{"kind":{"Local":157},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":375},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":43},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1544,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":155},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":157},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":154},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":56},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1545,"kind":{"StorageDead":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":56},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1546,"kind":{"StorageDead":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1547,"kind":{"Assign":[{"kind":{"Local":159},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":149},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":154},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1549,"kind":{"Assign":[{"kind":{"Local":148},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":159},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":56},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1550,"kind":{"StorageDead":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":56},"end":{"line":144,"col":57}},"generated_from_span":null},"id":1551,"kind":{"StorageDead":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":60},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1552,"kind":{"StorageLive":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":1553,"kind":{"StorageLive":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":64},"end":{"line":144,"col":65}},"generated_from_span":null},"id":1554,"kind":{"StorageLive":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":64},"end":{"line":144,"col":65}},"generated_from_span":null},"id":1555,"kind":{"Assign":[{"kind":{"Local":162},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":9777,"kind":{"StorageLive":376},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":9778,"kind":{"Assign":[{"kind":{"Local":376},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":9779,"kind":{"StorageLive":377},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":9780,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":376},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":162},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":377},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":62},"end":{"line":144,"col":66}},"generated_from_span":null},"id":1558,"kind":{"Assign":[{"kind":{"Local":161},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":377},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":1559,"kind":{"StorageLive":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":71},"end":{"line":144,"col":72}},"generated_from_span":null},"id":1560,"kind":{"StorageLive":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":71},"end":{"line":144,"col":72}},"generated_from_span":null},"id":1561,"kind":{"Assign":[{"kind":{"Local":164},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":9781,"kind":{"StorageLive":378},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":9782,"kind":{"Assign":[{"kind":{"Local":378},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":9783,"kind":{"StorageLive":379},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":9784,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":378},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":164},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":379},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":69},"end":{"line":144,"col":73}},"generated_from_span":null},"id":1564,"kind":{"Assign":[{"kind":{"Local":163},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":379},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":60},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1565,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":161},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":163},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":160},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":73},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1566,"kind":{"StorageDead":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":73},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1567,"kind":{"StorageDead":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1568,"kind":{"Assign":[{"kind":{"Local":165},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":148},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":160},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1570,"kind":{"Assign":[{"kind":{"Local":147},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":165},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":73},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1571,"kind":{"StorageDead":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":73},"end":{"line":144,"col":74}},"generated_from_span":null},"id":1572,"kind":{"StorageDead":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":77},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1573,"kind":{"StorageLive":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":1574,"kind":{"StorageLive":167},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":81},"end":{"line":144,"col":82}},"generated_from_span":null},"id":1575,"kind":{"StorageLive":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":81},"end":{"line":144,"col":82}},"generated_from_span":null},"id":1576,"kind":{"Assign":[{"kind":{"Local":168},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":9785,"kind":{"StorageLive":380},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":9786,"kind":{"Assign":[{"kind":{"Local":380},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":9787,"kind":{"StorageLive":381},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":9788,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":380},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":168},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":381},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":79},"end":{"line":144,"col":83}},"generated_from_span":null},"id":1579,"kind":{"Assign":[{"kind":{"Local":167},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":381},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":1580,"kind":{"StorageLive":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":88},"end":{"line":144,"col":89}},"generated_from_span":null},"id":1581,"kind":{"StorageLive":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":88},"end":{"line":144,"col":89}},"generated_from_span":null},"id":1582,"kind":{"Assign":[{"kind":{"Local":170},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":9789,"kind":{"StorageLive":382},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":9790,"kind":{"Assign":[{"kind":{"Local":382},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":9791,"kind":{"StorageLive":383},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":9792,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":382},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":170},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":383},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":86},"end":{"line":144,"col":90}},"generated_from_span":null},"id":1585,"kind":{"Assign":[{"kind":{"Local":169},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":383},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":77},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1586,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":167},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":169},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":166},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":90},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1587,"kind":{"StorageDead":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":90},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1588,"kind":{"StorageDead":167},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1589,"kind":{"Assign":[{"kind":{"Local":171},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":147},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":166},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1591,"kind":{"Assign":[{"kind":{"Local":146},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":171},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":90},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1592,"kind":{"StorageDead":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":90},"end":{"line":144,"col":91}},"generated_from_span":null},"id":1593,"kind":{"StorageDead":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":94},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1594,"kind":{"StorageLive":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":1595,"kind":{"StorageLive":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":98},"end":{"line":144,"col":99}},"generated_from_span":null},"id":1596,"kind":{"StorageLive":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":98},"end":{"line":144,"col":99}},"generated_from_span":null},"id":1597,"kind":{"Assign":[{"kind":{"Local":174},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":9793,"kind":{"StorageLive":384},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":9794,"kind":{"Assign":[{"kind":{"Local":384},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":9795,"kind":{"StorageLive":385},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":9796,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":384},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":174},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":385},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":96},"end":{"line":144,"col":100}},"generated_from_span":null},"id":1600,"kind":{"Assign":[{"kind":{"Local":173},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":385},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":1601,"kind":{"StorageLive":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":105},"end":{"line":144,"col":106}},"generated_from_span":null},"id":1602,"kind":{"StorageLive":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":105},"end":{"line":144,"col":106}},"generated_from_span":null},"id":1603,"kind":{"Assign":[{"kind":{"Local":176},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":9797,"kind":{"StorageLive":386},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":9798,"kind":{"Assign":[{"kind":{"Local":386},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":9799,"kind":{"StorageLive":387},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":9800,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":386},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":176},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":387},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":103},"end":{"line":144,"col":107}},"generated_from_span":null},"id":1606,"kind":{"Assign":[{"kind":{"Local":175},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":387},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":94},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1607,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":153}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":173},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":175},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":172},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":107},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1608,"kind":{"StorageDead":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":107},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1609,"kind":{"StorageDead":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1610,"kind":{"Assign":[{"kind":{"Local":177},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":146},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":172},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":27},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1612,"kind":{"Assign":[{"kind":{"Local":145},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":177},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":107},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1613,"kind":{"StorageDead":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":107},"end":{"line":144,"col":108}},"generated_from_span":null},"id":1614,"kind":{"StorageDead":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1615,"kind":{"StorageDead":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1616,"kind":{"StorageDead":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1617,"kind":{"StorageDead":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1618,"kind":{"StorageDead":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1619,"kind":{"StorageDead":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1620,"kind":{"StorageDead":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1621,"kind":{"StorageDead":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1622,"kind":{"StorageDead":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1623,"kind":{"StorageDead":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":144,"col":108},"end":{"line":144,"col":109}},"generated_from_span":null},"id":1624,"kind":{"StorageDead":151},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1626,"kind":{"StorageLive":178},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1627,"kind":{"Assign":[{"kind":{"Local":178},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":["How big are the c[i]? We have",""," c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)"," < 2^(102 + lg(1 + 4*19) + 2*b)"," < 2^(108.27 + 2*b)","","The carry (c[i] >> 51) fits into a u64 when"," 108.27 + 2*b - 51 < 64"," 2*b < 6.73"," b < 3.365.","","So we require b < 3 to ensure this fits.","Casting to u64 and back tells the compiler that the carry is","bounded by 2^64, so that the addition is a u128 + u64 rather","than u128 + u128.","To see that this does not overflow, we need out[0] + carry * 19 < 2^64.","","c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)"," < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)"," < 2^(102 + 2*b + lg(5)) + 2^64.","","When b < 3 we get","","c4 < 2^110.33 so that carry < 2^59.33","","so that","","out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58","","and there is no overflow.","Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).","Now out[i] < 2^(51 + epsilon) for all i."]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1658,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":178},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1629,"kind":{"StorageLive":179},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":1630,"kind":{"StorageLive":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":24},"end":{"line":158,"col":25}},"generated_from_span":null},"id":1631,"kind":{"StorageLive":181},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":24},"end":{"line":158,"col":25}},"generated_from_span":null},"id":1632,"kind":{"Assign":[{"kind":{"Local":181},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":9585,"kind":{"StorageLive":280},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":9586,"kind":{"Assign":[{"kind":{"Local":280},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":9587,"kind":{"StorageLive":281},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":9588,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":280},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":181},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":281},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":26}},"generated_from_span":null},"id":1635,"kind":{"Assign":[{"kind":{"Local":180},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":281},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":29},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1636,"kind":{"StorageLive":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":29},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1640,"kind":{"Assign":[{"kind":{"Local":182},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"HashConsedValue":[3751,{"Literal":{"Int":"I32"}}]}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1641,"kind":{"Assign":[{"kind":{"Local":179},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":180},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":182},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1648,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":179},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":22},"end":{"line":158,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1643,"kind":{"StorageDead":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1644,"kind":{"StorageDead":180},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1645,"kind":{"StorageDead":181},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1647,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1649,"kind":{"StorageDead":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":37},"end":{"line":158,"col":38}},"generated_from_span":null},"id":1650,"kind":{"StorageDead":180},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1651,"kind":{"StorageDead":181},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1653,"kind":{"StorageDead":179},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1659,"kind":{"StorageDead":178},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1662,"kind":{"StorageLive":183},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1663,"kind":{"Assign":[{"kind":{"Local":183},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1694,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":183},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1665,"kind":{"StorageLive":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":1666,"kind":{"StorageLive":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":57},"end":{"line":158,"col":58}},"generated_from_span":null},"id":1667,"kind":{"StorageLive":186},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":57},"end":{"line":158,"col":58}},"generated_from_span":null},"id":1668,"kind":{"Assign":[{"kind":{"Local":186},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":9589,"kind":{"StorageLive":282},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":9590,"kind":{"Assign":[{"kind":{"Local":282},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":9591,"kind":{"StorageLive":283},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":9592,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":282},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":186},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":283},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":59}},"generated_from_span":null},"id":1671,"kind":{"Assign":[{"kind":{"Local":185},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":283},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":62},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1672,"kind":{"StorageLive":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":62},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1676,"kind":{"Assign":[{"kind":{"Local":187},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1677,"kind":{"Assign":[{"kind":{"Local":184},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":185},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":187},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1684,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":184},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":55},"end":{"line":158,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1679,"kind":{"StorageDead":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1680,"kind":{"StorageDead":185},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1681,"kind":{"StorageDead":186},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1683,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1685,"kind":{"StorageDead":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":158,"col":70},"end":{"line":158,"col":71}},"generated_from_span":null},"id":1686,"kind":{"StorageDead":185},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1687,"kind":{"StorageDead":186},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1689,"kind":{"StorageDead":184},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1695,"kind":{"StorageDead":183},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1698,"kind":{"StorageLive":188},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1699,"kind":{"Assign":[{"kind":{"Local":188},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1730,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":188},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1701,"kind":{"StorageLive":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":1702,"kind":{"StorageLive":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":24},"end":{"line":159,"col":25}},"generated_from_span":null},"id":1703,"kind":{"StorageLive":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":24},"end":{"line":159,"col":25}},"generated_from_span":null},"id":1704,"kind":{"Assign":[{"kind":{"Local":191},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":9593,"kind":{"StorageLive":284},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":9594,"kind":{"Assign":[{"kind":{"Local":284},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":9595,"kind":{"StorageLive":285},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":9596,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":284},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":191},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":285},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":26}},"generated_from_span":null},"id":1707,"kind":{"Assign":[{"kind":{"Local":190},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":285},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":29},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1708,"kind":{"StorageLive":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":29},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1712,"kind":{"Assign":[{"kind":{"Local":192},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1713,"kind":{"Assign":[{"kind":{"Local":189},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":190},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":192},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1720,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":189},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":22},"end":{"line":159,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1715,"kind":{"StorageDead":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1716,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1717,"kind":{"StorageDead":191},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1719,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1721,"kind":{"StorageDead":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":37},"end":{"line":159,"col":38}},"generated_from_span":null},"id":1722,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1723,"kind":{"StorageDead":191},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1725,"kind":{"StorageDead":189},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1731,"kind":{"StorageDead":188},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1734,"kind":{"StorageLive":193},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1735,"kind":{"Assign":[{"kind":{"Local":193},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1766,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":193},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1737,"kind":{"StorageLive":194},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":1738,"kind":{"StorageLive":195},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":57},"end":{"line":159,"col":58}},"generated_from_span":null},"id":1739,"kind":{"StorageLive":196},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":57},"end":{"line":159,"col":58}},"generated_from_span":null},"id":1740,"kind":{"Assign":[{"kind":{"Local":196},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":9597,"kind":{"StorageLive":286},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":9598,"kind":{"Assign":[{"kind":{"Local":286},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":9599,"kind":{"StorageLive":287},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":9600,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":286},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":196},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":287},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":59}},"generated_from_span":null},"id":1743,"kind":{"Assign":[{"kind":{"Local":195},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":287},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":62},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1744,"kind":{"StorageLive":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":62},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1748,"kind":{"Assign":[{"kind":{"Local":197},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1749,"kind":{"Assign":[{"kind":{"Local":194},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":195},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":197},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1756,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":194},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":55},"end":{"line":159,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1751,"kind":{"StorageDead":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1752,"kind":{"StorageDead":195},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1753,"kind":{"StorageDead":196},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1755,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1757,"kind":{"StorageDead":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":159,"col":70},"end":{"line":159,"col":71}},"generated_from_span":null},"id":1758,"kind":{"StorageDead":195},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1759,"kind":{"StorageDead":196},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1761,"kind":{"StorageDead":194},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1767,"kind":{"StorageDead":193},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1770,"kind":{"StorageLive":198},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1771,"kind":{"Assign":[{"kind":{"Local":198},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1802,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":198},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1773,"kind":{"StorageLive":199},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":1774,"kind":{"StorageLive":200},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":24},"end":{"line":160,"col":25}},"generated_from_span":null},"id":1775,"kind":{"StorageLive":201},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":24},"end":{"line":160,"col":25}},"generated_from_span":null},"id":1776,"kind":{"Assign":[{"kind":{"Local":201},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":9601,"kind":{"StorageLive":288},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":9602,"kind":{"Assign":[{"kind":{"Local":288},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":9603,"kind":{"StorageLive":289},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":9604,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":288},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":201},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":289},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":26}},"generated_from_span":null},"id":1779,"kind":{"Assign":[{"kind":{"Local":200},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":289},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":29},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1780,"kind":{"StorageLive":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":29},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1784,"kind":{"Assign":[{"kind":{"Local":202},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1785,"kind":{"Assign":[{"kind":{"Local":199},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":200},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":202},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1792,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":199},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":22},"end":{"line":160,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1787,"kind":{"StorageDead":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1788,"kind":{"StorageDead":200},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1789,"kind":{"StorageDead":201},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1791,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1793,"kind":{"StorageDead":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":37},"end":{"line":160,"col":38}},"generated_from_span":null},"id":1794,"kind":{"StorageDead":200},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1795,"kind":{"StorageDead":201},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1797,"kind":{"StorageDead":199},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1803,"kind":{"StorageDead":198},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1806,"kind":{"StorageLive":203},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1807,"kind":{"Assign":[{"kind":{"Local":203},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1838,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":203},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1809,"kind":{"StorageLive":204},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":1810,"kind":{"StorageLive":205},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":57},"end":{"line":160,"col":58}},"generated_from_span":null},"id":1811,"kind":{"StorageLive":206},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":57},"end":{"line":160,"col":58}},"generated_from_span":null},"id":1812,"kind":{"Assign":[{"kind":{"Local":206},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":9605,"kind":{"StorageLive":290},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":9606,"kind":{"Assign":[{"kind":{"Local":290},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":9607,"kind":{"StorageLive":291},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":9608,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":290},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":206},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":291},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":59}},"generated_from_span":null},"id":1815,"kind":{"Assign":[{"kind":{"Local":205},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":291},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":62},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1816,"kind":{"StorageLive":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":62},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1820,"kind":{"Assign":[{"kind":{"Local":207},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1821,"kind":{"Assign":[{"kind":{"Local":204},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":205},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":207},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1828,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":204},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":55},"end":{"line":160,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1823,"kind":{"StorageDead":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1824,"kind":{"StorageDead":205},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1825,"kind":{"StorageDead":206},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1827,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1829,"kind":{"StorageDead":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":160,"col":70},"end":{"line":160,"col":71}},"generated_from_span":null},"id":1830,"kind":{"StorageDead":205},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1831,"kind":{"StorageDead":206},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1833,"kind":{"StorageDead":204},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1839,"kind":{"StorageDead":203},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1842,"kind":{"StorageLive":208},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1843,"kind":{"Assign":[{"kind":{"Local":208},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1874,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":208},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1845,"kind":{"StorageLive":209},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":1846,"kind":{"StorageLive":210},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":24},"end":{"line":161,"col":25}},"generated_from_span":null},"id":1847,"kind":{"StorageLive":211},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":24},"end":{"line":161,"col":25}},"generated_from_span":null},"id":1848,"kind":{"Assign":[{"kind":{"Local":211},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":9609,"kind":{"StorageLive":292},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":9610,"kind":{"Assign":[{"kind":{"Local":292},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":9611,"kind":{"StorageLive":293},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":9612,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":292},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":211},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":293},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":26}},"generated_from_span":null},"id":1851,"kind":{"Assign":[{"kind":{"Local":210},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":293},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":29},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1852,"kind":{"StorageLive":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":29},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1856,"kind":{"Assign":[{"kind":{"Local":212},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1857,"kind":{"Assign":[{"kind":{"Local":209},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":210},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":212},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1864,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":209},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":22},"end":{"line":161,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1859,"kind":{"StorageDead":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1860,"kind":{"StorageDead":210},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1861,"kind":{"StorageDead":211},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1863,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1865,"kind":{"StorageDead":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":37},"end":{"line":161,"col":38}},"generated_from_span":null},"id":1866,"kind":{"StorageDead":210},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1867,"kind":{"StorageDead":211},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1869,"kind":{"StorageDead":209},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1875,"kind":{"StorageDead":208},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1878,"kind":{"StorageLive":213},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1879,"kind":{"Assign":[{"kind":{"Local":213},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1910,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":213},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1881,"kind":{"StorageLive":214},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":1882,"kind":{"StorageLive":215},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":57},"end":{"line":161,"col":58}},"generated_from_span":null},"id":1883,"kind":{"StorageLive":216},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":57},"end":{"line":161,"col":58}},"generated_from_span":null},"id":1884,"kind":{"Assign":[{"kind":{"Local":216},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":9613,"kind":{"StorageLive":294},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":9614,"kind":{"Assign":[{"kind":{"Local":294},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":9615,"kind":{"StorageLive":295},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":9616,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":294},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":216},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":295},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":59}},"generated_from_span":null},"id":1887,"kind":{"Assign":[{"kind":{"Local":215},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":295},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":62},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1888,"kind":{"StorageLive":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":62},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1892,"kind":{"Assign":[{"kind":{"Local":217},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1893,"kind":{"Assign":[{"kind":{"Local":214},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":215},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":217},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1900,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":214},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":55},"end":{"line":161,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1895,"kind":{"StorageDead":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1896,"kind":{"StorageDead":215},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1897,"kind":{"StorageDead":216},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1899,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1901,"kind":{"StorageDead":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":161,"col":70},"end":{"line":161,"col":71}},"generated_from_span":null},"id":1902,"kind":{"StorageDead":215},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1903,"kind":{"StorageDead":216},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1905,"kind":{"StorageDead":214},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1911,"kind":{"StorageDead":213},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1914,"kind":{"StorageLive":218},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1915,"kind":{"Assign":[{"kind":{"Local":218},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1946,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":218},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1917,"kind":{"StorageLive":219},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":1918,"kind":{"StorageLive":220},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":24},"end":{"line":162,"col":25}},"generated_from_span":null},"id":1919,"kind":{"StorageLive":221},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":24},"end":{"line":162,"col":25}},"generated_from_span":null},"id":1920,"kind":{"Assign":[{"kind":{"Local":221},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":9617,"kind":{"StorageLive":296},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":9618,"kind":{"Assign":[{"kind":{"Local":296},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":3742}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":9619,"kind":{"StorageLive":297},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":9620,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":296},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":221},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":297},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":26}},"generated_from_span":null},"id":1923,"kind":{"Assign":[{"kind":{"Local":220},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":297},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":29},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1924,"kind":{"StorageLive":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":29},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1928,"kind":{"Assign":[{"kind":{"Local":222},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1929,"kind":{"Assign":[{"kind":{"Local":219},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":220},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":222},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1936,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":219},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":22},"end":{"line":162,"col":38}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1931,"kind":{"StorageDead":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1932,"kind":{"StorageDead":220},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1933,"kind":{"StorageDead":221},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1935,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1937,"kind":{"StorageDead":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1938,"kind":{"StorageDead":220},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1939,"kind":{"StorageDead":221},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1941,"kind":{"StorageDead":219},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1947,"kind":{"StorageDead":218},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1950,"kind":{"StorageLive":223},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1951,"kind":{"Assign":[{"kind":{"Local":223},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1982,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":223},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1953,"kind":{"StorageLive":224},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":1954,"kind":{"StorageLive":225},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":57},"end":{"line":162,"col":58}},"generated_from_span":null},"id":1955,"kind":{"StorageLive":226},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":57},"end":{"line":162,"col":58}},"generated_from_span":null},"id":1956,"kind":{"Assign":[{"kind":{"Local":226},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":9621,"kind":{"StorageLive":298},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":9622,"kind":{"Assign":[{"kind":{"Local":298},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3744}},"Deref"]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":9623,"kind":{"StorageLive":299},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":9624,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":298},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":226},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":299},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":59}},"generated_from_span":null},"id":1959,"kind":{"Assign":[{"kind":{"Local":225},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":299},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":62},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1960,"kind":{"StorageLive":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":62},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1964,"kind":{"Assign":[{"kind":{"Local":227},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1965,"kind":{"Assign":[{"kind":{"Local":224},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":225},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":227},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1972,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":224},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":55},"end":{"line":162,"col":71}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1967,"kind":{"StorageDead":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1968,"kind":{"StorageDead":225},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1969,"kind":{"StorageDead":226},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1971,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1973,"kind":{"StorageDead":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":162,"col":70},"end":{"line":162,"col":71}},"generated_from_span":null},"id":1974,"kind":{"StorageDead":225},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1975,"kind":{"StorageDead":226},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1977,"kind":{"StorageDead":224},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1983,"kind":{"StorageDead":223},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":169,"col":12},"end":{"line":169,"col":19}},"generated_from_span":null},"id":1985,"kind":{"StorageLive":228},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":169,"col":22},"end":{"line":169,"col":31}},"generated_from_span":null},"id":1986,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":228},"ty":{"Deduplicated":1552}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":41}},"generated_from_span":null},"id":1987,"kind":{"StorageLive":229},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":33}},"generated_from_span":null},"id":1988,"kind":{"StorageLive":230},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":15},"end":{"line":171,"col":25}},"generated_from_span":null},"id":1989,"kind":{"StorageLive":231},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":16},"end":{"line":171,"col":18}},"generated_from_span":null},"id":1990,"kind":{"StorageLive":232},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":16},"end":{"line":171,"col":18}},"generated_from_span":null},"id":1991,"kind":{"Assign":[{"kind":{"Local":232},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":15},"end":{"line":171,"col":25}},"generated_from_span":null},"id":1995,"kind":{"Assign":[{"kind":{"Local":231},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":232},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":24},"end":{"line":171,"col":25}},"generated_from_span":null},"id":1996,"kind":{"StorageDead":232},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":33}},"generated_from_span":null},"id":1997,"kind":{"Assign":[{"kind":{"Local":230},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":231},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":32},"end":{"line":171,"col":33}},"generated_from_span":null},"id":1998,"kind":{"StorageDead":231},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":14},"end":{"line":171,"col":41}},"generated_from_span":null},"id":1999,"kind":{"Assign":[{"kind":{"Local":229},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":230},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":40},"end":{"line":171,"col":41}},"generated_from_span":null},"id":2000,"kind":{"StorageDead":230},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":8},"end":{"line":171,"col":41}},"generated_from_span":null},"id":2001,"kind":{"Assign":[{"kind":{"Local":233},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":229},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":8},"end":{"line":171,"col":41}},"generated_from_span":null},"id":2003,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":233},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":171,"col":40},"end":{"line":171,"col":41}},"generated_from_span":null},"id":2004,"kind":{"StorageDead":229},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":17},"end":{"line":172,"col":28}},"generated_from_span":null},"id":2005,"kind":{"StorageLive":234},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"id":2006,"kind":{"StorageLive":235},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":18},"end":{"line":172,"col":20}},"generated_from_span":null},"id":2007,"kind":{"Assign":[{"kind":{"Local":235},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":17},"end":{"line":172,"col":28}},"generated_from_span":null},"id":2008,"kind":{"Assign":[{"kind":{"Local":234},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":235},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":27},"end":{"line":172,"col":28}},"generated_from_span":null},"id":2009,"kind":{"StorageDead":235},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":12},"end":{"line":172,"col":13}},"generated_from_span":null},"id":2010,"kind":{"StorageLive":236},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":12},"end":{"line":172,"col":13}},"generated_from_span":null},"id":2011,"kind":{"Assign":[{"kind":{"Local":236},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":9801,"kind":{"StorageLive":388},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":9802,"kind":{"Assign":[{"kind":{"Local":388},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":9803,"kind":{"StorageLive":389},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":9804,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":388},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":236},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":389},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":8},"end":{"line":172,"col":46}},"generated_from_span":null},"id":2014,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":389},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":234},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":45},"end":{"line":172,"col":46}},"generated_from_span":null},"id":2015,"kind":{"StorageDead":234},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":172,"col":46},"end":{"line":172,"col":47}},"generated_from_span":null},"id":2016,"kind":{"StorageDead":236},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2017,"kind":{"StorageLive":237},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":33}},"generated_from_span":null},"id":2018,"kind":{"StorageLive":238},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":15},"end":{"line":174,"col":25}},"generated_from_span":null},"id":2019,"kind":{"StorageLive":239},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":16},"end":{"line":174,"col":18}},"generated_from_span":null},"id":2020,"kind":{"StorageLive":240},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":16},"end":{"line":174,"col":18}},"generated_from_span":null},"id":2021,"kind":{"Assign":[{"kind":{"Local":240},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":15},"end":{"line":174,"col":25}},"generated_from_span":null},"id":2025,"kind":{"Assign":[{"kind":{"Local":239},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":240},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":24},"end":{"line":174,"col":25}},"generated_from_span":null},"id":2026,"kind":{"StorageDead":240},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":33}},"generated_from_span":null},"id":2027,"kind":{"Assign":[{"kind":{"Local":238},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":239},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":32},"end":{"line":174,"col":33}},"generated_from_span":null},"id":2028,"kind":{"StorageDead":239},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":14},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2029,"kind":{"Assign":[{"kind":{"Local":237},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":238},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":40},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2030,"kind":{"StorageDead":238},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":8},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2031,"kind":{"Assign":[{"kind":{"Local":241},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":237},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":8},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2033,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":241},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":174,"col":40},"end":{"line":174,"col":41}},"generated_from_span":null},"id":2034,"kind":{"StorageDead":237},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":17},"end":{"line":175,"col":28}},"generated_from_span":null},"id":2035,"kind":{"StorageLive":242},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"id":2036,"kind":{"StorageLive":243},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":18},"end":{"line":175,"col":20}},"generated_from_span":null},"id":2037,"kind":{"Assign":[{"kind":{"Local":243},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":17},"end":{"line":175,"col":28}},"generated_from_span":null},"id":2038,"kind":{"Assign":[{"kind":{"Local":242},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":243},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":27},"end":{"line":175,"col":28}},"generated_from_span":null},"id":2039,"kind":{"StorageDead":243},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":12},"end":{"line":175,"col":13}},"generated_from_span":null},"id":2040,"kind":{"StorageLive":244},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":12},"end":{"line":175,"col":13}},"generated_from_span":null},"id":2041,"kind":{"Assign":[{"kind":{"Local":244},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":9805,"kind":{"StorageLive":390},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":9806,"kind":{"Assign":[{"kind":{"Local":390},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":9807,"kind":{"StorageLive":391},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":9808,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":390},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":244},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":391},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":8},"end":{"line":175,"col":46}},"generated_from_span":null},"id":2044,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":391},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":242},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":45},"end":{"line":175,"col":46}},"generated_from_span":null},"id":2045,"kind":{"StorageDead":242},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":175,"col":46},"end":{"line":175,"col":47}},"generated_from_span":null},"id":2046,"kind":{"StorageDead":244},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2047,"kind":{"StorageLive":245},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":33}},"generated_from_span":null},"id":2048,"kind":{"StorageLive":246},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":15},"end":{"line":177,"col":25}},"generated_from_span":null},"id":2049,"kind":{"StorageLive":247},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":16},"end":{"line":177,"col":18}},"generated_from_span":null},"id":2050,"kind":{"StorageLive":248},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":16},"end":{"line":177,"col":18}},"generated_from_span":null},"id":2051,"kind":{"Assign":[{"kind":{"Local":248},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":15},"end":{"line":177,"col":25}},"generated_from_span":null},"id":2055,"kind":{"Assign":[{"kind":{"Local":247},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":248},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":24},"end":{"line":177,"col":25}},"generated_from_span":null},"id":2056,"kind":{"StorageDead":248},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":33}},"generated_from_span":null},"id":2057,"kind":{"Assign":[{"kind":{"Local":246},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":247},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":32},"end":{"line":177,"col":33}},"generated_from_span":null},"id":2058,"kind":{"StorageDead":247},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":14},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2059,"kind":{"Assign":[{"kind":{"Local":245},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":246},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":40},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2060,"kind":{"StorageDead":246},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":8},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2061,"kind":{"Assign":[{"kind":{"Local":249},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":113},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":245},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":8},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2063,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":249},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":177,"col":40},"end":{"line":177,"col":41}},"generated_from_span":null},"id":2064,"kind":{"StorageDead":245},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":17},"end":{"line":178,"col":28}},"generated_from_span":null},"id":2065,"kind":{"StorageLive":250},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":18},"end":{"line":178,"col":20}},"generated_from_span":null},"id":2066,"kind":{"StorageLive":251},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":18},"end":{"line":178,"col":20}},"generated_from_span":null},"id":2067,"kind":{"Assign":[{"kind":{"Local":251},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":17},"end":{"line":178,"col":28}},"generated_from_span":null},"id":2068,"kind":{"Assign":[{"kind":{"Local":250},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":251},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":27},"end":{"line":178,"col":28}},"generated_from_span":null},"id":2069,"kind":{"StorageDead":251},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":12},"end":{"line":178,"col":13}},"generated_from_span":null},"id":2070,"kind":{"StorageLive":252},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":12},"end":{"line":178,"col":13}},"generated_from_span":null},"id":2071,"kind":{"Assign":[{"kind":{"Local":252},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":9809,"kind":{"StorageLive":392},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":9810,"kind":{"Assign":[{"kind":{"Local":392},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":9811,"kind":{"StorageLive":393},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":9812,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":392},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":252},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":393},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":8},"end":{"line":178,"col":46}},"generated_from_span":null},"id":2074,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":393},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":250},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":45},"end":{"line":178,"col":46}},"generated_from_span":null},"id":2075,"kind":{"StorageDead":250},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":178,"col":46},"end":{"line":178,"col":47}},"generated_from_span":null},"id":2076,"kind":{"StorageDead":252},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2077,"kind":{"StorageLive":253},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":33}},"generated_from_span":null},"id":2078,"kind":{"StorageLive":254},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":15},"end":{"line":180,"col":25}},"generated_from_span":null},"id":2079,"kind":{"StorageLive":255},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":16},"end":{"line":180,"col":18}},"generated_from_span":null},"id":2080,"kind":{"StorageLive":256},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":16},"end":{"line":180,"col":18}},"generated_from_span":null},"id":2081,"kind":{"Assign":[{"kind":{"Local":256},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":113},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":15},"end":{"line":180,"col":25}},"generated_from_span":null},"id":2085,"kind":{"Assign":[{"kind":{"Local":255},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":256},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":24},"end":{"line":180,"col":25}},"generated_from_span":null},"id":2086,"kind":{"StorageDead":256},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":33}},"generated_from_span":null},"id":2087,"kind":{"Assign":[{"kind":{"Local":254},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":255},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":32},"end":{"line":180,"col":33}},"generated_from_span":null},"id":2088,"kind":{"StorageDead":255},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":14},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2089,"kind":{"Assign":[{"kind":{"Local":253},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":254},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":40},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2090,"kind":{"StorageDead":254},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":8},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2091,"kind":{"Assign":[{"kind":{"Local":257},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":145},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":253},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":8},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2093,"kind":{"Assign":[{"kind":{"Local":145},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":257},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":180,"col":40},"end":{"line":180,"col":41}},"generated_from_span":null},"id":2094,"kind":{"StorageDead":253},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":17},"end":{"line":181,"col":28}},"generated_from_span":null},"id":2095,"kind":{"StorageLive":258},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"id":2096,"kind":{"StorageLive":259},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":18},"end":{"line":181,"col":20}},"generated_from_span":null},"id":2097,"kind":{"Assign":[{"kind":{"Local":259},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":113},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":17},"end":{"line":181,"col":28}},"generated_from_span":null},"id":2098,"kind":{"Assign":[{"kind":{"Local":258},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":259},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":27},"end":{"line":181,"col":28}},"generated_from_span":null},"id":2099,"kind":{"StorageDead":259},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":12},"end":{"line":181,"col":13}},"generated_from_span":null},"id":2100,"kind":{"StorageLive":260},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":12},"end":{"line":181,"col":13}},"generated_from_span":null},"id":2101,"kind":{"Assign":[{"kind":{"Local":260},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":9813,"kind":{"StorageLive":394},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":9814,"kind":{"Assign":[{"kind":{"Local":394},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":9815,"kind":{"StorageLive":395},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":9816,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":394},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":260},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":395},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":8},"end":{"line":181,"col":46}},"generated_from_span":null},"id":2104,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":395},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":258},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":45},"end":{"line":181,"col":46}},"generated_from_span":null},"id":2105,"kind":{"StorageDead":258},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":181,"col":46},"end":{"line":181,"col":47}},"generated_from_span":null},"id":2106,"kind":{"StorageDead":260},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":12},"end":{"line":183,"col":17}},"generated_from_span":null},"id":2107,"kind":{"StorageLive":261},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":25},"end":{"line":183,"col":35}},"generated_from_span":null},"id":2108,"kind":{"StorageLive":262},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":26},"end":{"line":183,"col":28}},"generated_from_span":null},"id":2109,"kind":{"StorageLive":263},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":26},"end":{"line":183,"col":28}},"generated_from_span":null},"id":2110,"kind":{"Assign":[{"kind":{"Local":263},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":145},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":25},"end":{"line":183,"col":35}},"generated_from_span":null},"id":2114,"kind":{"Assign":[{"kind":{"Local":262},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":263},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":34},"end":{"line":183,"col":35}},"generated_from_span":null},"id":2115,"kind":{"StorageDead":263},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":25},"end":{"line":183,"col":42}},"generated_from_span":null},"id":2116,"kind":{"Assign":[{"kind":{"Local":261},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":262},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":183,"col":41},"end":{"line":183,"col":42}},"generated_from_span":null},"id":2117,"kind":{"StorageDead":262},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":17},"end":{"line":184,"col":28}},"generated_from_span":null},"id":2118,"kind":{"StorageLive":264},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":18},"end":{"line":184,"col":20}},"generated_from_span":null},"id":2119,"kind":{"StorageLive":265},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":18},"end":{"line":184,"col":20}},"generated_from_span":null},"id":2120,"kind":{"Assign":[{"kind":{"Local":265},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":145},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":17},"end":{"line":184,"col":28}},"generated_from_span":null},"id":2121,"kind":{"Assign":[{"kind":{"Local":264},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":265},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":27},"end":{"line":184,"col":28}},"generated_from_span":null},"id":2122,"kind":{"StorageDead":265},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":12},"end":{"line":184,"col":13}},"generated_from_span":null},"id":2123,"kind":{"StorageLive":266},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":12},"end":{"line":184,"col":13}},"generated_from_span":null},"id":2124,"kind":{"Assign":[{"kind":{"Local":266},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":9817,"kind":{"StorageLive":396},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":9818,"kind":{"Assign":[{"kind":{"Local":396},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":9819,"kind":{"StorageLive":397},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":9820,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":396},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":266},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":397},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":8},"end":{"line":184,"col":46}},"generated_from_span":null},"id":2127,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":397},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":264},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":45},"end":{"line":184,"col":46}},"generated_from_span":null},"id":2128,"kind":{"StorageDead":264},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":184,"col":46},"end":{"line":184,"col":47}},"generated_from_span":null},"id":2129,"kind":{"StorageDead":266},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2130,"kind":{"StorageLive":267},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":23}},"generated_from_span":null},"id":2131,"kind":{"StorageLive":268},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":23}},"generated_from_span":null},"id":2132,"kind":{"Assign":[{"kind":{"Local":268},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":261},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2133,"kind":{"Assign":[{"kind":{"Local":269},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":268},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":18},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2135,"kind":{"Assign":[{"kind":{"Local":267},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":269},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":27},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2136,"kind":{"StorageDead":268},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":12},"end":{"line":201,"col":13}},"generated_from_span":null},"id":2137,"kind":{"StorageLive":270},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":12},"end":{"line":201,"col":13}},"generated_from_span":null},"id":2138,"kind":{"Assign":[{"kind":{"Local":270},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":9821,"kind":{"StorageLive":398},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":9822,"kind":{"Assign":[{"kind":{"Local":398},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":9823,"kind":{"StorageLive":399},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":9824,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":398},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":270},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":399},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2141,"kind":{"Assign":[{"kind":{"Local":271},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":399},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":267},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":9825,"kind":{"StorageLive":400},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":9826,"kind":{"Assign":[{"kind":{"Local":400},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":9827,"kind":{"StorageLive":401},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":9828,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":400},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":270},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":401},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":8},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2143,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":401},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":271},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":27},"end":{"line":201,"col":28}},"generated_from_span":null},"id":2144,"kind":{"StorageDead":267},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":201,"col":28},"end":{"line":201,"col":29}},"generated_from_span":null},"id":2145,"kind":{"StorageDead":270},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2146,"kind":{"StorageLive":272},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":2147,"kind":{"StorageLive":273},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":22},"end":{"line":204,"col":23}},"generated_from_span":null},"id":2148,"kind":{"StorageLive":274},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":22},"end":{"line":204,"col":23}},"generated_from_span":null},"id":2149,"kind":{"Assign":[{"kind":{"Local":274},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":9829,"kind":{"StorageLive":402},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":9830,"kind":{"Assign":[{"kind":{"Local":402},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":9831,"kind":{"StorageLive":403},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":9832,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":402},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":274},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":403},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":24}},"generated_from_span":null},"id":2152,"kind":{"Assign":[{"kind":{"Local":273},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":403},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":18},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2156,"kind":{"Assign":[{"kind":{"Local":272},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":273},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":29},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2157,"kind":{"StorageDead":273},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":12},"end":{"line":204,"col":13}},"generated_from_span":null},"id":2158,"kind":{"StorageLive":275},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":12},"end":{"line":204,"col":13}},"generated_from_span":null},"id":2159,"kind":{"Assign":[{"kind":{"Local":275},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":9833,"kind":{"StorageLive":404},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":9834,"kind":{"Assign":[{"kind":{"Local":404},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":9835,"kind":{"StorageLive":405},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":9836,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":404},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":275},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":405},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2162,"kind":{"Assign":[{"kind":{"Local":276},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":405},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":272},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":9837,"kind":{"StorageLive":406},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":9838,"kind":{"Assign":[{"kind":{"Local":406},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":9839,"kind":{"StorageLive":407},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":9840,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":406},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":275},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":407},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":8},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2164,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":407},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":276},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":29},"end":{"line":204,"col":30}},"generated_from_span":null},"id":2165,"kind":{"StorageDead":272},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":30},"end":{"line":204,"col":31}},"generated_from_span":null},"id":2166,"kind":{"StorageDead":275},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":204,"col":30},"end":{"line":204,"col":31}},"generated_from_span":null},"id":2167,"kind":{"StorageDead":274},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":12},"end":{"line":205,"col":13}},"generated_from_span":null},"id":2168,"kind":{"StorageLive":277},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":12},"end":{"line":205,"col":13}},"generated_from_span":null},"id":2169,"kind":{"Assign":[{"kind":{"Local":277},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":2172,"kind":{"StorageLive":279},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":9841,"kind":{"StorageLive":408},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":9842,"kind":{"Assign":[{"kind":{"Local":408},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":9843,"kind":{"StorageLive":409},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":9844,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":408},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":277},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":409},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":2173,"kind":{"Assign":[{"kind":{"Local":279},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":409},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":57,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":9845,"kind":{"StorageLive":410},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":9846,"kind":{"Assign":[{"kind":{"Local":410},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":228},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":9847,"kind":{"StorageLive":411},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":9848,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":410},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":277},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":411},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":8},"end":{"line":205,"col":33}},"generated_from_span":null},"id":2174,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":411},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":279},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":205,"col":33},"end":{"line":205,"col":34}},"generated_from_span":null},"id":2175,"kind":{"StorageDead":277},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":208,"col":23},"end":{"line":208,"col":26}},"generated_from_span":null},"id":2176,"kind":{"StorageLive":278},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":208,"col":23},"end":{"line":208,"col":26}},"generated_from_span":null},"id":2177,"kind":{"Assign":[{"kind":{"Local":278},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Local":228},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":208,"col":8},"end":{"line":208,"col":27}},"generated_from_span":null},"id":2178,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":278},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":208,"col":26},"end":{"line":208,"col":27}},"generated_from_span":null},"id":2179,"kind":{"StorageDead":278},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2180,"kind":{"StorageDead":261},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2181,"kind":{"StorageDead":228},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2182,"kind":{"StorageDead":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2183,"kind":{"StorageDead":113},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2184,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2185,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2186,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2187,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2188,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2189,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2190,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2191,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":4},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2192,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":209,"col":5},"end":{"line":209,"col":5}},"generated_from_span":null},"id":2193,"kind":"Return","comments_before":[]}]},"comments":[[114,["/ Helper function to multiply two 64-bit integers with 128","/ bits of output."]],[118,["Alias self, _rhs for more readable formulas"]],[126,["Precondition: assume input limbs a[i], b[i] are bounded as","","a[i], b[i] < 2^(51 + b)","","where b is a real parameter measuring the \"bit excess\" of the limbs."]],[134,["64-bit precomputations to avoid 128-bit multiplications.","","This fits into a u64 whenever 51 + b + lg(19) < 64.","","Since 51 + b + lg(19) < 51 + 4.25 + b"," = 55.25 + b,","this fits if b < 8.75."]],[140,["Multiply to get 128-bit coefficients of output"]],[158,["How big are the c[i]? We have",""," c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)"," < 2^(102 + lg(1 + 4*19) + 2*b)"," < 2^(108.27 + 2*b)","","The carry (c[i] >> 51) fits into a u64 when"," 108.27 + 2*b - 51 < 64"," 2*b < 6.73"," b < 3.365.","","So we require b < 3 to ensure this fits."]],[167,["Casting to u64 and back tells the compiler that the carry is","bounded by 2^64, so that the addition is a u128 + u64 rather","than u128 + u128."]],[201,["To see that this does not overflow, we need out[0] + carry * 19 < 2^64.","","c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)"," < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)"," < 2^(102 + 2*b + lg(5)) + 2^64.","","When b < 3 we get","","c4 < 2^110.33 so that carry < 2^59.33","","so that","","out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58","","and there is no overflow."]],[204,["Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon)."]],[208,["Now out[i] < 2^(51 + epsilon) for all i."]]]}}},{"def_id":27,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}},{"Ident":["neg",0]}],"span":{"data":{"file_id":5,"beg":{"line":214,"col":4},"end":{"line":218,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> FieldElement51 {\n let mut output = *self;\n output.negate();\n output\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":14,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10516},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":214,"col":4},"end":{"line":218,"col":5}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":214,"col":20},"end":{"line":214,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":214,"col":11},"end":{"line":214,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"output","span":{"data":{"file_id":5,"beg":{"line":215,"col":12},"end":{"line":215,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[3698,{"Ref":[{"Body":3},{"Deduplicated":1391},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":215,"col":12},"end":{"line":218,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":215,"col":12},"end":{"line":215,"col":22}},"generated_from_span":null},"id":2194,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":215,"col":25},"end":{"line":215,"col":30}},"generated_from_span":null},"id":2195,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":23}},"generated_from_span":null},"id":2196,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":14}},"generated_from_span":null},"id":2197,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":14}},"generated_from_span":null},"id":2198,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":3698}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":8},"end":{"line":216,"col":23}},"generated_from_span":null},"id":2199,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":32}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3698}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":22},"end":{"line":216,"col":23}},"generated_from_span":null},"id":2200,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":216,"col":23},"end":{"line":216,"col":24}},"generated_from_span":null},"id":2201,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":217,"col":8},"end":{"line":217,"col":14}},"generated_from_span":null},"id":2202,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":218,"col":4},"end":{"line":218,"col":5}},"generated_from_span":null},"id":2203,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":218,"col":5},"end":{"line":218,"col":5}},"generated_from_span":null},"id":2204,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":28,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":5,"beg":{"line":222,"col":4},"end":{"line":234,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(\n a: &FieldElement51,\n b: &FieldElement51,\n choice: Choice,\n ) -> FieldElement51 {\n FieldElement51([\n u64::conditional_select(&a.0[0], &b.0[0], choice),\n u64::conditional_select(&a.0[1], &b.0[1], choice),\n u64::conditional_select(&a.0[2], &b.0[2], choice),\n u64::conditional_select(&a.0[3], &b.0[3], choice),\n u64::conditional_select(&a.0[4], &b.0[4], choice),\n ])\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516},{"Deduplicated":10517},{"Deduplicated":1496}],"output":{"Deduplicated":1391}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":222,"col":4},"end":{"line":234,"col":5}},"generated_from_span":null},"bound_body_regions":44,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":226,"col":9},"end":{"line":226,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"a","span":{"data":{"file_id":5,"beg":{"line":223,"col":8},"end":{"line":223,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"b","span":{"data":{"file_id":5,"beg":{"line":224,"col":8},"end":{"line":224,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":3,"name":"choice","span":{"data":{"file_id":5,"beg":{"line":225,"col":8},"end":{"line":225,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":227,"col":23},"end":{"line":233,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":12},"end":{"line":228,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3791,{"Ref":[{"Body":4},{"Deduplicated":1550},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3792,{"Ref":[{"Body":5},{"Deduplicated":1550},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":41},"end":{"line":228,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3793,{"Ref":[{"Body":6},{"Deduplicated":1550},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3794,{"Ref":[{"Body":7},{"Deduplicated":1550},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":50},"end":{"line":228,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":228,"col":54},"end":{"line":228,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":12},"end":{"line":229,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3795,{"Ref":[{"Body":8},{"Deduplicated":1550},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3796,{"Ref":[{"Body":9},{"Deduplicated":1550},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":41},"end":{"line":229,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3797,{"Ref":[{"Body":10},{"Deduplicated":1550},"Shared"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3798,{"Ref":[{"Body":11},{"Deduplicated":1550},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":50},"end":{"line":229,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":229,"col":54},"end":{"line":229,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":12},"end":{"line":230,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3799,{"Ref":[{"Body":12},{"Deduplicated":1550},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3800,{"Ref":[{"Body":13},{"Deduplicated":1550},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":41},"end":{"line":230,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3801,{"Ref":[{"Body":14},{"Deduplicated":1550},"Shared"]}]}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3802,{"Ref":[{"Body":15},{"Deduplicated":1550},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":50},"end":{"line":230,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":230,"col":54},"end":{"line":230,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":12},"end":{"line":231,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3803,{"Ref":[{"Body":16},{"Deduplicated":1550},"Shared"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3804,{"Ref":[{"Body":17},{"Deduplicated":1550},"Shared"]}]}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":41},"end":{"line":231,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3805,{"Ref":[{"Body":18},{"Deduplicated":1550},"Shared"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3806,{"Ref":[{"Body":19},{"Deduplicated":1550},"Shared"]}]}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":50},"end":{"line":231,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":231,"col":54},"end":{"line":231,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":12},"end":{"line":232,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3807,{"Ref":[{"Body":20},{"Deduplicated":1550},"Shared"]}]}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3808,{"Ref":[{"Body":21},{"Deduplicated":1550},"Shared"]}]}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":41},"end":{"line":232,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3809,{"Ref":[{"Body":22},{"Deduplicated":1550},"Shared"]}]}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[3810,{"Ref":[{"Body":23},{"Deduplicated":1550},"Shared"]}]}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":50},"end":{"line":232,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":232,"col":54},"end":{"line":232,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":227,"col":8},"end":{"line":234,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":227,"col":23},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2215,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":12},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2216,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":2217,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":2218,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":41},"end":{"line":228,"col":42}},"generated_from_span":null},"id":2219,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":41},"end":{"line":228,"col":42}},"generated_from_span":null},"id":2220,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":9849,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":9850,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":9851,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":9852,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":2223,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3792}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":36},"end":{"line":228,"col":43}},"generated_from_span":null},"id":2224,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3791}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":3792}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":2225,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":2226,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":50},"end":{"line":228,"col":51}},"generated_from_span":null},"id":2227,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":50},"end":{"line":228,"col":51}},"generated_from_span":null},"id":2228,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":9853,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":9854,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":9855,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":9856,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":2231,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":48},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":45},"end":{"line":228,"col":52}},"generated_from_span":null},"id":2232,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3793}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":3794}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":54},"end":{"line":228,"col":60}},"generated_from_span":null},"id":2233,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":54},"end":{"line":228,"col":60}},"generated_from_span":null},"id":2234,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":12},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2235,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":3791}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":3793}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":60},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2236,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":60},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2237,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":228,"col":60},"end":{"line":228,"col":61}},"generated_from_span":null},"id":2238,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":12},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2239,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":2240,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":2241,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":41},"end":{"line":229,"col":42}},"generated_from_span":null},"id":2242,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":41},"end":{"line":229,"col":42}},"generated_from_span":null},"id":2243,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":9857,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":9858,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":9859,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":9860,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":2246,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":50},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":36},"end":{"line":229,"col":43}},"generated_from_span":null},"id":2247,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":3796}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":2248,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":2249,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":50},"end":{"line":229,"col":51}},"generated_from_span":null},"id":2250,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":50},"end":{"line":229,"col":51}},"generated_from_span":null},"id":2251,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":9861,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":9862,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":9863,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":9864,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":2254,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":3798}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":52},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":45},"end":{"line":229,"col":52}},"generated_from_span":null},"id":2255,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":3797}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":3798}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":54},"end":{"line":229,"col":60}},"generated_from_span":null},"id":2256,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":54},"end":{"line":229,"col":60}},"generated_from_span":null},"id":2257,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":12},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2258,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3795}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":3797}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":60},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2259,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":60},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2260,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":229,"col":60},"end":{"line":229,"col":61}},"generated_from_span":null},"id":2261,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":12},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2262,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":2263,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":2264,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":41},"end":{"line":230,"col":42}},"generated_from_span":null},"id":2265,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":41},"end":{"line":230,"col":42}},"generated_from_span":null},"id":2266,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":9865,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":9866,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":9867,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":9868,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":24},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":2269,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":3800}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":54},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":36},"end":{"line":230,"col":43}},"generated_from_span":null},"id":2270,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3799}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":23},"ty":{"Deduplicated":3800}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":2271,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":2272,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":50},"end":{"line":230,"col":51}},"generated_from_span":null},"id":2273,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":50},"end":{"line":230,"col":51}},"generated_from_span":null},"id":2274,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":9869,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":9870,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":9871,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":9872,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":2277,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":3802}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":56},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":45},"end":{"line":230,"col":52}},"generated_from_span":null},"id":2278,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":3801}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":3802}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":54},"end":{"line":230,"col":60}},"generated_from_span":null},"id":2279,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":54},"end":{"line":230,"col":60}},"generated_from_span":null},"id":2280,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":12},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2281,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":3799}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":3801}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":60},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2282,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":60},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2283,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":230,"col":60},"end":{"line":230,"col":61}},"generated_from_span":null},"id":2284,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":12},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2285,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":2286,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":2287,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":41},"end":{"line":231,"col":42}},"generated_from_span":null},"id":2288,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":41},"end":{"line":231,"col":42}},"generated_from_span":null},"id":2289,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":9873,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":9874,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":9875,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":9876,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":32},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":2292,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":3804}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":58},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":36},"end":{"line":231,"col":43}},"generated_from_span":null},"id":2293,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":3803}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":31},"ty":{"Deduplicated":3804}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":2294,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":2295,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":50},"end":{"line":231,"col":51}},"generated_from_span":null},"id":2296,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":50},"end":{"line":231,"col":51}},"generated_from_span":null},"id":2297,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":9877,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":9878,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":9879,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":9880,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":2300,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":3806}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":45},"end":{"line":231,"col":52}},"generated_from_span":null},"id":2301,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3805}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":3806}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":54},"end":{"line":231,"col":60}},"generated_from_span":null},"id":2302,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":54},"end":{"line":231,"col":60}},"generated_from_span":null},"id":2303,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":12},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2304,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":3803}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":3805}}},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":60},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2305,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":60},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2306,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":231,"col":60},"end":{"line":231,"col":61}},"generated_from_span":null},"id":2307,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":12},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2308,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":2309,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":2310,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":41},"end":{"line":232,"col":42}},"generated_from_span":null},"id":2311,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":41},"end":{"line":232,"col":42}},"generated_from_span":null},"id":2312,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":9881,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":9882,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":9883,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":9884,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":62},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":2315,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":3808}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":62},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":36},"end":{"line":232,"col":43}},"generated_from_span":null},"id":2316,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":3807}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":39},"ty":{"Deduplicated":3808}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":2317,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":2318,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":50},"end":{"line":232,"col":51}},"generated_from_span":null},"id":2319,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":50},"end":{"line":232,"col":51}},"generated_from_span":null},"id":2320,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":9885,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":9886,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":9887,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":9888,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":64},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":2323,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":3810}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":64},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":45},"end":{"line":232,"col":52}},"generated_from_span":null},"id":2324,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":3809}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":3810}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":54},"end":{"line":232,"col":60}},"generated_from_span":null},"id":2325,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":54},"end":{"line":232,"col":60}},"generated_from_span":null},"id":2326,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":12},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2327,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":155}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":3807}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":3809}}},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":60},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2328,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":60},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2329,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":232,"col":60},"end":{"line":232,"col":61}},"generated_from_span":null},"id":2330,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":227,"col":23},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2331,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2332,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2333,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2334,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2335,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":8},"end":{"line":233,"col":9}},"generated_from_span":null},"id":2336,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":227,"col":8},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2337,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2338,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2339,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2340,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2341,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2342,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2343,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2344,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2345,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2346,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2347,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2348,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2349,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2350,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2351,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2352,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2353,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2354,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2355,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2356,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2357,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":233,"col":9},"end":{"line":233,"col":10}},"generated_from_span":null},"id":2358,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":234,"col":5},"end":{"line":234,"col":5}},"generated_from_span":null},"id":2359,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":29,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":5,"beg":{"line":244,"col":4},"end":{"line":250,"col":5}},"generated_from_span":null},"source_text":"fn conditional_assign(&mut self, other: &FieldElement51, choice: Choice) {\n self.0[0].conditional_assign(&other.0[0], choice);\n self.0[1].conditional_assign(&other.0[1], choice);\n self.0[2].conditional_assign(&other.0[2], choice);\n self.0[3].conditional_assign(&other.0[3], choice);\n self.0[4].conditional_assign(&other.0[4], choice);\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10654,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1391},"Mut"]}]},{"Deduplicated":10517},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":244,"col":4},"end":{"line":250,"col":5}},"generated_from_span":null},"bound_body_regions":41,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":244,"col":76},"end":{"line":244,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":244,"col":26},"end":{"line":244,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"other","span":{"data":{"file_id":5,"beg":{"line":244,"col":37},"end":{"line":244,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":3,"name":"choice","span":{"data":{"file_id":5,"beg":{"line":244,"col":61},"end":{"line":244,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3837,{"Ref":[{"Body":5},{"Deduplicated":1550},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":15},"end":{"line":245,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3794}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3795}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":46},"end":{"line":245,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":245,"col":50},"end":{"line":245,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3838,{"Ref":[{"Body":9},{"Deduplicated":1550},"Mut"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":15},"end":{"line":246,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3797}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3798}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":46},"end":{"line":246,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":246,"col":50},"end":{"line":246,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3839,{"Ref":[{"Body":12},{"Deduplicated":1550},"Mut"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":15},"end":{"line":247,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3800}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3801}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":46},"end":{"line":247,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":247,"col":50},"end":{"line":247,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3840,{"Ref":[{"Body":15},{"Deduplicated":1550},"Mut"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":15},"end":{"line":248,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3803}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3804}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":46},"end":{"line":248,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":248,"col":50},"end":{"line":248,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[3841,{"Ref":[{"Body":18},{"Deduplicated":1550},"Mut"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":15},"end":{"line":249,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3806}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":3807}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":46},"end":{"line":249,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":249,"col":50},"end":{"line":249,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":39,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2370,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2371,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":2372,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":15},"end":{"line":245,"col":16}},"generated_from_span":null},"id":2373,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":15},"end":{"line":245,"col":16}},"generated_from_span":null},"id":2374,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":9889,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":9890,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":9891,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":9892,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":40},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":17}},"generated_from_span":null},"id":2377,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3837}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":40},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":2378,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":2379,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":46},"end":{"line":245,"col":47}},"generated_from_span":null},"id":2380,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":46},"end":{"line":245,"col":47}},"generated_from_span":null},"id":2381,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":9893,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":9894,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":9895,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":9896,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":42},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":2384,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":37},"end":{"line":245,"col":48}},"generated_from_span":null},"id":2385,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":3795}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":50},"end":{"line":245,"col":56}},"generated_from_span":null},"id":2386,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":50},"end":{"line":245,"col":56}},"generated_from_span":null},"id":2387,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":8},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2388,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":23},{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3837}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3794}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":56},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2389,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":56},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2390,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":56},"end":{"line":245,"col":57}},"generated_from_span":null},"id":2391,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":57},"end":{"line":245,"col":58}},"generated_from_span":null},"id":2392,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":57},"end":{"line":245,"col":58}},"generated_from_span":null},"id":2393,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":57},"end":{"line":245,"col":58}},"generated_from_span":null},"id":2394,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":245,"col":57},"end":{"line":245,"col":58}},"generated_from_span":null},"id":2395,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2396,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":2397,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":15},"end":{"line":246,"col":16}},"generated_from_span":null},"id":2398,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":15},"end":{"line":246,"col":16}},"generated_from_span":null},"id":2399,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":9897,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":9898,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":9899,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":9900,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":44},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":17}},"generated_from_span":null},"id":2402,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3838}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":44},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":2403,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":2404,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":46},"end":{"line":246,"col":47}},"generated_from_span":null},"id":2405,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":46},"end":{"line":246,"col":47}},"generated_from_span":null},"id":2406,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":9901,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":9902,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":9903,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":9904,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":2409,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3798}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":37},"end":{"line":246,"col":48}},"generated_from_span":null},"id":2410,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3797}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":3798}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":50},"end":{"line":246,"col":56}},"generated_from_span":null},"id":2411,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":50},"end":{"line":246,"col":56}},"generated_from_span":null},"id":2412,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":8},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2413,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":27},{"Body":28}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3838}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3797}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":56},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2414,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":56},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2415,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":56},"end":{"line":246,"col":57}},"generated_from_span":null},"id":2416,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":57},"end":{"line":246,"col":58}},"generated_from_span":null},"id":2417,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":57},"end":{"line":246,"col":58}},"generated_from_span":null},"id":2418,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":57},"end":{"line":246,"col":58}},"generated_from_span":null},"id":2419,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":246,"col":57},"end":{"line":246,"col":58}},"generated_from_span":null},"id":2420,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2421,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":2422,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":15},"end":{"line":247,"col":16}},"generated_from_span":null},"id":2423,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":15},"end":{"line":247,"col":16}},"generated_from_span":null},"id":2424,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":9905,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":9906,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":9907,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":9908,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":17}},"generated_from_span":null},"id":2427,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":3839}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":48},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":2428,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":2429,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":46},"end":{"line":247,"col":47}},"generated_from_span":null},"id":2430,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":46},"end":{"line":247,"col":47}},"generated_from_span":null},"id":2431,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":9909,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":9910,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":9911,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":9912,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":2434,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3801}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":50},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":37},"end":{"line":247,"col":48}},"generated_from_span":null},"id":2435,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3800}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":3801}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":50},"end":{"line":247,"col":56}},"generated_from_span":null},"id":2436,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":50},"end":{"line":247,"col":56}},"generated_from_span":null},"id":2437,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":8},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2438,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":31},{"Body":32}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3839}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":3800}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":56},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2439,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":56},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2440,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":56},"end":{"line":247,"col":57}},"generated_from_span":null},"id":2441,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":57},"end":{"line":247,"col":58}},"generated_from_span":null},"id":2442,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":57},"end":{"line":247,"col":58}},"generated_from_span":null},"id":2443,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":57},"end":{"line":247,"col":58}},"generated_from_span":null},"id":2444,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":247,"col":57},"end":{"line":247,"col":58}},"generated_from_span":null},"id":2445,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2446,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":2447,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":15},"end":{"line":248,"col":16}},"generated_from_span":null},"id":2448,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":15},"end":{"line":248,"col":16}},"generated_from_span":null},"id":2449,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":9913,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":9914,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":9915,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":9916,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":17}},"generated_from_span":null},"id":2452,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":3840}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":52},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":2453,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":2454,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":46},"end":{"line":248,"col":47}},"generated_from_span":null},"id":2455,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":46},"end":{"line":248,"col":47}},"generated_from_span":null},"id":2456,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":9917,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":9918,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":9919,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":9920,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":30},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":2459,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":3804}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":54},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":37},"end":{"line":248,"col":48}},"generated_from_span":null},"id":2460,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":3803}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":3804}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":50},"end":{"line":248,"col":56}},"generated_from_span":null},"id":2461,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":50},"end":{"line":248,"col":56}},"generated_from_span":null},"id":2462,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":8},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2463,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":3840}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":3803}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":25},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":56},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2464,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":56},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2465,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":56},"end":{"line":248,"col":57}},"generated_from_span":null},"id":2466,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":57},"end":{"line":248,"col":58}},"generated_from_span":null},"id":2467,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":57},"end":{"line":248,"col":58}},"generated_from_span":null},"id":2468,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":57},"end":{"line":248,"col":58}},"generated_from_span":null},"id":2469,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":248,"col":57},"end":{"line":248,"col":58}},"generated_from_span":null},"id":2470,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2471,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":2472,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":15},"end":{"line":249,"col":16}},"generated_from_span":null},"id":2473,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":15},"end":{"line":249,"col":16}},"generated_from_span":null},"id":2474,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":9921,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":9922,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":9923,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":9924,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":17}},"generated_from_span":null},"id":2477,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3841}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":56},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":2478,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":2479,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":46},"end":{"line":249,"col":47}},"generated_from_span":null},"id":2480,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":46},"end":{"line":249,"col":47}},"generated_from_span":null},"id":2481,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":9925,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":9926,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":9927,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":9928,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":2484,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":3807}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":58},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":37},"end":{"line":249,"col":48}},"generated_from_span":null},"id":2485,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":3806}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":36},"ty":{"Deduplicated":3807}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":50},"end":{"line":249,"col":56}},"generated_from_span":null},"id":2486,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":50},"end":{"line":249,"col":56}},"generated_from_span":null},"id":2487,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":8},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2488,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":156}},"generics":{"regions":[{"Body":39},{"Body":40}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":3841}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":3806}}},{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":56},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2489,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":56},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2490,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":56},"end":{"line":249,"col":57}},"generated_from_span":null},"id":2491,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":57},"end":{"line":249,"col":58}},"generated_from_span":null},"id":2492,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":57},"end":{"line":249,"col":58}},"generated_from_span":null},"id":2493,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":57},"end":{"line":249,"col":58}},"generated_from_span":null},"id":2494,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":249,"col":57},"end":{"line":249,"col":58}},"generated_from_span":null},"id":2495,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":244,"col":77},"end":{"line":250,"col":5}},"generated_from_span":null},"id":2496,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":250,"col":5},"end":{"line":250,"col":5}},"generated_from_span":null},"id":2497,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":30,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":5,"beg":{"line":236,"col":4},"end":{"line":242,"col":5}},"generated_from_span":null},"source_text":"fn conditional_swap(a: &mut FieldElement51, b: &mut FieldElement51, choice: Choice) {\n u64::conditional_swap(&mut a.0[0], &mut b.0[0], choice);\n u64::conditional_swap(&mut a.0[1], &mut b.0[1], choice);\n u64::conditional_swap(&mut a.0[2], &mut b.0[2], choice);\n u64::conditional_swap(&mut a.0[3], &mut b.0[3], choice);\n u64::conditional_swap(&mut a.0[4], &mut b.0[4], choice);\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10654},{"Deduplicated":10653},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":236,"col":4},"end":{"line":242,"col":5}},"generated_from_span":null},"bound_body_regions":44,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":236,"col":87},"end":{"line":236,"col":87}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"a","span":{"data":{"file_id":5,"beg":{"line":236,"col":24},"end":{"line":236,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"b","span":{"data":{"file_id":5,"beg":{"line":236,"col":48},"end":{"line":236,"col":49}},"generated_from_span":null},"ty":{"HashConsedValue":[3788,{"Ref":[{"Body":2},{"Deduplicated":1391},"Mut"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":5,"beg":{"line":236,"col":72},"end":{"line":236,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":8},"end":{"line":237,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3836,{"Ref":[{"Body":4},{"Deduplicated":1550},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3837}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":39},"end":{"line":237,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3844,{"Ref":[{"Body":6},{"Deduplicated":1550},"Mut"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3845,{"Ref":[{"Body":7},{"Deduplicated":1550},"Mut"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":52},"end":{"line":237,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":237,"col":56},"end":{"line":237,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":8},"end":{"line":238,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3846,{"Ref":[{"Body":8},{"Deduplicated":1550},"Mut"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3838}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":39},"end":{"line":238,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3847,{"Ref":[{"Body":10},{"Deduplicated":1550},"Mut"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3848,{"Ref":[{"Body":11},{"Deduplicated":1550},"Mut"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":52},"end":{"line":238,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":238,"col":56},"end":{"line":238,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":8},"end":{"line":239,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3839}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3849,{"Ref":[{"Body":13},{"Deduplicated":1550},"Mut"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":39},"end":{"line":239,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3850,{"Ref":[{"Body":14},{"Deduplicated":1550},"Mut"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":3840}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":52},"end":{"line":239,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":239,"col":56},"end":{"line":239,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":8},"end":{"line":240,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3851,{"Ref":[{"Body":16},{"Deduplicated":1550},"Mut"]}]}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3852,{"Ref":[{"Body":17},{"Deduplicated":1550},"Mut"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":39},"end":{"line":240,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":3841}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3853,{"Ref":[{"Body":19},{"Deduplicated":1550},"Mut"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":52},"end":{"line":240,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":240,"col":56},"end":{"line":240,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":8},"end":{"line":241,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3854,{"Ref":[{"Body":20},{"Deduplicated":1550},"Mut"]}]}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[3855,{"Ref":[{"Body":21},{"Deduplicated":1550},"Mut"]}]}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":39},"end":{"line":241,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3856,{"Ref":[{"Body":22},{"Deduplicated":1550},"Mut"]}]}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[3857,{"Ref":[{"Body":23},{"Deduplicated":1550},"Mut"]}]}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":52},"end":{"line":241,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":241,"col":56},"end":{"line":241,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2508,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":8},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2509,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":2510,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":2511,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":39},"end":{"line":237,"col":40}},"generated_from_span":null},"id":2512,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":39},"end":{"line":237,"col":40}},"generated_from_span":null},"id":2513,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":9929,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":9930,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":9931,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":9932,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":45},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":2516,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3837}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":45},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":30},"end":{"line":237,"col":41}},"generated_from_span":null},"id":2517,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3836}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":3837}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":2518,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":2519,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":52},"end":{"line":237,"col":53}},"generated_from_span":null},"id":2520,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":52},"end":{"line":237,"col":53}},"generated_from_span":null},"id":2521,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":9933,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":9934,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":9935,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":9936,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":2524,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3845}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":47},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":43},"end":{"line":237,"col":54}},"generated_from_span":null},"id":2525,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3844}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":3845}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":56},"end":{"line":237,"col":62}},"generated_from_span":null},"id":2526,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":56},"end":{"line":237,"col":62}},"generated_from_span":null},"id":2527,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":8},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2528,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3836}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3844}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":62},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2529,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":62},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2530,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":62},"end":{"line":237,"col":63}},"generated_from_span":null},"id":2531,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2532,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2533,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2534,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2535,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":237,"col":63},"end":{"line":237,"col":64}},"generated_from_span":null},"id":2536,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":8},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2537,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":2538,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":2539,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":39},"end":{"line":238,"col":40}},"generated_from_span":null},"id":2540,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":39},"end":{"line":238,"col":40}},"generated_from_span":null},"id":2541,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":9937,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":9938,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":9939,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":9940,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":49},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":2544,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3838}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":49},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":30},"end":{"line":238,"col":41}},"generated_from_span":null},"id":2545,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":3846}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":3838}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":2546,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":2547,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":52},"end":{"line":238,"col":53}},"generated_from_span":null},"id":2548,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":52},"end":{"line":238,"col":53}},"generated_from_span":null},"id":2549,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":9941,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":9942,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":9943,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":9944,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":51},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":2552,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":3848}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":51},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":43},"end":{"line":238,"col":54}},"generated_from_span":null},"id":2553,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":3847}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":3848}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":56},"end":{"line":238,"col":62}},"generated_from_span":null},"id":2554,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":56},"end":{"line":238,"col":62}},"generated_from_span":null},"id":2555,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":8},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2556,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":3846}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":3847}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":62},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2557,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":62},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2558,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":62},"end":{"line":238,"col":63}},"generated_from_span":null},"id":2559,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2560,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2561,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2562,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2563,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":238,"col":63},"end":{"line":238,"col":64}},"generated_from_span":null},"id":2564,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":8},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2565,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":2566,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":2567,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":39},"end":{"line":239,"col":40}},"generated_from_span":null},"id":2568,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":39},"end":{"line":239,"col":40}},"generated_from_span":null},"id":2569,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":9945,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":9946,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":9947,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":9948,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":53},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":2572,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3849}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":53},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":30},"end":{"line":239,"col":41}},"generated_from_span":null},"id":2573,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3839}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":3849}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":2574,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":2575,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":52},"end":{"line":239,"col":53}},"generated_from_span":null},"id":2576,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":52},"end":{"line":239,"col":53}},"generated_from_span":null},"id":2577,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":9949,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":9950,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":9951,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":9952,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":55},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":2580,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":3840}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":55},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":43},"end":{"line":239,"col":54}},"generated_from_span":null},"id":2581,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":3850}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":3840}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":56},"end":{"line":239,"col":62}},"generated_from_span":null},"id":2582,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":56},"end":{"line":239,"col":62}},"generated_from_span":null},"id":2583,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":8},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2584,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":3839}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":3850}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":62},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2585,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":62},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2586,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":62},"end":{"line":239,"col":63}},"generated_from_span":null},"id":2587,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2588,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2589,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2590,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2591,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":239,"col":63},"end":{"line":239,"col":64}},"generated_from_span":null},"id":2592,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":8},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2593,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":2594,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":2595,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":39},"end":{"line":240,"col":40}},"generated_from_span":null},"id":2596,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":39},"end":{"line":240,"col":40}},"generated_from_span":null},"id":2597,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":9953,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":9954,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":9955,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":9956,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":57},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":2600,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":3852}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":30},"end":{"line":240,"col":41}},"generated_from_span":null},"id":2601,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":3851}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":3852}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":2602,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":2603,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":52},"end":{"line":240,"col":53}},"generated_from_span":null},"id":2604,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":52},"end":{"line":240,"col":53}},"generated_from_span":null},"id":2605,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":9957,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":9958,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":9959,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":9960,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":59},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":2608,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3853}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":43},"end":{"line":240,"col":54}},"generated_from_span":null},"id":2609,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":3841}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":33},"ty":{"Deduplicated":3853}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":56},"end":{"line":240,"col":62}},"generated_from_span":null},"id":2610,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":56},"end":{"line":240,"col":62}},"generated_from_span":null},"id":2611,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":8},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2612,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":3851}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":3841}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":62},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2613,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":62},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2614,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":62},"end":{"line":240,"col":63}},"generated_from_span":null},"id":2615,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2616,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2617,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2618,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2619,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":240,"col":63},"end":{"line":240,"col":64}},"generated_from_span":null},"id":2620,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":8},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2621,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":2622,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":2623,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":39},"end":{"line":241,"col":40}},"generated_from_span":null},"id":2624,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":39},"end":{"line":241,"col":40}},"generated_from_span":null},"id":2625,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":9961,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":9962,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":9963,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":9964,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":2628,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":3855}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":30},"end":{"line":241,"col":41}},"generated_from_span":null},"id":2629,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":3854}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":3855}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":2630,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":2631,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":52},"end":{"line":241,"col":53}},"generated_from_span":null},"id":2632,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":52},"end":{"line":241,"col":53}},"generated_from_span":null},"id":2633,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":9965,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":9966,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3788}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":9967,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":9968,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":63},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":2636,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":3857}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":43},"end":{"line":241,"col":54}},"generated_from_span":null},"id":2637,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":3856}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":41},"ty":{"Deduplicated":3857}},"Deref"]},"ty":{"Deduplicated":1550}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":56},"end":{"line":241,"col":62}},"generated_from_span":null},"id":2638,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":56},"end":{"line":241,"col":62}},"generated_from_span":null},"id":2639,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":8},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2640,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":157}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":3854}}},{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":3856}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":36},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":62},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2641,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":62},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2642,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":62},"end":{"line":241,"col":63}},"generated_from_span":null},"id":2643,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2644,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2645,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2646,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2647,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":241,"col":63},"end":{"line":241,"col":64}},"generated_from_span":null},"id":2648,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":236,"col":88},"end":{"line":242,"col":5}},"generated_from_span":null},"id":2649,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":242,"col":5},"end":{"line":242,"col":5}},"generated_from_span":null},"id":2650,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":31,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_limbs",0]}],"span":{"data":{"file_id":5,"beg":{"line":254,"col":4},"end":{"line":256,"col":5}},"generated_from_span":null},"source_text":"pub(crate) const fn from_limbs(limbs: [u64; 5]) -> FieldElement51 {\n FieldElement51(limbs)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1552}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":254,"col":4},"end":{"line":256,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":254,"col":55},"end":{"line":254,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"limbs","span":{"data":{"file_id":5,"beg":{"line":254,"col":35},"end":{"line":254,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":255,"col":23},"end":{"line":255,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":255,"col":8},"end":{"line":256,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":255,"col":23},"end":{"line":255,"col":28}},"generated_from_span":null},"id":2651,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":255,"col":23},"end":{"line":255,"col":28}},"generated_from_span":null},"id":2652,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":255,"col":8},"end":{"line":255,"col":29}},"generated_from_span":null},"id":2653,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":255,"col":28},"end":{"line":255,"col":29}},"generated_from_span":null},"id":2654,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":256,"col":5},"end":{"line":256,"col":5}},"generated_from_span":null},"id":2655,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":32,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["negate",0]}],"span":{"data":{"file_id":5,"beg":{"line":272,"col":4},"end":{"line":282,"col":5}},"generated_from_span":null},"source_text":"pub fn negate(&mut self) {\n // See commentary in the Sub impl\n let neg = FieldElement51::reduce([\n 36028797018963664u64 - self.0[0],\n 36028797018963952u64 - self.0[1],\n 36028797018963952u64 - self.0[2],\n 36028797018963952u64 - self.0[3],\n 36028797018963952u64 - self.0[4],\n ]);\n self.0 = neg.0;\n }","attr_info":{"attributes":[{"DocComment":" Invert the sign of this field element"}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10654}],"output":{"Deduplicated":1443}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":272,"col":4},"end":{"line":282,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":272,"col":28},"end":{"line":272,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":272,"col":18},"end":{"line":272,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3479}},{"index":2,"name":"neg","span":{"data":{"file_id":5,"beg":{"line":274,"col":12},"end":{"line":274,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":274,"col":41},"end":{"line":280,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":275,"col":42},"end":{"line":275,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":276,"col":42},"end":{"line":276,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":277,"col":42},"end":{"line":277,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":278,"col":42},"end":{"line":278,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":279,"col":42},"end":{"line":279,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":281,"col":17},"end":{"line":281,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":25,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":26,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":32,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":34,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2657,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2659,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2661,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2663,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2665,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2666,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":274,"col":12},"end":{"line":274,"col":15}},"generated_from_span":null},"id":2667,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":274,"col":41},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2668,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2669,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2670,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":42},"end":{"line":275,"col":43}},"generated_from_span":null},"id":2671,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":42},"end":{"line":275,"col":43}},"generated_from_span":null},"id":2672,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["See commentary in the Sub impl"]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":9969,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":9970,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":9971,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":9972,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":26},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":35},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2675,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2676,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963664"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":12},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2678,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":275,"col":43},"end":{"line":275,"col":44}},"generated_from_span":null},"id":2679,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2680,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2681,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":42},"end":{"line":276,"col":43}},"generated_from_span":null},"id":2682,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":42},"end":{"line":276,"col":43}},"generated_from_span":null},"id":2683,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":9973,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":9974,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":9975,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":9976,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":35},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2686,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2687,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":12},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2689,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":276,"col":43},"end":{"line":276,"col":44}},"generated_from_span":null},"id":2690,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2691,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2692,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":42},"end":{"line":277,"col":43}},"generated_from_span":null},"id":2693,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":42},"end":{"line":277,"col":43}},"generated_from_span":null},"id":2694,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":9977,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":9978,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":9979,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":9980,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":30},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":35},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2697,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2698,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":12},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2700,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":277,"col":43},"end":{"line":277,"col":44}},"generated_from_span":null},"id":2701,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2702,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2703,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":42},"end":{"line":278,"col":43}},"generated_from_span":null},"id":2704,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":42},"end":{"line":278,"col":43}},"generated_from_span":null},"id":2705,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":9981,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":9982,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":9983,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":9984,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":35},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2708,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":32},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2709,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":12},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2711,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":278,"col":43},"end":{"line":278,"col":44}},"generated_from_span":null},"id":2712,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2713,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2714,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":42},"end":{"line":279,"col":43}},"generated_from_span":null},"id":2715,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":42},"end":{"line":279,"col":43}},"generated_from_span":null},"id":2716,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":9985,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":9986,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":9987,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":9988,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":34},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":35},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2719,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2720,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","36028797018963952"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":12},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2722,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":279,"col":43},"end":{"line":279,"col":44}},"generated_from_span":null},"id":2723,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":274,"col":41},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2724,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2725,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2726,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2727,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2728,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":8},"end":{"line":280,"col":9}},"generated_from_span":null},"id":2729,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":274,"col":18},"end":{"line":280,"col":10}},"generated_from_span":null},"id":2730,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":33}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":9},"end":{"line":280,"col":10}},"generated_from_span":null},"id":2731,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2732,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2733,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2734,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2735,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":280,"col":10},"end":{"line":280,"col":11}},"generated_from_span":null},"id":2736,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":281,"col":17},"end":{"line":281,"col":22}},"generated_from_span":null},"id":2737,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":281,"col":17},"end":{"line":281,"col":22}},"generated_from_span":null},"id":2738,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":281,"col":8},"end":{"line":281,"col":22}},"generated_from_span":null},"id":2739,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3479}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":281,"col":21},"end":{"line":281,"col":22}},"generated_from_span":null},"id":2740,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":272,"col":29},"end":{"line":282,"col":5}},"generated_from_span":null},"id":2741,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":282,"col":4},"end":{"line":282,"col":5}},"generated_from_span":null},"id":2742,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":282,"col":5},"end":{"line":282,"col":5}},"generated_from_span":null},"id":2743,"kind":"Return","comments_before":[]}]},"comments":[[274,["See commentary in the Sub impl"]]]}}},{"def_id":33,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]}],"span":{"data":{"file_id":5,"beg":{"line":286,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"source_text":"fn reduce(mut limbs: [u64; 5]) -> FieldElement51 {\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n\n // Since the input limbs are bounded by 2^64, the biggest\n // carry-out is bounded by 2^13.\n //\n // The biggest carry-in is c4 * 19, resulting in\n //\n // 2^51 + 19*2^13 < 2^51.0000000001\n //\n // Because we don't need to canonicalize, only to reduce the\n // limb sizes, it's OK to do a \"weak reduction\", where we\n // compute the carry-outs in parallel.\n\n let c0 = limbs[0] >> 51;\n let c1 = limbs[1] >> 51;\n let c2 = limbs[2] >> 51;\n let c3 = limbs[3] >> 51;\n let c4 = limbs[4] >> 51;\n\n limbs[0] &= LOW_51_BIT_MASK;\n limbs[1] &= LOW_51_BIT_MASK;\n limbs[2] &= LOW_51_BIT_MASK;\n limbs[3] &= LOW_51_BIT_MASK;\n limbs[4] &= LOW_51_BIT_MASK;\n\n limbs[0] += c4 * 19;\n limbs[1] += c0;\n limbs[2] += c1;\n limbs[3] += c2;\n limbs[4] += c3;\n\n FieldElement51(limbs)\n }","attr_info":{"attributes":[{"DocComment":" Given 64-bit input limbs, reduce to enforce the bound 2^(51 + epsilon)."}],"inline":"Always","rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1552}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":286,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":286,"col":38},"end":{"line":286,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"limbs","span":{"data":{"file_id":5,"beg":{"line":286,"col":14},"end":{"line":286,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":2,"name":"c0","span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":300,"col":23},"end":{"line":300,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":5,"name":"c1","span":{"data":{"file_id":5,"beg":{"line":301,"col":12},"end":{"line":301,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":301,"col":23},"end":{"line":301,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":8,"name":"c2","span":{"data":{"file_id":5,"beg":{"line":302,"col":12},"end":{"line":302,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":302,"col":23},"end":{"line":302,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":"c3","span":{"data":{"file_id":5,"beg":{"line":303,"col":12},"end":{"line":303,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":303,"col":23},"end":{"line":303,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":"c4","span":{"data":{"file_id":5,"beg":{"line":304,"col":12},"end":{"line":304,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":304,"col":23},"end":{"line":304,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":306,"col":14},"end":{"line":306,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":307,"col":14},"end":{"line":307,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":308,"col":14},"end":{"line":308,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":309,"col":14},"end":{"line":309,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":310,"col":14},"end":{"line":310,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":14},"end":{"line":312,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":313,"col":20},"end":{"line":313,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":313,"col":14},"end":{"line":313,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":314,"col":20},"end":{"line":314,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":314,"col":14},"end":{"line":314,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":315,"col":20},"end":{"line":315,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":315,"col":14},"end":{"line":315,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":316,"col":20},"end":{"line":316,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":316,"col":14},"end":{"line":316,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":318,"col":23},"end":{"line":318,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":66,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":69,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":70,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":71,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":72,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":73,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":74,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":75,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":76,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":77,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":78,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":79,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":80,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":81,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":82,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":83,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":84,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":85,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":86,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":87,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":88,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":89,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":90,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":91,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":92,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":93,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":94,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":319,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2764,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2766,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2768,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2770,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2772,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2774,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":12},"end":{"line":300,"col":14}},"generated_from_span":null},"id":2775,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":2776,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":23},"end":{"line":300,"col":24}},"generated_from_span":null},"id":2777,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":23},"end":{"line":300,"col":24}},"generated_from_span":null},"id":2778,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Since the input limbs are bounded by 2^64, the biggest","carry-out is bounded by 2^13.","","The biggest carry-in is c4 * 19, resulting in","","2^51 + 19*2^13 < 2^51.0000000001","","Because we don't need to canonicalize, only to reduce the","limb sizes, it's OK to do a \"weak reduction\", where we","compute the carry-outs in parallel."]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":9989,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":9990,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":9991,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":9992,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":25}},"generated_from_span":null},"id":2781,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":17},"end":{"line":300,"col":31}},"generated_from_span":null},"id":2785,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":30},"end":{"line":300,"col":31}},"generated_from_span":null},"id":2786,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":300,"col":31},"end":{"line":300,"col":32}},"generated_from_span":null},"id":2787,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":12},"end":{"line":301,"col":14}},"generated_from_span":null},"id":2788,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":2789,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":23},"end":{"line":301,"col":24}},"generated_from_span":null},"id":2790,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":23},"end":{"line":301,"col":24}},"generated_from_span":null},"id":2791,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":9993,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":9994,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":9995,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":9996,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":25}},"generated_from_span":null},"id":2794,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":48},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":17},"end":{"line":301,"col":31}},"generated_from_span":null},"id":2798,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":30},"end":{"line":301,"col":31}},"generated_from_span":null},"id":2799,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":301,"col":31},"end":{"line":301,"col":32}},"generated_from_span":null},"id":2800,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":12},"end":{"line":302,"col":14}},"generated_from_span":null},"id":2801,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":2802,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":23},"end":{"line":302,"col":24}},"generated_from_span":null},"id":2803,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":23},"end":{"line":302,"col":24}},"generated_from_span":null},"id":2804,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":9997,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":9998,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":9999,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":10000,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":25}},"generated_from_span":null},"id":2807,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":50},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":17},"end":{"line":302,"col":31}},"generated_from_span":null},"id":2811,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":30},"end":{"line":302,"col":31}},"generated_from_span":null},"id":2812,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":302,"col":31},"end":{"line":302,"col":32}},"generated_from_span":null},"id":2813,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":12},"end":{"line":303,"col":14}},"generated_from_span":null},"id":2814,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":2815,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":23},"end":{"line":303,"col":24}},"generated_from_span":null},"id":2816,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":23},"end":{"line":303,"col":24}},"generated_from_span":null},"id":2817,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":10001,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":10002,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":10003,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":10004,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":25}},"generated_from_span":null},"id":2820,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":52},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":17},"end":{"line":303,"col":31}},"generated_from_span":null},"id":2824,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":30},"end":{"line":303,"col":31}},"generated_from_span":null},"id":2825,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":303,"col":31},"end":{"line":303,"col":32}},"generated_from_span":null},"id":2826,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":12},"end":{"line":304,"col":14}},"generated_from_span":null},"id":2827,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":2828,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":23},"end":{"line":304,"col":24}},"generated_from_span":null},"id":2829,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":23},"end":{"line":304,"col":24}},"generated_from_span":null},"id":2830,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":10005,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":10006,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":10007,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":10008,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":25}},"generated_from_span":null},"id":2833,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":54},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":17},"end":{"line":304,"col":31}},"generated_from_span":null},"id":2837,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":30},"end":{"line":304,"col":31}},"generated_from_span":null},"id":2838,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":304,"col":31},"end":{"line":304,"col":32}},"generated_from_span":null},"id":2839,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":14},"end":{"line":306,"col":15}},"generated_from_span":null},"id":2840,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":14},"end":{"line":306,"col":15}},"generated_from_span":null},"id":2841,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":2844,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":10009,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":10010,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":10011,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":10012,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":2845,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":56},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":10013,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":10014,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":10015,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":10016,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":8},"end":{"line":306,"col":35}},"generated_from_span":null},"id":2846,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":58},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":306,"col":35},"end":{"line":306,"col":36}},"generated_from_span":null},"id":2847,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":14},"end":{"line":307,"col":15}},"generated_from_span":null},"id":2848,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":14},"end":{"line":307,"col":15}},"generated_from_span":null},"id":2849,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":2852,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":10017,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":10018,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":10019,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":10020,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":2853,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":10021,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":10022,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":10023,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":10024,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":62},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":8},"end":{"line":307,"col":35}},"generated_from_span":null},"id":2854,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":62},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":307,"col":35},"end":{"line":307,"col":36}},"generated_from_span":null},"id":2855,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":14},"end":{"line":308,"col":15}},"generated_from_span":null},"id":2856,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":14},"end":{"line":308,"col":15}},"generated_from_span":null},"id":2857,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":2860,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":10025,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":10026,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":10027,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":10028,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":64},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":2861,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":64},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":10029,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":10030,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":10031,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":10032,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":66},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":8},"end":{"line":308,"col":35}},"generated_from_span":null},"id":2862,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":66},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":308,"col":35},"end":{"line":308,"col":36}},"generated_from_span":null},"id":2863,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":14},"end":{"line":309,"col":15}},"generated_from_span":null},"id":2864,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":14},"end":{"line":309,"col":15}},"generated_from_span":null},"id":2865,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":2868,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":10033,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":10034,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":10035,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":10036,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":67},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":68},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":2869,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":68},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":10037,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":10038,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":10039,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":10040,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":70},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":8},"end":{"line":309,"col":35}},"generated_from_span":null},"id":2870,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":70},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":309,"col":35},"end":{"line":309,"col":36}},"generated_from_span":null},"id":2871,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":14},"end":{"line":310,"col":15}},"generated_from_span":null},"id":2872,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":14},"end":{"line":310,"col":15}},"generated_from_span":null},"id":2873,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":2876,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":10041,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":10042,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":10043,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":10044,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":72},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":2877,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":72},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":10045,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":10046,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":10047,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":10048,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":74},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":8},"end":{"line":310,"col":35}},"generated_from_span":null},"id":2878,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":74},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":310,"col":35},"end":{"line":310,"col":36}},"generated_from_span":null},"id":2879,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2880,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":22}},"generated_from_span":null},"id":2881,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":22}},"generated_from_span":null},"id":2882,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2883,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":20},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2885,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":26},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2886,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":14},"end":{"line":312,"col":15}},"generated_from_span":null},"id":2887,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":14},"end":{"line":312,"col":15}},"generated_from_span":null},"id":2888,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":10049,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":10050,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":10051,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":10052,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":76},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2891,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":76},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":10053,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":10054,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":10055,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":10056,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":78},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":8},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2893,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":78},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":26},"end":{"line":312,"col":27}},"generated_from_span":null},"id":2894,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":312,"col":27},"end":{"line":312,"col":28}},"generated_from_span":null},"id":2895,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":20},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2896,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":20},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2897,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":14},"end":{"line":313,"col":15}},"generated_from_span":null},"id":2898,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":14},"end":{"line":313,"col":15}},"generated_from_span":null},"id":2899,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":10057,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":10058,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":10059,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":10060,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":79},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":80},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2902,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":80},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":10061,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":10062,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":10063,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":10064,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":82},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":8},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2904,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":82},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":21},"end":{"line":313,"col":22}},"generated_from_span":null},"id":2905,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":313,"col":22},"end":{"line":313,"col":23}},"generated_from_span":null},"id":2906,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":20},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2907,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":20},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2908,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":14},"end":{"line":314,"col":15}},"generated_from_span":null},"id":2909,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":14},"end":{"line":314,"col":15}},"generated_from_span":null},"id":2910,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":10065,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":10066,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":10067,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":10068,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":84},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2913,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":84},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":10069,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":10070,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":10071,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":10072,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":85},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":86},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":8},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2915,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":86},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":21},"end":{"line":314,"col":22}},"generated_from_span":null},"id":2916,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":314,"col":22},"end":{"line":314,"col":23}},"generated_from_span":null},"id":2917,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":20},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2918,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":20},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2919,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":14},"end":{"line":315,"col":15}},"generated_from_span":null},"id":2920,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":14},"end":{"line":315,"col":15}},"generated_from_span":null},"id":2921,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":10073,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":10074,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":10075,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":10076,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":87},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":88},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2924,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":88},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":10077,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":10078,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":10079,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":10080,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":89},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":90},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":8},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2926,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":90},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":21},"end":{"line":315,"col":22}},"generated_from_span":null},"id":2927,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":315,"col":22},"end":{"line":315,"col":23}},"generated_from_span":null},"id":2928,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":20},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2929,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":20},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2930,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":14},"end":{"line":316,"col":15}},"generated_from_span":null},"id":2931,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":14},"end":{"line":316,"col":15}},"generated_from_span":null},"id":2932,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":10081,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":10082,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":10083,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":10084,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":91},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":92},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2935,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":92},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":10085,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":10086,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":10087,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":10088,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":93},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":94},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":8},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2937,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":94},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":21},"end":{"line":316,"col":22}},"generated_from_span":null},"id":2938,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":316,"col":22},"end":{"line":316,"col":23}},"generated_from_span":null},"id":2939,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":318,"col":23},"end":{"line":318,"col":28}},"generated_from_span":null},"id":2940,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":318,"col":23},"end":{"line":318,"col":28}},"generated_from_span":null},"id":2941,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":318,"col":8},"end":{"line":318,"col":29}},"generated_from_span":null},"id":2942,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":318,"col":28},"end":{"line":318,"col":29}},"generated_from_span":null},"id":2943,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2944,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2945,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2946,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2947,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":4},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2948,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":319,"col":5},"end":{"line":319,"col":5}},"generated_from_span":null},"id":2949,"kind":"Return","comments_before":[]}]},"comments":[[299,["Since the input limbs are bounded by 2^64, the biggest","carry-out is bounded by 2^13.","","The biggest carry-in is c4 * 19, resulting in","","2^51 + 19*2^13 < 2^51.0000000001","","Because we don't need to canonicalize, only to reduce the","limb sizes, it's OK to do a \"weak reduction\", where we","compute the carry-outs in parallel."]]]}}},{"def_id":34,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_bytes",0]}],"span":{"data":{"file_id":5,"beg":{"line":334,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"source_text":"pub const fn from_bytes(bytes: &[u8; 32]) -> FieldElement51 {\n const fn load8_at(input: &[u8], i: usize) -> u64 {\n (input[i] as u64)\n | ((input[i + 1] as u64) << 8)\n | ((input[i + 2] as u64) << 16)\n | ((input[i + 3] as u64) << 24)\n | ((input[i + 4] as u64) << 32)\n | ((input[i + 5] as u64) << 40)\n | ((input[i + 6] as u64) << 48)\n | ((input[i + 7] as u64) << 56)\n }\n\n let low_51_bit_mask = (1u64 << 51) - 1;\n FieldElement51(\n // load bits [ 0, 64), no shift\n [ load8_at(bytes, 0) & low_51_bit_mask\n // load bits [ 48,112), shift to [ 51,112)\n , (load8_at(bytes, 6) >> 3) & low_51_bit_mask\n // load bits [ 96,160), shift to [102,160)\n , (load8_at(bytes, 12) >> 6) & low_51_bit_mask\n // load bits [152,216), shift to [153,216)\n , (load8_at(bytes, 19) >> 1) & low_51_bit_mask\n // load bits [192,256), shift to [204,112)\n , (load8_at(bytes, 24) >> 12) & low_51_bit_mask\n ])\n }","attr_info":{"attributes":[{"DocComment":" Load a `FieldElement51` from the low 255 bits of a 256-bit"},{"DocComment":" input."},{"DocComment":""},{"DocComment":" # Warning"},{"DocComment":""},{"DocComment":" This function does not check that the input used the canonical"},{"DocComment":" representative. It masks the high bit, but it will happily"},{"DocComment":" decode 2^255 - 18 to 1. Applications that require a canonical"},{"DocComment":" encoding of every field element should decode, re-encode to"},{"DocComment":" the canonical encoding, and check that the input was"},{"DocComment":" canonical."},{"DocComment":""},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10655,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2114},"Shared"]}]}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":334,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"bound_body_regions":28,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":334,"col":49},"end":{"line":334,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"bytes","span":{"data":{"file_id":5,"beg":{"line":334,"col":28},"end":{"line":334,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[3867,{"Ref":[{"Body":1},{"Deduplicated":2114},"Shared"]}]}},{"index":2,"name":"low_51_bit_mask","span":{"data":{"file_id":5,"beg":{"line":346,"col":12},"end":{"line":346,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2827}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2881,{"Ref":[{"Body":4},{"Deduplicated":2114},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":349,"col":40},"end":{"line":349,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":11},"end":{"line":351,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[3868,{"Ref":[{"Body":5},{"Deduplicated":2239},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2831}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":351,"col":40},"end":{"line":351,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":11},"end":{"line":353,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2832}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2833}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":353,"col":40},"end":{"line":353,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":11},"end":{"line":355,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2884,{"Ref":[{"Body":9},{"Deduplicated":2239},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[3869,{"Ref":[{"Body":10},{"Deduplicated":2114},"Shared"]}]}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":355,"col":40},"end":{"line":355,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":11},"end":{"line":357,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[2836,{"Ref":[{"Body":11},{"Deduplicated":2239},"Shared"]}]}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[3870,{"Ref":[{"Body":12},{"Deduplicated":2114},"Shared"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":357,"col":40},"end":{"line":357,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":346,"col":12},"end":{"line":359,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":346,"col":12},"end":{"line":346,"col":27}},"generated_from_span":null},"id":2952,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":12},"end":{"line":346,"col":27}},"generated_from_span":null},"id":2961,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":42}},"generated_from_span":null},"id":2962,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":42}},"generated_from_span":null},"id":2966,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":46}},"generated_from_span":null},"id":2967,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":30},"end":{"line":346,"col":46}},"generated_from_span":null},"id":2969,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":346,"col":45},"end":{"line":346,"col":46}},"generated_from_span":null},"id":2970,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":2971,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2972,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":30}},"generated_from_span":null},"id":2973,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2974,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2975,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2976,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2881}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [ 0, 64), no shift"]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":20},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2977,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2881}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":2827}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":24},"end":{"line":349,"col":25}},"generated_from_span":null},"id":2978,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":30}},"generated_from_span":null},"id":2979,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2827}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":29},"end":{"line":349,"col":30}},"generated_from_span":null},"id":2980,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":40},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2981,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":40},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2982,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":11},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2983,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":54},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2984,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":54},"end":{"line":349,"col":55}},"generated_from_span":null},"id":2985,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":55}},"generated_from_span":null},"id":2986,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":37}},"generated_from_span":null},"id":2987,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":11},"end":{"line":351,"col":30}},"generated_from_span":null},"id":2988,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2989,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2990,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2991,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2831}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [ 48,112), shift to [ 51,112)"]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":20},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2992,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2831}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":3868}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":24},"end":{"line":351,"col":25}},"generated_from_span":null},"id":2993,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":11},"end":{"line":351,"col":30}},"generated_from_span":null},"id":2994,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3868}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","6"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":29},"end":{"line":351,"col":30}},"generated_from_span":null},"id":2995,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":37}},"generated_from_span":null},"id":2999,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","3"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":36},"end":{"line":351,"col":37}},"generated_from_span":null},"id":3000,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":40},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3001,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":40},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3002,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":10},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3003,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":54},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3004,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":351,"col":54},"end":{"line":351,"col":55}},"generated_from_span":null},"id":3005,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3006,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":37}},"generated_from_span":null},"id":3007,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":11},"end":{"line":353,"col":30}},"generated_from_span":null},"id":3008,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3009,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3010,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3011,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2833}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [ 96,160), shift to [102,160)"]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":20},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3012,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2833}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":2832}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":24},"end":{"line":353,"col":25}},"generated_from_span":null},"id":3013,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":11},"end":{"line":353,"col":30}},"generated_from_span":null},"id":3014,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2832}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","12"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":29},"end":{"line":353,"col":30}},"generated_from_span":null},"id":3015,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":37}},"generated_from_span":null},"id":3019,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","6"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":36},"end":{"line":353,"col":37}},"generated_from_span":null},"id":3020,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":40},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3021,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":40},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3022,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":10},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3023,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":54},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3024,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":353,"col":54},"end":{"line":353,"col":55}},"generated_from_span":null},"id":3025,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3026,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":37}},"generated_from_span":null},"id":3027,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":11},"end":{"line":355,"col":30}},"generated_from_span":null},"id":3028,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3029,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3030,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3031,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":3869}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [152,216), shift to [153,216)"]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":20},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3032,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":3869}}}],"dest":{"kind":{"Local":26},"ty":{"Deduplicated":2884}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":24},"end":{"line":355,"col":25}},"generated_from_span":null},"id":3033,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":11},"end":{"line":355,"col":30}},"generated_from_span":null},"id":3034,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2884}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","19"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":29},"end":{"line":355,"col":30}},"generated_from_span":null},"id":3035,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":37}},"generated_from_span":null},"id":3039,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","1"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":36},"end":{"line":355,"col":37}},"generated_from_span":null},"id":3040,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":40},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3041,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":40},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3042,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":10},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3043,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":54},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3044,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":355,"col":54},"end":{"line":355,"col":55}},"generated_from_span":null},"id":3045,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3046,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":37}},"generated_from_span":null},"id":3047,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":11},"end":{"line":357,"col":30}},"generated_from_span":null},"id":3048,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3049,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3050,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3051,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3870}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3867}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["load bits [192,256), shift to [204,112)"]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":20},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3052,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":3870}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":2836}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":24},"end":{"line":357,"col":25}},"generated_from_span":null},"id":3053,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":11},"end":{"line":357,"col":30}},"generated_from_span":null},"id":3054,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":161}},"generics":{"regions":[{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2836}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","24"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":29},"end":{"line":357,"col":30}},"generated_from_span":null},"id":3055,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":37}},"generated_from_span":null},"id":3059,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","12"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":36},"end":{"line":357,"col":37}},"generated_from_span":null},"id":3060,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":40},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3061,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":40},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3062,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":10},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3063,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":34},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":54},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3064,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":357,"col":54},"end":{"line":357,"col":55}},"generated_from_span":null},"id":3065,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":349,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3066,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3067,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3068,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3069,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3070,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":3071,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":347,"col":8},"end":{"line":358,"col":10}},"generated_from_span":null},"id":3072,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":358,"col":9},"end":{"line":358,"col":10}},"generated_from_span":null},"id":3073,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":359,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"id":3074,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":359,"col":5},"end":{"line":359,"col":5}},"generated_from_span":null},"id":3075,"kind":"Return","comments_before":[]}]},"comments":[[349,["load bits [ 0, 64), no shift"]],[351,["load bits [ 48,112), shift to [ 51,112)"]],[353,["load bits [ 96,160), shift to [102,160)"]],[355,["load bits [152,216), shift to [153,216)"]],[357,["load bits [192,256), shift to [204,112)"]]]}}},{"def_id":35,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["to_bytes",0]}],"span":{"data":{"file_id":5,"beg":{"line":364,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"source_text":"pub fn to_bytes(self) -> [u8; 32] {\n // Let h = limbs[0] + limbs[1]*2^51 + ... + limbs[4]*2^204.\n //\n // Write h = pq + r with 0 <= r < p.\n //\n // We want to compute r = h mod p.\n //\n // If h < 2*p = 2^256 - 38,\n // then q = 0 or 1,\n //\n // with q = 0 when h < p\n // and q = 1 when h >= p.\n //\n // Notice that h >= p <==> h + 19 >= p + 19 <==> h + 19 >= 2^255.\n // Therefore q can be computed as the carry bit of h + 19.\n\n // First, reduce the limbs to ensure h < 2*p.\n let mut limbs = FieldElement51::reduce(self.0).0;\n\n let mut q = (limbs[0] + 19) >> 51;\n q = (limbs[1] + q) >> 51;\n q = (limbs[2] + q) >> 51;\n q = (limbs[3] + q) >> 51;\n q = (limbs[4] + q) >> 51;\n\n // Now we can compute r as r = h - pq = r - (2^255-19)q = r + 19q - 2^255q\n\n limbs[0] += 19 * q;\n\n // Now carry the result to compute r + 19q ...\n let low_51_bit_mask = (1u64 << 51) - 1;\n limbs[1] += limbs[0] >> 51;\n limbs[0] &= low_51_bit_mask;\n limbs[2] += limbs[1] >> 51;\n limbs[1] &= low_51_bit_mask;\n limbs[3] += limbs[2] >> 51;\n limbs[2] &= low_51_bit_mask;\n limbs[4] += limbs[3] >> 51;\n limbs[3] &= low_51_bit_mask;\n // ... but instead of carrying (limbs[4] >> 51) = 2^255q\n // into another limb, discard it, subtracting the value\n limbs[4] &= low_51_bit_mask;\n\n // Now arrange the bits of the limbs.\n let mut s = [0u8;32];\n s[ 0] = limbs[0] as u8;\n s[ 1] = (limbs[0] >> 8) as u8;\n s[ 2] = (limbs[0] >> 16) as u8;\n s[ 3] = (limbs[0] >> 24) as u8;\n s[ 4] = (limbs[0] >> 32) as u8;\n s[ 5] = (limbs[0] >> 40) as u8;\n s[ 6] = ((limbs[0] >> 48) | (limbs[1] << 3)) as u8;\n s[ 7] = (limbs[1] >> 5) as u8;\n s[ 8] = (limbs[1] >> 13) as u8;\n s[ 9] = (limbs[1] >> 21) as u8;\n s[10] = (limbs[1] >> 29) as u8;\n s[11] = (limbs[1] >> 37) as u8;\n s[12] = ((limbs[1] >> 45) | (limbs[2] << 6)) as u8;\n s[13] = (limbs[2] >> 2) as u8;\n s[14] = (limbs[2] >> 10) as u8;\n s[15] = (limbs[2] >> 18) as u8;\n s[16] = (limbs[2] >> 26) as u8;\n s[17] = (limbs[2] >> 34) as u8;\n s[18] = (limbs[2] >> 42) as u8;\n s[19] = ((limbs[2] >> 50) | (limbs[3] << 1)) as u8;\n s[20] = (limbs[3] >> 7) as u8;\n s[21] = (limbs[3] >> 15) as u8;\n s[22] = (limbs[3] >> 23) as u8;\n s[23] = (limbs[3] >> 31) as u8;\n s[24] = (limbs[3] >> 39) as u8;\n s[25] = ((limbs[3] >> 47) | (limbs[4] << 4)) as u8;\n s[26] = (limbs[4] >> 4) as u8;\n s[27] = (limbs[4] >> 12) as u8;\n s[28] = (limbs[4] >> 20) as u8;\n s[29] = (limbs[4] >> 28) as u8;\n s[30] = (limbs[4] >> 36) as u8;\n s[31] = (limbs[4] >> 44) as u8;\n\n // High bit should be zero.\n debug_assert!((s[31] & 0b1000_0000u8) == 0u8);\n\n s\n }","attr_info":{"attributes":[{"DocComment":" Serialize this `FieldElement51` to a 32-byte array. The"},{"DocComment":" encoding is canonical."},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1391}],"output":{"Deduplicated":2114}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":364,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":364,"col":29},"end":{"line":364,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":364,"col":20},"end":{"line":364,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":2,"name":"limbs","span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":381,"col":24},"end":{"line":381,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":381,"col":47},"end":{"line":381,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":5,"name":"q","span":{"data":{"file_id":5,"beg":{"line":383,"col":12},"end":{"line":383,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":383,"col":27},"end":{"line":383,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":19},"end":{"line":384,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":24},"end":{"line":384,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":19},"end":{"line":385,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":24},"end":{"line":385,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":19},"end":{"line":386,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":24},"end":{"line":386,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":19},"end":{"line":387,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":24},"end":{"line":387,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":14},"end":{"line":391,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":35,"name":"low_51_bit_mask","span":{"data":{"file_id":5,"beg":{"line":394,"col":12},"end":{"line":394,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":26},"end":{"line":395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":14},"end":{"line":395,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":396,"col":20},"end":{"line":396,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":396,"col":14},"end":{"line":396,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":45,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":46,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":47,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":26},"end":{"line":397,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":48,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":14},"end":{"line":397,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":49,"name":null,"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":50,"name":null,"span":{"data":{"file_id":5,"beg":{"line":398,"col":20},"end":{"line":398,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":51,"name":null,"span":{"data":{"file_id":5,"beg":{"line":398,"col":14},"end":{"line":398,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":52,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":53,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":54,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":26},"end":{"line":399,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":55,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":14},"end":{"line":399,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":56,"name":null,"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":57,"name":null,"span":{"data":{"file_id":5,"beg":{"line":400,"col":20},"end":{"line":400,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":58,"name":null,"span":{"data":{"file_id":5,"beg":{"line":400,"col":14},"end":{"line":400,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":59,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":60,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":61,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":26},"end":{"line":401,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":62,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":14},"end":{"line":401,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":63,"name":null,"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":64,"name":null,"span":{"data":{"file_id":5,"beg":{"line":402,"col":20},"end":{"line":402,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":65,"name":null,"span":{"data":{"file_id":5,"beg":{"line":402,"col":14},"end":{"line":402,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":66,"name":null,"span":{"data":{"file_id":5,"beg":{"line":405,"col":20},"end":{"line":405,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":67,"name":null,"span":{"data":{"file_id":5,"beg":{"line":405,"col":14},"end":{"line":405,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":68,"name":"s","span":{"data":{"file_id":5,"beg":{"line":408,"col":12},"end":{"line":408,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":69,"name":null,"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":70,"name":null,"span":{"data":{"file_id":5,"beg":{"line":409,"col":24},"end":{"line":409,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":71,"name":null,"span":{"data":{"file_id":5,"beg":{"line":409,"col":11},"end":{"line":409,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":72,"name":null,"span":{"data":{"file_id":5,"beg":{"line":410,"col":17},"end":{"line":410,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":73,"name":null,"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":74,"name":null,"span":{"data":{"file_id":5,"beg":{"line":410,"col":24},"end":{"line":410,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":75,"name":null,"span":{"data":{"file_id":5,"beg":{"line":410,"col":11},"end":{"line":410,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":76,"name":null,"span":{"data":{"file_id":5,"beg":{"line":411,"col":17},"end":{"line":411,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":77,"name":null,"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":78,"name":null,"span":{"data":{"file_id":5,"beg":{"line":411,"col":24},"end":{"line":411,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":79,"name":null,"span":{"data":{"file_id":5,"beg":{"line":411,"col":11},"end":{"line":411,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":80,"name":null,"span":{"data":{"file_id":5,"beg":{"line":412,"col":17},"end":{"line":412,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":81,"name":null,"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":82,"name":null,"span":{"data":{"file_id":5,"beg":{"line":412,"col":24},"end":{"line":412,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":83,"name":null,"span":{"data":{"file_id":5,"beg":{"line":412,"col":11},"end":{"line":412,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":84,"name":null,"span":{"data":{"file_id":5,"beg":{"line":413,"col":17},"end":{"line":413,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":85,"name":null,"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":86,"name":null,"span":{"data":{"file_id":5,"beg":{"line":413,"col":24},"end":{"line":413,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":87,"name":null,"span":{"data":{"file_id":5,"beg":{"line":413,"col":11},"end":{"line":413,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":88,"name":null,"span":{"data":{"file_id":5,"beg":{"line":414,"col":17},"end":{"line":414,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":89,"name":null,"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":90,"name":null,"span":{"data":{"file_id":5,"beg":{"line":414,"col":24},"end":{"line":414,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":91,"name":null,"span":{"data":{"file_id":5,"beg":{"line":414,"col":11},"end":{"line":414,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":92,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":16},"end":{"line":415,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":93,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":17},"end":{"line":415,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":94,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":95,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":24},"end":{"line":415,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":96,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":36},"end":{"line":415,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":97,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":98,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":43},"end":{"line":415,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":99,"name":null,"span":{"data":{"file_id":5,"beg":{"line":415,"col":11},"end":{"line":415,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":100,"name":null,"span":{"data":{"file_id":5,"beg":{"line":416,"col":17},"end":{"line":416,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":101,"name":null,"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":102,"name":null,"span":{"data":{"file_id":5,"beg":{"line":416,"col":24},"end":{"line":416,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":103,"name":null,"span":{"data":{"file_id":5,"beg":{"line":416,"col":11},"end":{"line":416,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":104,"name":null,"span":{"data":{"file_id":5,"beg":{"line":417,"col":17},"end":{"line":417,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":105,"name":null,"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":106,"name":null,"span":{"data":{"file_id":5,"beg":{"line":417,"col":24},"end":{"line":417,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":107,"name":null,"span":{"data":{"file_id":5,"beg":{"line":417,"col":11},"end":{"line":417,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":108,"name":null,"span":{"data":{"file_id":5,"beg":{"line":418,"col":17},"end":{"line":418,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":109,"name":null,"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":110,"name":null,"span":{"data":{"file_id":5,"beg":{"line":418,"col":24},"end":{"line":418,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":111,"name":null,"span":{"data":{"file_id":5,"beg":{"line":418,"col":11},"end":{"line":418,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":112,"name":null,"span":{"data":{"file_id":5,"beg":{"line":419,"col":17},"end":{"line":419,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":113,"name":null,"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":114,"name":null,"span":{"data":{"file_id":5,"beg":{"line":419,"col":24},"end":{"line":419,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":115,"name":null,"span":{"data":{"file_id":5,"beg":{"line":419,"col":10},"end":{"line":419,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":116,"name":null,"span":{"data":{"file_id":5,"beg":{"line":420,"col":17},"end":{"line":420,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":117,"name":null,"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":118,"name":null,"span":{"data":{"file_id":5,"beg":{"line":420,"col":24},"end":{"line":420,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":119,"name":null,"span":{"data":{"file_id":5,"beg":{"line":420,"col":10},"end":{"line":420,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":120,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":16},"end":{"line":421,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":121,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":17},"end":{"line":421,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":122,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":123,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":24},"end":{"line":421,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":124,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":36},"end":{"line":421,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":125,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":126,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":43},"end":{"line":421,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":127,"name":null,"span":{"data":{"file_id":5,"beg":{"line":421,"col":10},"end":{"line":421,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":128,"name":null,"span":{"data":{"file_id":5,"beg":{"line":422,"col":17},"end":{"line":422,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":129,"name":null,"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":130,"name":null,"span":{"data":{"file_id":5,"beg":{"line":422,"col":24},"end":{"line":422,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":131,"name":null,"span":{"data":{"file_id":5,"beg":{"line":422,"col":10},"end":{"line":422,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":132,"name":null,"span":{"data":{"file_id":5,"beg":{"line":423,"col":17},"end":{"line":423,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":133,"name":null,"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":134,"name":null,"span":{"data":{"file_id":5,"beg":{"line":423,"col":24},"end":{"line":423,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":135,"name":null,"span":{"data":{"file_id":5,"beg":{"line":423,"col":10},"end":{"line":423,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":136,"name":null,"span":{"data":{"file_id":5,"beg":{"line":424,"col":17},"end":{"line":424,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":137,"name":null,"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":138,"name":null,"span":{"data":{"file_id":5,"beg":{"line":424,"col":24},"end":{"line":424,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":139,"name":null,"span":{"data":{"file_id":5,"beg":{"line":424,"col":10},"end":{"line":424,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":140,"name":null,"span":{"data":{"file_id":5,"beg":{"line":425,"col":17},"end":{"line":425,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":141,"name":null,"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":142,"name":null,"span":{"data":{"file_id":5,"beg":{"line":425,"col":24},"end":{"line":425,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":143,"name":null,"span":{"data":{"file_id":5,"beg":{"line":425,"col":10},"end":{"line":425,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":144,"name":null,"span":{"data":{"file_id":5,"beg":{"line":426,"col":17},"end":{"line":426,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":145,"name":null,"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":146,"name":null,"span":{"data":{"file_id":5,"beg":{"line":426,"col":24},"end":{"line":426,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":147,"name":null,"span":{"data":{"file_id":5,"beg":{"line":426,"col":10},"end":{"line":426,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":148,"name":null,"span":{"data":{"file_id":5,"beg":{"line":427,"col":17},"end":{"line":427,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":149,"name":null,"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":150,"name":null,"span":{"data":{"file_id":5,"beg":{"line":427,"col":24},"end":{"line":427,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":151,"name":null,"span":{"data":{"file_id":5,"beg":{"line":427,"col":10},"end":{"line":427,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":152,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":16},"end":{"line":428,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":153,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":17},"end":{"line":428,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":154,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":155,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":24},"end":{"line":428,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":156,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":36},"end":{"line":428,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":157,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":158,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":43},"end":{"line":428,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":159,"name":null,"span":{"data":{"file_id":5,"beg":{"line":428,"col":10},"end":{"line":428,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":160,"name":null,"span":{"data":{"file_id":5,"beg":{"line":429,"col":17},"end":{"line":429,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":161,"name":null,"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":162,"name":null,"span":{"data":{"file_id":5,"beg":{"line":429,"col":24},"end":{"line":429,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":163,"name":null,"span":{"data":{"file_id":5,"beg":{"line":429,"col":10},"end":{"line":429,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":164,"name":null,"span":{"data":{"file_id":5,"beg":{"line":430,"col":17},"end":{"line":430,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":165,"name":null,"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":166,"name":null,"span":{"data":{"file_id":5,"beg":{"line":430,"col":24},"end":{"line":430,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":167,"name":null,"span":{"data":{"file_id":5,"beg":{"line":430,"col":10},"end":{"line":430,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":168,"name":null,"span":{"data":{"file_id":5,"beg":{"line":431,"col":17},"end":{"line":431,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":169,"name":null,"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":170,"name":null,"span":{"data":{"file_id":5,"beg":{"line":431,"col":24},"end":{"line":431,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":171,"name":null,"span":{"data":{"file_id":5,"beg":{"line":431,"col":10},"end":{"line":431,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":172,"name":null,"span":{"data":{"file_id":5,"beg":{"line":432,"col":17},"end":{"line":432,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":173,"name":null,"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":174,"name":null,"span":{"data":{"file_id":5,"beg":{"line":432,"col":24},"end":{"line":432,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":175,"name":null,"span":{"data":{"file_id":5,"beg":{"line":432,"col":10},"end":{"line":432,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":176,"name":null,"span":{"data":{"file_id":5,"beg":{"line":433,"col":17},"end":{"line":433,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":177,"name":null,"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":178,"name":null,"span":{"data":{"file_id":5,"beg":{"line":433,"col":24},"end":{"line":433,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":179,"name":null,"span":{"data":{"file_id":5,"beg":{"line":433,"col":10},"end":{"line":433,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":180,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":16},"end":{"line":434,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":181,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":17},"end":{"line":434,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":182,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":183,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":24},"end":{"line":434,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":184,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":36},"end":{"line":434,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":185,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":186,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":43},"end":{"line":434,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":187,"name":null,"span":{"data":{"file_id":5,"beg":{"line":434,"col":10},"end":{"line":434,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":188,"name":null,"span":{"data":{"file_id":5,"beg":{"line":435,"col":17},"end":{"line":435,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":189,"name":null,"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":190,"name":null,"span":{"data":{"file_id":5,"beg":{"line":435,"col":24},"end":{"line":435,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":191,"name":null,"span":{"data":{"file_id":5,"beg":{"line":435,"col":10},"end":{"line":435,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":192,"name":null,"span":{"data":{"file_id":5,"beg":{"line":436,"col":17},"end":{"line":436,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":193,"name":null,"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":194,"name":null,"span":{"data":{"file_id":5,"beg":{"line":436,"col":24},"end":{"line":436,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":195,"name":null,"span":{"data":{"file_id":5,"beg":{"line":436,"col":10},"end":{"line":436,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":196,"name":null,"span":{"data":{"file_id":5,"beg":{"line":437,"col":17},"end":{"line":437,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":197,"name":null,"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":198,"name":null,"span":{"data":{"file_id":5,"beg":{"line":437,"col":24},"end":{"line":437,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":199,"name":null,"span":{"data":{"file_id":5,"beg":{"line":437,"col":10},"end":{"line":437,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":200,"name":null,"span":{"data":{"file_id":5,"beg":{"line":438,"col":17},"end":{"line":438,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":201,"name":null,"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":202,"name":null,"span":{"data":{"file_id":5,"beg":{"line":438,"col":24},"end":{"line":438,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":203,"name":null,"span":{"data":{"file_id":5,"beg":{"line":438,"col":10},"end":{"line":438,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":204,"name":null,"span":{"data":{"file_id":5,"beg":{"line":439,"col":17},"end":{"line":439,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":205,"name":null,"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":206,"name":null,"span":{"data":{"file_id":5,"beg":{"line":439,"col":24},"end":{"line":439,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":207,"name":null,"span":{"data":{"file_id":5,"beg":{"line":439,"col":10},"end":{"line":439,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":208,"name":null,"span":{"data":{"file_id":5,"beg":{"line":440,"col":17},"end":{"line":440,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":209,"name":null,"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":210,"name":null,"span":{"data":{"file_id":5,"beg":{"line":440,"col":24},"end":{"line":440,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":211,"name":null,"span":{"data":{"file_id":5,"beg":{"line":440,"col":10},"end":{"line":440,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":212,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":213,"name":null,"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":214,"name":null,"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":215,"name":null,"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":216,"name":null,"span":{"data":{"file_id":5,"beg":{"line":443,"col":25},"end":{"line":443,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":217,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":218,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":219,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":220,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":221,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":222,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9403}},{"index":223,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":224,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":225,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":226,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":227,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":228,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":229,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":230,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":231,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":232,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":233,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":234,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":235,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":236,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":237,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":238,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":239,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":240,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":241,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":242,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":243,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":244,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":245,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":246,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":247,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":248,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":249,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":250,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":251,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":252,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":253,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":254,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":255,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":256,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":257,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":258,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":259,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":260,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":261,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":262,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":263,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":264,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":265,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":266,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":267,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":268,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":269,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":270,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":271,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":272,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":273,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":274,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":275,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":276,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":277,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":278,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":279,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":280,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":281,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":282,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":283,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":284,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9409,{"Ref":["Erased",{"Deduplicated":2114},"Mut"]}]}},{"index":285,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9408,{"Ref":["Erased",{"Deduplicated":2113},"Mut"]}]}},{"index":286,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":287,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":288,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":289,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":290,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":291,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":292,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":293,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":294,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":295,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":296,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":297,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":298,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":299,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":300,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":301,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":302,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":303,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":304,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":305,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":306,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":307,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":308,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":309,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":310,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":311,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":312,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":313,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":314,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":315,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":316,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":317,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":318,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":319,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":320,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":321,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":322,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":323,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":324,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":325,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":326,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":327,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":328,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":329,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":330,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":331,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":332,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":333,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":334,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":335,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":336,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":337,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":338,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":339,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":340,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":341,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":342,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":343,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":344,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":345,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":346,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":347,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":348,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":349,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":350,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":351,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":352,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":353,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":354,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":355,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":356,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":357,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":358,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":359,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":360,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":361,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":362,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":363,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":364,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":365,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":366,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":367,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":368,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":369,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":370,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":371,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":372,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":373,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":374,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":375,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":376,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":377,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":378,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":379,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":380,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":381,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":382,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":383,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":384,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":385,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":386,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":387,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":388,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":389,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":390,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":391,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":392,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":393,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":394,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":395,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":396,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":397,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":398,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":399,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":400,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":401,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":402,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":403,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":404,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":405,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":406,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":407,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":408,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":409,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":410,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":411,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":412,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":413,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":414,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":415,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":416,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":417,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":440,"col":59}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3077,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3081,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3085,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3089,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3093,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3096,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3098,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3101,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3106,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3112,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3118,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3124,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":12},"end":{"line":381,"col":21}},"generated_from_span":null},"id":3266,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":24},"end":{"line":381,"col":54}},"generated_from_span":null},"id":3267,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":47},"end":{"line":381,"col":53}},"generated_from_span":null},"id":3268,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":47},"end":{"line":381,"col":53}},"generated_from_span":null},"id":3269,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":["Let h = limbs[0] + limbs[1]*2^51 + ... + limbs[4]*2^204.","","Write h = pq + r with 0 <= r < p.","","We want to compute r = h mod p.","","If h < 2*p = 2^256 - 38,","then q = 0 or 1,","","with q = 0 when h < p"," and q = 1 when h >= p.","","Notice that h >= p <==> h + 19 >= p + 19 <==> h + 19 >= 2^255.","Therefore q can be computed as the carry bit of h + 19.","First, reduce the limbs to ensure h < 2*p."]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":24},"end":{"line":381,"col":54}},"generated_from_span":null},"id":3270,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":33}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":53},"end":{"line":381,"col":54}},"generated_from_span":null},"id":3271,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":24},"end":{"line":381,"col":56}},"generated_from_span":null},"id":3272,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":381,"col":56},"end":{"line":381,"col":57}},"generated_from_span":null},"id":3273,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":12},"end":{"line":383,"col":17}},"generated_from_span":null},"id":3274,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"id":3275,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":3276,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":27},"end":{"line":383,"col":28}},"generated_from_span":null},"id":3277,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":27},"end":{"line":383,"col":28}},"generated_from_span":null},"id":3278,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":10093,"kind":{"StorageLive":224},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":10094,"kind":{"Assign":[{"kind":{"Local":224},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":10095,"kind":{"StorageLive":225},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":10096,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":224},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":225},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":21},"end":{"line":383,"col":29}},"generated_from_span":null},"id":3281,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":225},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"id":3282,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":35}},"generated_from_span":null},"id":3284,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":34},"end":{"line":383,"col":35}},"generated_from_span":null},"id":3285,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":20},"end":{"line":383,"col":41}},"generated_from_span":null},"id":3289,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":40},"end":{"line":383,"col":41}},"generated_from_span":null},"id":3290,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":383,"col":41},"end":{"line":383,"col":42}},"generated_from_span":null},"id":3291,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3292,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":3293,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":19},"end":{"line":384,"col":20}},"generated_from_span":null},"id":3294,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":19},"end":{"line":384,"col":20}},"generated_from_span":null},"id":3295,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":10097,"kind":{"StorageLive":226},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":10098,"kind":{"Assign":[{"kind":{"Local":226},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":10099,"kind":{"StorageLive":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":10100,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":226},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":227},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":13},"end":{"line":384,"col":21}},"generated_from_span":null},"id":3298,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":227},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":24},"end":{"line":384,"col":25}},"generated_from_span":null},"id":3299,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":24},"end":{"line":384,"col":25}},"generated_from_span":null},"id":3300,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3301,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":12},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3303,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":25},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3304,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":25},"end":{"line":384,"col":26}},"generated_from_span":null},"id":3305,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":8},"end":{"line":384,"col":32}},"generated_from_span":null},"id":3309,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":31},"end":{"line":384,"col":32}},"generated_from_span":null},"id":3310,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":384,"col":32},"end":{"line":384,"col":33}},"generated_from_span":null},"id":3311,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3312,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":3313,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":19},"end":{"line":385,"col":20}},"generated_from_span":null},"id":3314,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":19},"end":{"line":385,"col":20}},"generated_from_span":null},"id":3315,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":10101,"kind":{"StorageLive":228},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":10102,"kind":{"Assign":[{"kind":{"Local":228},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":10103,"kind":{"StorageLive":229},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":10104,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":228},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":229},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":13},"end":{"line":385,"col":21}},"generated_from_span":null},"id":3318,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":229},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":24},"end":{"line":385,"col":25}},"generated_from_span":null},"id":3319,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":24},"end":{"line":385,"col":25}},"generated_from_span":null},"id":3320,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3321,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":12},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3323,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":25},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3324,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":25},"end":{"line":385,"col":26}},"generated_from_span":null},"id":3325,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":8},"end":{"line":385,"col":32}},"generated_from_span":null},"id":3329,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":31},"end":{"line":385,"col":32}},"generated_from_span":null},"id":3330,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":385,"col":32},"end":{"line":385,"col":33}},"generated_from_span":null},"id":3331,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3332,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":3333,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":19},"end":{"line":386,"col":20}},"generated_from_span":null},"id":3334,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":19},"end":{"line":386,"col":20}},"generated_from_span":null},"id":3335,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":10105,"kind":{"StorageLive":230},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":10106,"kind":{"Assign":[{"kind":{"Local":230},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":10107,"kind":{"StorageLive":231},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":10108,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":230},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":231},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":13},"end":{"line":386,"col":21}},"generated_from_span":null},"id":3338,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":231},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":24},"end":{"line":386,"col":25}},"generated_from_span":null},"id":3339,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":24},"end":{"line":386,"col":25}},"generated_from_span":null},"id":3340,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3341,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":12},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3343,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":25},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3344,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":25},"end":{"line":386,"col":26}},"generated_from_span":null},"id":3345,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":8},"end":{"line":386,"col":32}},"generated_from_span":null},"id":3349,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":31},"end":{"line":386,"col":32}},"generated_from_span":null},"id":3350,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":386,"col":32},"end":{"line":386,"col":33}},"generated_from_span":null},"id":3351,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3352,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":3353,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":19},"end":{"line":387,"col":20}},"generated_from_span":null},"id":3354,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":19},"end":{"line":387,"col":20}},"generated_from_span":null},"id":3355,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":10109,"kind":{"StorageLive":232},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":10110,"kind":{"Assign":[{"kind":{"Local":232},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":10111,"kind":{"StorageLive":233},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":10112,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":232},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":233},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":13},"end":{"line":387,"col":21}},"generated_from_span":null},"id":3358,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":233},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":24},"end":{"line":387,"col":25}},"generated_from_span":null},"id":3359,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":24},"end":{"line":387,"col":25}},"generated_from_span":null},"id":3360,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3361,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":12},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3363,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":25},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3364,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":25},"end":{"line":387,"col":26}},"generated_from_span":null},"id":3365,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":8},"end":{"line":387,"col":32}},"generated_from_span":null},"id":3369,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":31},"end":{"line":387,"col":32}},"generated_from_span":null},"id":3370,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":387,"col":32},"end":{"line":387,"col":33}},"generated_from_span":null},"id":3371,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3372,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3373,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3374,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":["Now we can compute r as r = h - pq = r - (2^255-19)q = r + 19q - 2^255q"]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3375,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":20},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3377,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3378,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":14},"end":{"line":391,"col":15}},"generated_from_span":null},"id":3379,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":14},"end":{"line":391,"col":15}},"generated_from_span":null},"id":3380,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":10113,"kind":{"StorageLive":234},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":10114,"kind":{"Assign":[{"kind":{"Local":234},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":10115,"kind":{"StorageLive":235},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":10116,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":234},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":235},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3383,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":235},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":10117,"kind":{"StorageLive":236},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":10118,"kind":{"Assign":[{"kind":{"Local":236},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":10119,"kind":{"StorageLive":237},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":10120,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":236},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":237},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":8},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3385,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":237},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":34},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":25},"end":{"line":391,"col":26}},"generated_from_span":null},"id":3386,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":391,"col":26},"end":{"line":391,"col":27}},"generated_from_span":null},"id":3387,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":12},"end":{"line":394,"col":27}},"generated_from_span":null},"id":3388,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":42}},"generated_from_span":null},"id":3389,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":42}},"generated_from_span":null},"id":3393,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":["Now carry the result to compute r + 19q ..."]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":46}},"generated_from_span":null},"id":3394,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":30},"end":{"line":394,"col":46}},"generated_from_span":null},"id":3396,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":394,"col":45},"end":{"line":394,"col":46}},"generated_from_span":null},"id":3397,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3398,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":3399,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":26},"end":{"line":395,"col":27}},"generated_from_span":null},"id":3400,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":26},"end":{"line":395,"col":27}},"generated_from_span":null},"id":3401,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":10121,"kind":{"StorageLive":238},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":10122,"kind":{"Assign":[{"kind":{"Local":238},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":10123,"kind":{"StorageLive":239},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":10124,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":238},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":239},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":28}},"generated_from_span":null},"id":3404,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":239},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":20},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3408,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":33},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3409,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":14},"end":{"line":395,"col":15}},"generated_from_span":null},"id":3410,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":14},"end":{"line":395,"col":15}},"generated_from_span":null},"id":3411,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":10125,"kind":{"StorageLive":240},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":10126,"kind":{"Assign":[{"kind":{"Local":240},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":10127,"kind":{"StorageLive":241},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":10128,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":240},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":241},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3414,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":241},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":10129,"kind":{"StorageLive":242},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":10130,"kind":{"Assign":[{"kind":{"Local":242},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":10131,"kind":{"StorageLive":243},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":10132,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":242},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":243},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":8},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3416,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":243},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":33},"end":{"line":395,"col":34}},"generated_from_span":null},"id":3417,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":34},"end":{"line":395,"col":35}},"generated_from_span":null},"id":3418,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":395,"col":34},"end":{"line":395,"col":35}},"generated_from_span":null},"id":3419,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":20},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3420,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":20},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3421,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":14},"end":{"line":396,"col":15}},"generated_from_span":null},"id":3422,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":14},"end":{"line":396,"col":15}},"generated_from_span":null},"id":3423,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3426,"kind":{"StorageLive":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":10133,"kind":{"StorageLive":244},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":10134,"kind":{"Assign":[{"kind":{"Local":244},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":10135,"kind":{"StorageLive":245},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":10136,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":244},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":44},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":245},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3427,"kind":{"Assign":[{"kind":{"Local":217},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":245},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":10137,"kind":{"StorageLive":246},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":10138,"kind":{"Assign":[{"kind":{"Local":246},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":10139,"kind":{"StorageLive":247},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":10140,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":246},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":44},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":247},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":8},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3428,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":247},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":217},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":34},"end":{"line":396,"col":35}},"generated_from_span":null},"id":3429,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":396,"col":35},"end":{"line":396,"col":36}},"generated_from_span":null},"id":3430,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3431,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":3432,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":26},"end":{"line":397,"col":27}},"generated_from_span":null},"id":3433,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":26},"end":{"line":397,"col":27}},"generated_from_span":null},"id":3434,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":10141,"kind":{"StorageLive":248},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":10142,"kind":{"Assign":[{"kind":{"Local":248},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":10143,"kind":{"StorageLive":249},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":10144,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":248},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":47},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":249},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":28}},"generated_from_span":null},"id":3437,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":249},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":20},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3441,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":33},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3442,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":14},"end":{"line":397,"col":15}},"generated_from_span":null},"id":3443,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":14},"end":{"line":397,"col":15}},"generated_from_span":null},"id":3444,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":10145,"kind":{"StorageLive":250},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":10146,"kind":{"Assign":[{"kind":{"Local":250},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":10147,"kind":{"StorageLive":251},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":10148,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":250},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":48},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":251},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3447,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":251},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":10149,"kind":{"StorageLive":252},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":10150,"kind":{"Assign":[{"kind":{"Local":252},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":10151,"kind":{"StorageLive":253},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":10152,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":252},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":48},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":253},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":8},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3449,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":253},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":33},"end":{"line":397,"col":34}},"generated_from_span":null},"id":3450,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":34},"end":{"line":397,"col":35}},"generated_from_span":null},"id":3451,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":397,"col":34},"end":{"line":397,"col":35}},"generated_from_span":null},"id":3452,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":20},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3453,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":20},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3454,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":14},"end":{"line":398,"col":15}},"generated_from_span":null},"id":3455,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":14},"end":{"line":398,"col":15}},"generated_from_span":null},"id":3456,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3459,"kind":{"StorageLive":218},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":10153,"kind":{"StorageLive":254},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":10154,"kind":{"Assign":[{"kind":{"Local":254},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":10155,"kind":{"StorageLive":255},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":10156,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":254},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":51},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":255},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3460,"kind":{"Assign":[{"kind":{"Local":218},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":255},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":10157,"kind":{"StorageLive":256},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":10158,"kind":{"Assign":[{"kind":{"Local":256},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":10159,"kind":{"StorageLive":257},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":10160,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":256},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":51},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":257},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":8},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3461,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":257},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":218},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":34},"end":{"line":398,"col":35}},"generated_from_span":null},"id":3462,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":398,"col":35},"end":{"line":398,"col":36}},"generated_from_span":null},"id":3463,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3464,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":3465,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":26},"end":{"line":399,"col":27}},"generated_from_span":null},"id":3466,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":26},"end":{"line":399,"col":27}},"generated_from_span":null},"id":3467,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":10161,"kind":{"StorageLive":258},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":10162,"kind":{"Assign":[{"kind":{"Local":258},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":10163,"kind":{"StorageLive":259},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":10164,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":258},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":259},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":28}},"generated_from_span":null},"id":3470,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":259},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":20},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3474,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":33},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3475,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":14},"end":{"line":399,"col":15}},"generated_from_span":null},"id":3476,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":14},"end":{"line":399,"col":15}},"generated_from_span":null},"id":3477,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":10165,"kind":{"StorageLive":260},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":10166,"kind":{"Assign":[{"kind":{"Local":260},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":10167,"kind":{"StorageLive":261},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":10168,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":260},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":55},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":261},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3480,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":261},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":10169,"kind":{"StorageLive":262},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":10170,"kind":{"Assign":[{"kind":{"Local":262},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":10171,"kind":{"StorageLive":263},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":10172,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":262},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":55},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":263},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":8},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3482,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":263},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":33},"end":{"line":399,"col":34}},"generated_from_span":null},"id":3483,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":34},"end":{"line":399,"col":35}},"generated_from_span":null},"id":3484,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":399,"col":34},"end":{"line":399,"col":35}},"generated_from_span":null},"id":3485,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":20},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3486,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":20},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3487,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":14},"end":{"line":400,"col":15}},"generated_from_span":null},"id":3488,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":14},"end":{"line":400,"col":15}},"generated_from_span":null},"id":3489,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3492,"kind":{"StorageLive":219},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":10173,"kind":{"StorageLive":264},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":10174,"kind":{"Assign":[{"kind":{"Local":264},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":10175,"kind":{"StorageLive":265},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":10176,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":264},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":265},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3493,"kind":{"Assign":[{"kind":{"Local":219},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":265},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":10177,"kind":{"StorageLive":266},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":10178,"kind":{"Assign":[{"kind":{"Local":266},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":10179,"kind":{"StorageLive":267},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":10180,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":266},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":267},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":8},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3494,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":267},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":219},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":34},"end":{"line":400,"col":35}},"generated_from_span":null},"id":3495,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":400,"col":35},"end":{"line":400,"col":36}},"generated_from_span":null},"id":3496,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3497,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":3498,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":26},"end":{"line":401,"col":27}},"generated_from_span":null},"id":3499,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":26},"end":{"line":401,"col":27}},"generated_from_span":null},"id":3500,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":10181,"kind":{"StorageLive":268},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":10182,"kind":{"Assign":[{"kind":{"Local":268},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":10183,"kind":{"StorageLive":269},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":10184,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":268},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":61},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":269},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":28}},"generated_from_span":null},"id":3503,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":269},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":20},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3507,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":33},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3508,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":14},"end":{"line":401,"col":15}},"generated_from_span":null},"id":3509,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":14},"end":{"line":401,"col":15}},"generated_from_span":null},"id":3510,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":10185,"kind":{"StorageLive":270},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":10186,"kind":{"Assign":[{"kind":{"Local":270},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":10187,"kind":{"StorageLive":271},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":10188,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":270},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":62},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":271},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3513,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":271},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":59},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":10189,"kind":{"StorageLive":272},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":10190,"kind":{"Assign":[{"kind":{"Local":272},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":10191,"kind":{"StorageLive":273},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":10192,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":272},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":62},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":273},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":8},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3515,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":273},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":33},"end":{"line":401,"col":34}},"generated_from_span":null},"id":3516,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":34},"end":{"line":401,"col":35}},"generated_from_span":null},"id":3517,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":401,"col":34},"end":{"line":401,"col":35}},"generated_from_span":null},"id":3518,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":20},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3519,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":20},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3520,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":14},"end":{"line":402,"col":15}},"generated_from_span":null},"id":3521,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":14},"end":{"line":402,"col":15}},"generated_from_span":null},"id":3522,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3525,"kind":{"StorageLive":220},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":10193,"kind":{"StorageLive":274},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":10194,"kind":{"Assign":[{"kind":{"Local":274},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":10195,"kind":{"StorageLive":275},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":10196,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":274},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":275},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3526,"kind":{"Assign":[{"kind":{"Local":220},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":275},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":10197,"kind":{"StorageLive":276},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":10198,"kind":{"Assign":[{"kind":{"Local":276},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":10199,"kind":{"StorageLive":277},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":10200,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":276},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":277},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":8},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3527,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":277},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":220},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":34},"end":{"line":402,"col":35}},"generated_from_span":null},"id":3528,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":402,"col":35},"end":{"line":402,"col":36}},"generated_from_span":null},"id":3529,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":20},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3530,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":20},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3531,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":["... but instead of carrying (limbs[4] >> 51) = 2^255q","into another limb, discard it, subtracting the value"]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":14},"end":{"line":405,"col":15}},"generated_from_span":null},"id":3532,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":14},"end":{"line":405,"col":15}},"generated_from_span":null},"id":3533,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3536,"kind":{"StorageLive":221},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":10201,"kind":{"StorageLive":278},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":10202,"kind":{"Assign":[{"kind":{"Local":278},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":10203,"kind":{"StorageLive":279},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":10204,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":278},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":67},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":279},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3537,"kind":{"Assign":[{"kind":{"Local":221},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":279},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":10205,"kind":{"StorageLive":280},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":10206,"kind":{"Assign":[{"kind":{"Local":280},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":10207,"kind":{"StorageLive":281},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":10208,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":280},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":67},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":281},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":8},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3538,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":281},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":221},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":34},"end":{"line":405,"col":35}},"generated_from_span":null},"id":3539,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":405,"col":35},"end":{"line":405,"col":36}},"generated_from_span":null},"id":3540,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":408,"col":12},"end":{"line":408,"col":17}},"generated_from_span":null},"id":3541,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":408,"col":20},"end":{"line":408,"col":28}},"generated_from_span":null},"id":3542,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}],"dest":{"kind":{"Local":68},"ty":{"Deduplicated":2114}}}},"comments_before":["Now arrange the bits of the limbs."]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":3543,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":24},"end":{"line":409,"col":25}},"generated_from_span":null},"id":3544,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":24},"end":{"line":409,"col":25}},"generated_from_span":null},"id":3545,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":10209,"kind":{"StorageLive":282},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":10210,"kind":{"Assign":[{"kind":{"Local":282},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":10211,"kind":{"StorageLive":283},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":10212,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":282},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":283},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":18},"end":{"line":409,"col":26}},"generated_from_span":null},"id":3548,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":283},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":11},"end":{"line":409,"col":12}},"generated_from_span":null},"id":3549,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":11},"end":{"line":409,"col":12}},"generated_from_span":null},"id":3550,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":10213,"kind":{"StorageLive":284},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":10214,"kind":{"Assign":[{"kind":{"Local":284},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":10215,"kind":{"StorageLive":285},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":10216,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":284},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":71},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":285},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":8},"end":{"line":409,"col":58}},"generated_from_span":null},"id":3553,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":285},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":57},"end":{"line":409,"col":58}},"generated_from_span":null},"id":3554,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":58},"end":{"line":409,"col":59}},"generated_from_span":null},"id":3555,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":409,"col":58},"end":{"line":409,"col":59}},"generated_from_span":null},"id":3556,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":17},"end":{"line":410,"col":33}},"generated_from_span":null},"id":3557,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":3558,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":24},"end":{"line":410,"col":25}},"generated_from_span":null},"id":3559,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":24},"end":{"line":410,"col":25}},"generated_from_span":null},"id":3560,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":10217,"kind":{"StorageLive":286},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":10218,"kind":{"Assign":[{"kind":{"Local":286},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":10219,"kind":{"StorageLive":287},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":10220,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":286},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":74},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":287},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":18},"end":{"line":410,"col":26}},"generated_from_span":null},"id":3563,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":287},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":17},"end":{"line":410,"col":33}},"generated_from_span":null},"id":3567,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","8"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":32},"end":{"line":410,"col":33}},"generated_from_span":null},"id":3568,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":11},"end":{"line":410,"col":12}},"generated_from_span":null},"id":3569,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":11},"end":{"line":410,"col":12}},"generated_from_span":null},"id":3570,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":10221,"kind":{"StorageLive":288},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":10222,"kind":{"Assign":[{"kind":{"Local":288},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":10223,"kind":{"StorageLive":289},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":10224,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":288},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":75},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":289},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":8},"end":{"line":410,"col":58}},"generated_from_span":null},"id":3573,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":289},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":57},"end":{"line":410,"col":58}},"generated_from_span":null},"id":3574,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":58},"end":{"line":410,"col":59}},"generated_from_span":null},"id":3575,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":410,"col":58},"end":{"line":410,"col":59}},"generated_from_span":null},"id":3576,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":17},"end":{"line":411,"col":33}},"generated_from_span":null},"id":3577,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":3578,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":24},"end":{"line":411,"col":25}},"generated_from_span":null},"id":3579,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":24},"end":{"line":411,"col":25}},"generated_from_span":null},"id":3580,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":10225,"kind":{"StorageLive":290},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":10226,"kind":{"Assign":[{"kind":{"Local":290},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":10227,"kind":{"StorageLive":291},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":10228,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":290},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":78},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":291},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":18},"end":{"line":411,"col":26}},"generated_from_span":null},"id":3583,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":291},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":17},"end":{"line":411,"col":33}},"generated_from_span":null},"id":3587,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","16"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":32},"end":{"line":411,"col":33}},"generated_from_span":null},"id":3588,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":11},"end":{"line":411,"col":12}},"generated_from_span":null},"id":3589,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":11},"end":{"line":411,"col":12}},"generated_from_span":null},"id":3590,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":10229,"kind":{"StorageLive":292},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":10230,"kind":{"Assign":[{"kind":{"Local":292},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":10231,"kind":{"StorageLive":293},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":10232,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":292},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":79},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":293},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":8},"end":{"line":411,"col":58}},"generated_from_span":null},"id":3593,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":293},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":57},"end":{"line":411,"col":58}},"generated_from_span":null},"id":3594,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":58},"end":{"line":411,"col":59}},"generated_from_span":null},"id":3595,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":411,"col":58},"end":{"line":411,"col":59}},"generated_from_span":null},"id":3596,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":17},"end":{"line":412,"col":33}},"generated_from_span":null},"id":3597,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":3598,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":24},"end":{"line":412,"col":25}},"generated_from_span":null},"id":3599,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":24},"end":{"line":412,"col":25}},"generated_from_span":null},"id":3600,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":10233,"kind":{"StorageLive":294},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":10234,"kind":{"Assign":[{"kind":{"Local":294},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":10235,"kind":{"StorageLive":295},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":10236,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":294},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":295},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":18},"end":{"line":412,"col":26}},"generated_from_span":null},"id":3603,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":295},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":17},"end":{"line":412,"col":33}},"generated_from_span":null},"id":3607,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","24"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":32},"end":{"line":412,"col":33}},"generated_from_span":null},"id":3608,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":11},"end":{"line":412,"col":12}},"generated_from_span":null},"id":3609,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":11},"end":{"line":412,"col":12}},"generated_from_span":null},"id":3610,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":10237,"kind":{"StorageLive":296},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":10238,"kind":{"Assign":[{"kind":{"Local":296},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":10239,"kind":{"StorageLive":297},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":10240,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":296},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":83},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":297},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":8},"end":{"line":412,"col":58}},"generated_from_span":null},"id":3613,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":297},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":80},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":57},"end":{"line":412,"col":58}},"generated_from_span":null},"id":3614,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":58},"end":{"line":412,"col":59}},"generated_from_span":null},"id":3615,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":412,"col":58},"end":{"line":412,"col":59}},"generated_from_span":null},"id":3616,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":17},"end":{"line":413,"col":33}},"generated_from_span":null},"id":3617,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":3618,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":24},"end":{"line":413,"col":25}},"generated_from_span":null},"id":3619,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":24},"end":{"line":413,"col":25}},"generated_from_span":null},"id":3620,"kind":{"Assign":[{"kind":{"Local":86},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":10241,"kind":{"StorageLive":298},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":10242,"kind":{"Assign":[{"kind":{"Local":298},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":10243,"kind":{"StorageLive":299},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":10244,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":298},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":86},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":299},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":18},"end":{"line":413,"col":26}},"generated_from_span":null},"id":3623,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":299},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":17},"end":{"line":413,"col":33}},"generated_from_span":null},"id":3627,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":85},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","32"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":32},"end":{"line":413,"col":33}},"generated_from_span":null},"id":3628,"kind":{"StorageDead":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":11},"end":{"line":413,"col":12}},"generated_from_span":null},"id":3629,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":11},"end":{"line":413,"col":12}},"generated_from_span":null},"id":3630,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":10245,"kind":{"StorageLive":300},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":10246,"kind":{"Assign":[{"kind":{"Local":300},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":10247,"kind":{"StorageLive":301},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":10248,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":300},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":87},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":301},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":8},"end":{"line":413,"col":58}},"generated_from_span":null},"id":3633,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":301},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":84},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":57},"end":{"line":413,"col":58}},"generated_from_span":null},"id":3634,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":58},"end":{"line":413,"col":59}},"generated_from_span":null},"id":3635,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":413,"col":58},"end":{"line":413,"col":59}},"generated_from_span":null},"id":3636,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":17},"end":{"line":414,"col":33}},"generated_from_span":null},"id":3637,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":3638,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":24},"end":{"line":414,"col":25}},"generated_from_span":null},"id":3639,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":24},"end":{"line":414,"col":25}},"generated_from_span":null},"id":3640,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":10249,"kind":{"StorageLive":302},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":10250,"kind":{"Assign":[{"kind":{"Local":302},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":10251,"kind":{"StorageLive":303},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":10252,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":302},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":90},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":303},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":18},"end":{"line":414,"col":26}},"generated_from_span":null},"id":3643,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":303},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":17},"end":{"line":414,"col":33}},"generated_from_span":null},"id":3647,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":89},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","40"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":32},"end":{"line":414,"col":33}},"generated_from_span":null},"id":3648,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":11},"end":{"line":414,"col":12}},"generated_from_span":null},"id":3649,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":11},"end":{"line":414,"col":12}},"generated_from_span":null},"id":3650,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":10253,"kind":{"StorageLive":304},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":10254,"kind":{"Assign":[{"kind":{"Local":304},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":10255,"kind":{"StorageLive":305},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":10256,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":304},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":91},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":305},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":8},"end":{"line":414,"col":58}},"generated_from_span":null},"id":3653,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":305},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":88},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":57},"end":{"line":414,"col":58}},"generated_from_span":null},"id":3654,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":58},"end":{"line":414,"col":59}},"generated_from_span":null},"id":3655,"kind":{"StorageDead":91},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":414,"col":58},"end":{"line":414,"col":59}},"generated_from_span":null},"id":3656,"kind":{"StorageDead":90},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":16},"end":{"line":415,"col":52}},"generated_from_span":null},"id":3657,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":17},"end":{"line":415,"col":33}},"generated_from_span":null},"id":3658,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":3659,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":24},"end":{"line":415,"col":25}},"generated_from_span":null},"id":3660,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":24},"end":{"line":415,"col":25}},"generated_from_span":null},"id":3661,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":10257,"kind":{"StorageLive":306},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":10258,"kind":{"Assign":[{"kind":{"Local":306},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":10259,"kind":{"StorageLive":307},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":10260,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":306},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":95},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":307},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":18},"end":{"line":415,"col":26}},"generated_from_span":null},"id":3664,"kind":{"Assign":[{"kind":{"Local":94},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":307},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":17},"end":{"line":415,"col":33}},"generated_from_span":null},"id":3668,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":94},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","48"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":32},"end":{"line":415,"col":33}},"generated_from_span":null},"id":3669,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":36},"end":{"line":415,"col":51}},"generated_from_span":null},"id":3670,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":3671,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":43},"end":{"line":415,"col":44}},"generated_from_span":null},"id":3672,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":43},"end":{"line":415,"col":44}},"generated_from_span":null},"id":3673,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":10261,"kind":{"StorageLive":308},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":10262,"kind":{"Assign":[{"kind":{"Local":308},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":10263,"kind":{"StorageLive":309},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":10264,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":308},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":98},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":309},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":37},"end":{"line":415,"col":45}},"generated_from_span":null},"id":3676,"kind":{"Assign":[{"kind":{"Local":97},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":309},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":36},"end":{"line":415,"col":51}},"generated_from_span":null},"id":3680,"kind":{"Assign":[{"kind":{"Local":96},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":97},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","3"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":50},"end":{"line":415,"col":51}},"generated_from_span":null},"id":3681,"kind":{"StorageDead":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":16},"end":{"line":415,"col":52}},"generated_from_span":null},"id":3682,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":93},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":96},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":51},"end":{"line":415,"col":52}},"generated_from_span":null},"id":3683,"kind":{"StorageDead":96},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":51},"end":{"line":415,"col":52}},"generated_from_span":null},"id":3684,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":11},"end":{"line":415,"col":12}},"generated_from_span":null},"id":3685,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":11},"end":{"line":415,"col":12}},"generated_from_span":null},"id":3686,"kind":{"Assign":[{"kind":{"Local":99},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","6"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":10265,"kind":{"StorageLive":310},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":10266,"kind":{"Assign":[{"kind":{"Local":310},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":10267,"kind":{"StorageLive":311},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":10268,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":310},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":99},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":311},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":8},"end":{"line":415,"col":58}},"generated_from_span":null},"id":3689,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":311},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":92},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":57},"end":{"line":415,"col":58}},"generated_from_span":null},"id":3690,"kind":{"StorageDead":92},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":58},"end":{"line":415,"col":59}},"generated_from_span":null},"id":3691,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":58},"end":{"line":415,"col":59}},"generated_from_span":null},"id":3692,"kind":{"StorageDead":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":415,"col":58},"end":{"line":415,"col":59}},"generated_from_span":null},"id":3693,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":17},"end":{"line":416,"col":33}},"generated_from_span":null},"id":3694,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":3695,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":24},"end":{"line":416,"col":25}},"generated_from_span":null},"id":3696,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":24},"end":{"line":416,"col":25}},"generated_from_span":null},"id":3697,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":10269,"kind":{"StorageLive":312},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":10270,"kind":{"Assign":[{"kind":{"Local":312},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":10271,"kind":{"StorageLive":313},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":10272,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":312},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":102},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":313},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":18},"end":{"line":416,"col":26}},"generated_from_span":null},"id":3700,"kind":{"Assign":[{"kind":{"Local":101},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":313},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":17},"end":{"line":416,"col":33}},"generated_from_span":null},"id":3704,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":101},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","5"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":32},"end":{"line":416,"col":33}},"generated_from_span":null},"id":3705,"kind":{"StorageDead":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":11},"end":{"line":416,"col":12}},"generated_from_span":null},"id":3706,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":11},"end":{"line":416,"col":12}},"generated_from_span":null},"id":3707,"kind":{"Assign":[{"kind":{"Local":103},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":10273,"kind":{"StorageLive":314},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":10274,"kind":{"Assign":[{"kind":{"Local":314},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":10275,"kind":{"StorageLive":315},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":10276,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":314},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":103},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":315},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":8},"end":{"line":416,"col":58}},"generated_from_span":null},"id":3710,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":315},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":100},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":57},"end":{"line":416,"col":58}},"generated_from_span":null},"id":3711,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":58},"end":{"line":416,"col":59}},"generated_from_span":null},"id":3712,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":416,"col":58},"end":{"line":416,"col":59}},"generated_from_span":null},"id":3713,"kind":{"StorageDead":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":17},"end":{"line":417,"col":33}},"generated_from_span":null},"id":3714,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":3715,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":24},"end":{"line":417,"col":25}},"generated_from_span":null},"id":3716,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":24},"end":{"line":417,"col":25}},"generated_from_span":null},"id":3717,"kind":{"Assign":[{"kind":{"Local":106},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":10277,"kind":{"StorageLive":316},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":10278,"kind":{"Assign":[{"kind":{"Local":316},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":10279,"kind":{"StorageLive":317},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":10280,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":316},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":106},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":317},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":18},"end":{"line":417,"col":26}},"generated_from_span":null},"id":3720,"kind":{"Assign":[{"kind":{"Local":105},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":317},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":17},"end":{"line":417,"col":33}},"generated_from_span":null},"id":3724,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":105},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","13"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":32},"end":{"line":417,"col":33}},"generated_from_span":null},"id":3725,"kind":{"StorageDead":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":11},"end":{"line":417,"col":12}},"generated_from_span":null},"id":3726,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":11},"end":{"line":417,"col":12}},"generated_from_span":null},"id":3727,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":10281,"kind":{"StorageLive":318},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":10282,"kind":{"Assign":[{"kind":{"Local":318},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":10283,"kind":{"StorageLive":319},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":10284,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":318},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":107},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":319},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":8},"end":{"line":417,"col":58}},"generated_from_span":null},"id":3730,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":319},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":104},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":57},"end":{"line":417,"col":58}},"generated_from_span":null},"id":3731,"kind":{"StorageDead":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":58},"end":{"line":417,"col":59}},"generated_from_span":null},"id":3732,"kind":{"StorageDead":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":417,"col":58},"end":{"line":417,"col":59}},"generated_from_span":null},"id":3733,"kind":{"StorageDead":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":17},"end":{"line":418,"col":33}},"generated_from_span":null},"id":3734,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":3735,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":24},"end":{"line":418,"col":25}},"generated_from_span":null},"id":3736,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":24},"end":{"line":418,"col":25}},"generated_from_span":null},"id":3737,"kind":{"Assign":[{"kind":{"Local":110},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":10285,"kind":{"StorageLive":320},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":10286,"kind":{"Assign":[{"kind":{"Local":320},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":10287,"kind":{"StorageLive":321},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":10288,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":320},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":110},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":321},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":18},"end":{"line":418,"col":26}},"generated_from_span":null},"id":3740,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":321},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":17},"end":{"line":418,"col":33}},"generated_from_span":null},"id":3744,"kind":{"Assign":[{"kind":{"Local":108},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","21"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":32},"end":{"line":418,"col":33}},"generated_from_span":null},"id":3745,"kind":{"StorageDead":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":11},"end":{"line":418,"col":12}},"generated_from_span":null},"id":3746,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":11},"end":{"line":418,"col":12}},"generated_from_span":null},"id":3747,"kind":{"Assign":[{"kind":{"Local":111},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","9"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":10289,"kind":{"StorageLive":322},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":10290,"kind":{"Assign":[{"kind":{"Local":322},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":10291,"kind":{"StorageLive":323},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":10292,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":322},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":111},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":323},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":8},"end":{"line":418,"col":58}},"generated_from_span":null},"id":3750,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":323},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":108},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":57},"end":{"line":418,"col":58}},"generated_from_span":null},"id":3751,"kind":{"StorageDead":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":58},"end":{"line":418,"col":59}},"generated_from_span":null},"id":3752,"kind":{"StorageDead":111},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":418,"col":58},"end":{"line":418,"col":59}},"generated_from_span":null},"id":3753,"kind":{"StorageDead":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":17},"end":{"line":419,"col":33}},"generated_from_span":null},"id":3754,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":3755,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":24},"end":{"line":419,"col":25}},"generated_from_span":null},"id":3756,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":24},"end":{"line":419,"col":25}},"generated_from_span":null},"id":3757,"kind":{"Assign":[{"kind":{"Local":114},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":10293,"kind":{"StorageLive":324},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":10294,"kind":{"Assign":[{"kind":{"Local":324},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":10295,"kind":{"StorageLive":325},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":10296,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":324},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":114},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":325},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":18},"end":{"line":419,"col":26}},"generated_from_span":null},"id":3760,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":325},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":17},"end":{"line":419,"col":33}},"generated_from_span":null},"id":3764,"kind":{"Assign":[{"kind":{"Local":112},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":113},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","29"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":32},"end":{"line":419,"col":33}},"generated_from_span":null},"id":3765,"kind":{"StorageDead":113},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":10},"end":{"line":419,"col":12}},"generated_from_span":null},"id":3766,"kind":{"StorageLive":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":10},"end":{"line":419,"col":12}},"generated_from_span":null},"id":3767,"kind":{"Assign":[{"kind":{"Local":115},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","10"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":10297,"kind":{"StorageLive":326},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":10298,"kind":{"Assign":[{"kind":{"Local":326},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":10299,"kind":{"StorageLive":327},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":10300,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":326},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":115},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":327},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":8},"end":{"line":419,"col":58}},"generated_from_span":null},"id":3770,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":327},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":112},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":57},"end":{"line":419,"col":58}},"generated_from_span":null},"id":3771,"kind":{"StorageDead":112},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":58},"end":{"line":419,"col":59}},"generated_from_span":null},"id":3772,"kind":{"StorageDead":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":419,"col":58},"end":{"line":419,"col":59}},"generated_from_span":null},"id":3773,"kind":{"StorageDead":114},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":17},"end":{"line":420,"col":33}},"generated_from_span":null},"id":3774,"kind":{"StorageLive":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":3775,"kind":{"StorageLive":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":24},"end":{"line":420,"col":25}},"generated_from_span":null},"id":3776,"kind":{"StorageLive":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":24},"end":{"line":420,"col":25}},"generated_from_span":null},"id":3777,"kind":{"Assign":[{"kind":{"Local":118},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":10301,"kind":{"StorageLive":328},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":10302,"kind":{"Assign":[{"kind":{"Local":328},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":10303,"kind":{"StorageLive":329},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":10304,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":328},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":118},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":329},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":18},"end":{"line":420,"col":26}},"generated_from_span":null},"id":3780,"kind":{"Assign":[{"kind":{"Local":117},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":329},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":17},"end":{"line":420,"col":33}},"generated_from_span":null},"id":3784,"kind":{"Assign":[{"kind":{"Local":116},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":117},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","37"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":32},"end":{"line":420,"col":33}},"generated_from_span":null},"id":3785,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":10},"end":{"line":420,"col":12}},"generated_from_span":null},"id":3786,"kind":{"StorageLive":119},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":10},"end":{"line":420,"col":12}},"generated_from_span":null},"id":3787,"kind":{"Assign":[{"kind":{"Local":119},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","11"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":10305,"kind":{"StorageLive":330},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":10306,"kind":{"Assign":[{"kind":{"Local":330},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":10307,"kind":{"StorageLive":331},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":10308,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":330},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":119},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":331},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":8},"end":{"line":420,"col":58}},"generated_from_span":null},"id":3790,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":331},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":116},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":57},"end":{"line":420,"col":58}},"generated_from_span":null},"id":3791,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":58},"end":{"line":420,"col":59}},"generated_from_span":null},"id":3792,"kind":{"StorageDead":119},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":420,"col":58},"end":{"line":420,"col":59}},"generated_from_span":null},"id":3793,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":16},"end":{"line":421,"col":52}},"generated_from_span":null},"id":3794,"kind":{"StorageLive":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":17},"end":{"line":421,"col":33}},"generated_from_span":null},"id":3795,"kind":{"StorageLive":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":3796,"kind":{"StorageLive":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":24},"end":{"line":421,"col":25}},"generated_from_span":null},"id":3797,"kind":{"StorageLive":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":24},"end":{"line":421,"col":25}},"generated_from_span":null},"id":3798,"kind":{"Assign":[{"kind":{"Local":123},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":10309,"kind":{"StorageLive":332},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":10310,"kind":{"Assign":[{"kind":{"Local":332},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":10311,"kind":{"StorageLive":333},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":10312,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":332},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":123},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":333},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":18},"end":{"line":421,"col":26}},"generated_from_span":null},"id":3801,"kind":{"Assign":[{"kind":{"Local":122},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":333},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":17},"end":{"line":421,"col":33}},"generated_from_span":null},"id":3805,"kind":{"Assign":[{"kind":{"Local":121},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":122},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","45"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":32},"end":{"line":421,"col":33}},"generated_from_span":null},"id":3806,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":36},"end":{"line":421,"col":51}},"generated_from_span":null},"id":3807,"kind":{"StorageLive":124},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":3808,"kind":{"StorageLive":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":43},"end":{"line":421,"col":44}},"generated_from_span":null},"id":3809,"kind":{"StorageLive":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":43},"end":{"line":421,"col":44}},"generated_from_span":null},"id":3810,"kind":{"Assign":[{"kind":{"Local":126},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":10313,"kind":{"StorageLive":334},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":10314,"kind":{"Assign":[{"kind":{"Local":334},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":10315,"kind":{"StorageLive":335},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":10316,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":334},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":126},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":335},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":37},"end":{"line":421,"col":45}},"generated_from_span":null},"id":3813,"kind":{"Assign":[{"kind":{"Local":125},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":335},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":36},"end":{"line":421,"col":51}},"generated_from_span":null},"id":3817,"kind":{"Assign":[{"kind":{"Local":124},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":125},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","6"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":50},"end":{"line":421,"col":51}},"generated_from_span":null},"id":3818,"kind":{"StorageDead":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":16},"end":{"line":421,"col":52}},"generated_from_span":null},"id":3819,"kind":{"Assign":[{"kind":{"Local":120},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":121},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":124},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":51},"end":{"line":421,"col":52}},"generated_from_span":null},"id":3820,"kind":{"StorageDead":124},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":51},"end":{"line":421,"col":52}},"generated_from_span":null},"id":3821,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":10},"end":{"line":421,"col":12}},"generated_from_span":null},"id":3822,"kind":{"StorageLive":127},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":10},"end":{"line":421,"col":12}},"generated_from_span":null},"id":3823,"kind":{"Assign":[{"kind":{"Local":127},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","12"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":10317,"kind":{"StorageLive":336},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":10318,"kind":{"Assign":[{"kind":{"Local":336},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":10319,"kind":{"StorageLive":337},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":10320,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":336},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":127},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":337},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":8},"end":{"line":421,"col":58}},"generated_from_span":null},"id":3826,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":337},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":120},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":57},"end":{"line":421,"col":58}},"generated_from_span":null},"id":3827,"kind":{"StorageDead":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":58},"end":{"line":421,"col":59}},"generated_from_span":null},"id":3828,"kind":{"StorageDead":127},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":58},"end":{"line":421,"col":59}},"generated_from_span":null},"id":3829,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":421,"col":58},"end":{"line":421,"col":59}},"generated_from_span":null},"id":3830,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":17},"end":{"line":422,"col":33}},"generated_from_span":null},"id":3831,"kind":{"StorageLive":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":3832,"kind":{"StorageLive":129},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":24},"end":{"line":422,"col":25}},"generated_from_span":null},"id":3833,"kind":{"StorageLive":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":24},"end":{"line":422,"col":25}},"generated_from_span":null},"id":3834,"kind":{"Assign":[{"kind":{"Local":130},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":10321,"kind":{"StorageLive":338},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":10322,"kind":{"Assign":[{"kind":{"Local":338},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":10323,"kind":{"StorageLive":339},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":10324,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":338},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":130},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":339},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":18},"end":{"line":422,"col":26}},"generated_from_span":null},"id":3837,"kind":{"Assign":[{"kind":{"Local":129},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":339},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":17},"end":{"line":422,"col":33}},"generated_from_span":null},"id":3841,"kind":{"Assign":[{"kind":{"Local":128},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":129},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","2"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":32},"end":{"line":422,"col":33}},"generated_from_span":null},"id":3842,"kind":{"StorageDead":129},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":10},"end":{"line":422,"col":12}},"generated_from_span":null},"id":3843,"kind":{"StorageLive":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":10},"end":{"line":422,"col":12}},"generated_from_span":null},"id":3844,"kind":{"Assign":[{"kind":{"Local":131},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","13"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":10325,"kind":{"StorageLive":340},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":10326,"kind":{"Assign":[{"kind":{"Local":340},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":10327,"kind":{"StorageLive":341},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":10328,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":340},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":131},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":341},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":8},"end":{"line":422,"col":58}},"generated_from_span":null},"id":3847,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":341},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":128},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":57},"end":{"line":422,"col":58}},"generated_from_span":null},"id":3848,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":58},"end":{"line":422,"col":59}},"generated_from_span":null},"id":3849,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":422,"col":58},"end":{"line":422,"col":59}},"generated_from_span":null},"id":3850,"kind":{"StorageDead":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":17},"end":{"line":423,"col":33}},"generated_from_span":null},"id":3851,"kind":{"StorageLive":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":3852,"kind":{"StorageLive":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":24},"end":{"line":423,"col":25}},"generated_from_span":null},"id":3853,"kind":{"StorageLive":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":24},"end":{"line":423,"col":25}},"generated_from_span":null},"id":3854,"kind":{"Assign":[{"kind":{"Local":134},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":10329,"kind":{"StorageLive":342},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":10330,"kind":{"Assign":[{"kind":{"Local":342},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":10331,"kind":{"StorageLive":343},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":10332,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":342},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":134},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":343},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":18},"end":{"line":423,"col":26}},"generated_from_span":null},"id":3857,"kind":{"Assign":[{"kind":{"Local":133},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":343},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":17},"end":{"line":423,"col":33}},"generated_from_span":null},"id":3861,"kind":{"Assign":[{"kind":{"Local":132},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":133},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","10"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":32},"end":{"line":423,"col":33}},"generated_from_span":null},"id":3862,"kind":{"StorageDead":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":10},"end":{"line":423,"col":12}},"generated_from_span":null},"id":3863,"kind":{"StorageLive":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":10},"end":{"line":423,"col":12}},"generated_from_span":null},"id":3864,"kind":{"Assign":[{"kind":{"Local":135},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","14"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":10333,"kind":{"StorageLive":344},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":10334,"kind":{"Assign":[{"kind":{"Local":344},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":10335,"kind":{"StorageLive":345},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":10336,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":344},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":135},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":345},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":8},"end":{"line":423,"col":58}},"generated_from_span":null},"id":3867,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":345},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":132},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":57},"end":{"line":423,"col":58}},"generated_from_span":null},"id":3868,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":58},"end":{"line":423,"col":59}},"generated_from_span":null},"id":3869,"kind":{"StorageDead":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":423,"col":58},"end":{"line":423,"col":59}},"generated_from_span":null},"id":3870,"kind":{"StorageDead":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":17},"end":{"line":424,"col":33}},"generated_from_span":null},"id":3871,"kind":{"StorageLive":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":3872,"kind":{"StorageLive":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":24},"end":{"line":424,"col":25}},"generated_from_span":null},"id":3873,"kind":{"StorageLive":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":24},"end":{"line":424,"col":25}},"generated_from_span":null},"id":3874,"kind":{"Assign":[{"kind":{"Local":138},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":10337,"kind":{"StorageLive":346},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":10338,"kind":{"Assign":[{"kind":{"Local":346},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":10339,"kind":{"StorageLive":347},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":10340,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":346},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":138},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":347},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":18},"end":{"line":424,"col":26}},"generated_from_span":null},"id":3877,"kind":{"Assign":[{"kind":{"Local":137},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":347},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":17},"end":{"line":424,"col":33}},"generated_from_span":null},"id":3881,"kind":{"Assign":[{"kind":{"Local":136},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":137},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","18"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":32},"end":{"line":424,"col":33}},"generated_from_span":null},"id":3882,"kind":{"StorageDead":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":10},"end":{"line":424,"col":12}},"generated_from_span":null},"id":3883,"kind":{"StorageLive":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":10},"end":{"line":424,"col":12}},"generated_from_span":null},"id":3884,"kind":{"Assign":[{"kind":{"Local":139},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","15"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":10341,"kind":{"StorageLive":348},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":10342,"kind":{"Assign":[{"kind":{"Local":348},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":10343,"kind":{"StorageLive":349},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":10344,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":348},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":139},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":349},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":8},"end":{"line":424,"col":58}},"generated_from_span":null},"id":3887,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":349},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":136},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":57},"end":{"line":424,"col":58}},"generated_from_span":null},"id":3888,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":58},"end":{"line":424,"col":59}},"generated_from_span":null},"id":3889,"kind":{"StorageDead":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":424,"col":58},"end":{"line":424,"col":59}},"generated_from_span":null},"id":3890,"kind":{"StorageDead":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":17},"end":{"line":425,"col":33}},"generated_from_span":null},"id":3891,"kind":{"StorageLive":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":3892,"kind":{"StorageLive":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":24},"end":{"line":425,"col":25}},"generated_from_span":null},"id":3893,"kind":{"StorageLive":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":24},"end":{"line":425,"col":25}},"generated_from_span":null},"id":3894,"kind":{"Assign":[{"kind":{"Local":142},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":10345,"kind":{"StorageLive":350},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":10346,"kind":{"Assign":[{"kind":{"Local":350},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":10347,"kind":{"StorageLive":351},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":10348,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":350},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":142},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":351},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":18},"end":{"line":425,"col":26}},"generated_from_span":null},"id":3897,"kind":{"Assign":[{"kind":{"Local":141},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":351},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":17},"end":{"line":425,"col":33}},"generated_from_span":null},"id":3901,"kind":{"Assign":[{"kind":{"Local":140},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":141},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","26"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":32},"end":{"line":425,"col":33}},"generated_from_span":null},"id":3902,"kind":{"StorageDead":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":10},"end":{"line":425,"col":12}},"generated_from_span":null},"id":3903,"kind":{"StorageLive":143},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":10},"end":{"line":425,"col":12}},"generated_from_span":null},"id":3904,"kind":{"Assign":[{"kind":{"Local":143},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","16"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":10349,"kind":{"StorageLive":352},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":10350,"kind":{"Assign":[{"kind":{"Local":352},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":10351,"kind":{"StorageLive":353},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":10352,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":352},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":143},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":353},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":8},"end":{"line":425,"col":58}},"generated_from_span":null},"id":3907,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":353},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":140},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":57},"end":{"line":425,"col":58}},"generated_from_span":null},"id":3908,"kind":{"StorageDead":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":58},"end":{"line":425,"col":59}},"generated_from_span":null},"id":3909,"kind":{"StorageDead":143},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":425,"col":58},"end":{"line":425,"col":59}},"generated_from_span":null},"id":3910,"kind":{"StorageDead":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":17},"end":{"line":426,"col":33}},"generated_from_span":null},"id":3911,"kind":{"StorageLive":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":3912,"kind":{"StorageLive":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":24},"end":{"line":426,"col":25}},"generated_from_span":null},"id":3913,"kind":{"StorageLive":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":24},"end":{"line":426,"col":25}},"generated_from_span":null},"id":3914,"kind":{"Assign":[{"kind":{"Local":146},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":10353,"kind":{"StorageLive":354},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":10354,"kind":{"Assign":[{"kind":{"Local":354},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":10355,"kind":{"StorageLive":355},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":10356,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":354},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":146},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":355},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":18},"end":{"line":426,"col":26}},"generated_from_span":null},"id":3917,"kind":{"Assign":[{"kind":{"Local":145},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":355},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":17},"end":{"line":426,"col":33}},"generated_from_span":null},"id":3921,"kind":{"Assign":[{"kind":{"Local":144},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":145},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","34"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":32},"end":{"line":426,"col":33}},"generated_from_span":null},"id":3922,"kind":{"StorageDead":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":10},"end":{"line":426,"col":12}},"generated_from_span":null},"id":3923,"kind":{"StorageLive":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":10},"end":{"line":426,"col":12}},"generated_from_span":null},"id":3924,"kind":{"Assign":[{"kind":{"Local":147},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","17"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":10357,"kind":{"StorageLive":356},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":10358,"kind":{"Assign":[{"kind":{"Local":356},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":10359,"kind":{"StorageLive":357},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":10360,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":356},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":147},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":357},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":8},"end":{"line":426,"col":58}},"generated_from_span":null},"id":3927,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":357},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":144},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":57},"end":{"line":426,"col":58}},"generated_from_span":null},"id":3928,"kind":{"StorageDead":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":58},"end":{"line":426,"col":59}},"generated_from_span":null},"id":3929,"kind":{"StorageDead":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":426,"col":58},"end":{"line":426,"col":59}},"generated_from_span":null},"id":3930,"kind":{"StorageDead":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":17},"end":{"line":427,"col":33}},"generated_from_span":null},"id":3931,"kind":{"StorageLive":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":3932,"kind":{"StorageLive":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":24},"end":{"line":427,"col":25}},"generated_from_span":null},"id":3933,"kind":{"StorageLive":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":24},"end":{"line":427,"col":25}},"generated_from_span":null},"id":3934,"kind":{"Assign":[{"kind":{"Local":150},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":10361,"kind":{"StorageLive":358},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":10362,"kind":{"Assign":[{"kind":{"Local":358},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":10363,"kind":{"StorageLive":359},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":10364,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":358},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":150},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":359},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":18},"end":{"line":427,"col":26}},"generated_from_span":null},"id":3937,"kind":{"Assign":[{"kind":{"Local":149},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":359},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":17},"end":{"line":427,"col":33}},"generated_from_span":null},"id":3941,"kind":{"Assign":[{"kind":{"Local":148},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":149},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","42"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":32},"end":{"line":427,"col":33}},"generated_from_span":null},"id":3942,"kind":{"StorageDead":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":10},"end":{"line":427,"col":12}},"generated_from_span":null},"id":3943,"kind":{"StorageLive":151},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":10},"end":{"line":427,"col":12}},"generated_from_span":null},"id":3944,"kind":{"Assign":[{"kind":{"Local":151},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","18"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":10365,"kind":{"StorageLive":360},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":10366,"kind":{"Assign":[{"kind":{"Local":360},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":10367,"kind":{"StorageLive":361},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":10368,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":360},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":151},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":361},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":8},"end":{"line":427,"col":58}},"generated_from_span":null},"id":3947,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":361},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":148},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":57},"end":{"line":427,"col":58}},"generated_from_span":null},"id":3948,"kind":{"StorageDead":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":58},"end":{"line":427,"col":59}},"generated_from_span":null},"id":3949,"kind":{"StorageDead":151},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":427,"col":58},"end":{"line":427,"col":59}},"generated_from_span":null},"id":3950,"kind":{"StorageDead":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":16},"end":{"line":428,"col":52}},"generated_from_span":null},"id":3951,"kind":{"StorageLive":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":17},"end":{"line":428,"col":33}},"generated_from_span":null},"id":3952,"kind":{"StorageLive":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":3953,"kind":{"StorageLive":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":24},"end":{"line":428,"col":25}},"generated_from_span":null},"id":3954,"kind":{"StorageLive":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":24},"end":{"line":428,"col":25}},"generated_from_span":null},"id":3955,"kind":{"Assign":[{"kind":{"Local":155},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":10369,"kind":{"StorageLive":362},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":10370,"kind":{"Assign":[{"kind":{"Local":362},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":10371,"kind":{"StorageLive":363},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":10372,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":362},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":155},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":363},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":18},"end":{"line":428,"col":26}},"generated_from_span":null},"id":3958,"kind":{"Assign":[{"kind":{"Local":154},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":363},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":17},"end":{"line":428,"col":33}},"generated_from_span":null},"id":3962,"kind":{"Assign":[{"kind":{"Local":153},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":154},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","50"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":32},"end":{"line":428,"col":33}},"generated_from_span":null},"id":3963,"kind":{"StorageDead":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":36},"end":{"line":428,"col":51}},"generated_from_span":null},"id":3964,"kind":{"StorageLive":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":3965,"kind":{"StorageLive":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":43},"end":{"line":428,"col":44}},"generated_from_span":null},"id":3966,"kind":{"StorageLive":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":43},"end":{"line":428,"col":44}},"generated_from_span":null},"id":3967,"kind":{"Assign":[{"kind":{"Local":158},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":10373,"kind":{"StorageLive":364},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":10374,"kind":{"Assign":[{"kind":{"Local":364},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":10375,"kind":{"StorageLive":365},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":10376,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":364},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":158},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":365},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":37},"end":{"line":428,"col":45}},"generated_from_span":null},"id":3970,"kind":{"Assign":[{"kind":{"Local":157},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":365},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":36},"end":{"line":428,"col":51}},"generated_from_span":null},"id":3974,"kind":{"Assign":[{"kind":{"Local":156},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":157},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","1"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":50},"end":{"line":428,"col":51}},"generated_from_span":null},"id":3975,"kind":{"StorageDead":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":16},"end":{"line":428,"col":52}},"generated_from_span":null},"id":3976,"kind":{"Assign":[{"kind":{"Local":152},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":153},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":156},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":51},"end":{"line":428,"col":52}},"generated_from_span":null},"id":3977,"kind":{"StorageDead":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":51},"end":{"line":428,"col":52}},"generated_from_span":null},"id":3978,"kind":{"StorageDead":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":10},"end":{"line":428,"col":12}},"generated_from_span":null},"id":3979,"kind":{"StorageLive":159},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":10},"end":{"line":428,"col":12}},"generated_from_span":null},"id":3980,"kind":{"Assign":[{"kind":{"Local":159},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","19"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":10377,"kind":{"StorageLive":366},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":10378,"kind":{"Assign":[{"kind":{"Local":366},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":10379,"kind":{"StorageLive":367},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":10380,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":366},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":159},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":367},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":8},"end":{"line":428,"col":58}},"generated_from_span":null},"id":3983,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":367},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":152},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":57},"end":{"line":428,"col":58}},"generated_from_span":null},"id":3984,"kind":{"StorageDead":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":58},"end":{"line":428,"col":59}},"generated_from_span":null},"id":3985,"kind":{"StorageDead":159},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":58},"end":{"line":428,"col":59}},"generated_from_span":null},"id":3986,"kind":{"StorageDead":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":428,"col":58},"end":{"line":428,"col":59}},"generated_from_span":null},"id":3987,"kind":{"StorageDead":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":17},"end":{"line":429,"col":33}},"generated_from_span":null},"id":3988,"kind":{"StorageLive":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":3989,"kind":{"StorageLive":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":24},"end":{"line":429,"col":25}},"generated_from_span":null},"id":3990,"kind":{"StorageLive":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":24},"end":{"line":429,"col":25}},"generated_from_span":null},"id":3991,"kind":{"Assign":[{"kind":{"Local":162},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":10381,"kind":{"StorageLive":368},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":10382,"kind":{"Assign":[{"kind":{"Local":368},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":10383,"kind":{"StorageLive":369},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":10384,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":368},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":162},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":369},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":18},"end":{"line":429,"col":26}},"generated_from_span":null},"id":3994,"kind":{"Assign":[{"kind":{"Local":161},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":369},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":17},"end":{"line":429,"col":33}},"generated_from_span":null},"id":3998,"kind":{"Assign":[{"kind":{"Local":160},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":161},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","7"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":32},"end":{"line":429,"col":33}},"generated_from_span":null},"id":3999,"kind":{"StorageDead":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":10},"end":{"line":429,"col":12}},"generated_from_span":null},"id":4000,"kind":{"StorageLive":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":10},"end":{"line":429,"col":12}},"generated_from_span":null},"id":4001,"kind":{"Assign":[{"kind":{"Local":163},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","20"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":10385,"kind":{"StorageLive":370},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":10386,"kind":{"Assign":[{"kind":{"Local":370},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":10387,"kind":{"StorageLive":371},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":10388,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":370},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":163},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":371},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":8},"end":{"line":429,"col":58}},"generated_from_span":null},"id":4004,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":371},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":160},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":57},"end":{"line":429,"col":58}},"generated_from_span":null},"id":4005,"kind":{"StorageDead":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":58},"end":{"line":429,"col":59}},"generated_from_span":null},"id":4006,"kind":{"StorageDead":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":429,"col":58},"end":{"line":429,"col":59}},"generated_from_span":null},"id":4007,"kind":{"StorageDead":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":17},"end":{"line":430,"col":33}},"generated_from_span":null},"id":4008,"kind":{"StorageLive":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":4009,"kind":{"StorageLive":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":24},"end":{"line":430,"col":25}},"generated_from_span":null},"id":4010,"kind":{"StorageLive":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":24},"end":{"line":430,"col":25}},"generated_from_span":null},"id":4011,"kind":{"Assign":[{"kind":{"Local":166},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":10389,"kind":{"StorageLive":372},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":10390,"kind":{"Assign":[{"kind":{"Local":372},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":10391,"kind":{"StorageLive":373},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":10392,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":372},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":166},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":373},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":18},"end":{"line":430,"col":26}},"generated_from_span":null},"id":4014,"kind":{"Assign":[{"kind":{"Local":165},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":373},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":17},"end":{"line":430,"col":33}},"generated_from_span":null},"id":4018,"kind":{"Assign":[{"kind":{"Local":164},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":165},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","15"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":32},"end":{"line":430,"col":33}},"generated_from_span":null},"id":4019,"kind":{"StorageDead":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":10},"end":{"line":430,"col":12}},"generated_from_span":null},"id":4020,"kind":{"StorageLive":167},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":10},"end":{"line":430,"col":12}},"generated_from_span":null},"id":4021,"kind":{"Assign":[{"kind":{"Local":167},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","21"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":10393,"kind":{"StorageLive":374},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":10394,"kind":{"Assign":[{"kind":{"Local":374},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":10395,"kind":{"StorageLive":375},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":10396,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":374},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":167},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":375},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":8},"end":{"line":430,"col":58}},"generated_from_span":null},"id":4024,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":375},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":164},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":57},"end":{"line":430,"col":58}},"generated_from_span":null},"id":4025,"kind":{"StorageDead":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":58},"end":{"line":430,"col":59}},"generated_from_span":null},"id":4026,"kind":{"StorageDead":167},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":430,"col":58},"end":{"line":430,"col":59}},"generated_from_span":null},"id":4027,"kind":{"StorageDead":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":17},"end":{"line":431,"col":33}},"generated_from_span":null},"id":4028,"kind":{"StorageLive":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":4029,"kind":{"StorageLive":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":24},"end":{"line":431,"col":25}},"generated_from_span":null},"id":4030,"kind":{"StorageLive":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":24},"end":{"line":431,"col":25}},"generated_from_span":null},"id":4031,"kind":{"Assign":[{"kind":{"Local":170},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":10397,"kind":{"StorageLive":376},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":10398,"kind":{"Assign":[{"kind":{"Local":376},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":10399,"kind":{"StorageLive":377},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":10400,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":376},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":170},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":377},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":18},"end":{"line":431,"col":26}},"generated_from_span":null},"id":4034,"kind":{"Assign":[{"kind":{"Local":169},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":377},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":17},"end":{"line":431,"col":33}},"generated_from_span":null},"id":4038,"kind":{"Assign":[{"kind":{"Local":168},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":169},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","23"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":32},"end":{"line":431,"col":33}},"generated_from_span":null},"id":4039,"kind":{"StorageDead":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":10},"end":{"line":431,"col":12}},"generated_from_span":null},"id":4040,"kind":{"StorageLive":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":10},"end":{"line":431,"col":12}},"generated_from_span":null},"id":4041,"kind":{"Assign":[{"kind":{"Local":171},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","22"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":10401,"kind":{"StorageLive":378},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":10402,"kind":{"Assign":[{"kind":{"Local":378},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":10403,"kind":{"StorageLive":379},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":10404,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":378},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":171},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":379},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":8},"end":{"line":431,"col":58}},"generated_from_span":null},"id":4044,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":379},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":168},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":57},"end":{"line":431,"col":58}},"generated_from_span":null},"id":4045,"kind":{"StorageDead":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":58},"end":{"line":431,"col":59}},"generated_from_span":null},"id":4046,"kind":{"StorageDead":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":431,"col":58},"end":{"line":431,"col":59}},"generated_from_span":null},"id":4047,"kind":{"StorageDead":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":17},"end":{"line":432,"col":33}},"generated_from_span":null},"id":4048,"kind":{"StorageLive":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":4049,"kind":{"StorageLive":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":24},"end":{"line":432,"col":25}},"generated_from_span":null},"id":4050,"kind":{"StorageLive":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":24},"end":{"line":432,"col":25}},"generated_from_span":null},"id":4051,"kind":{"Assign":[{"kind":{"Local":174},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":10405,"kind":{"StorageLive":380},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":10406,"kind":{"Assign":[{"kind":{"Local":380},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":10407,"kind":{"StorageLive":381},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":10408,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":380},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":174},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":381},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":18},"end":{"line":432,"col":26}},"generated_from_span":null},"id":4054,"kind":{"Assign":[{"kind":{"Local":173},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":381},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":17},"end":{"line":432,"col":33}},"generated_from_span":null},"id":4058,"kind":{"Assign":[{"kind":{"Local":172},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":173},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","31"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":32},"end":{"line":432,"col":33}},"generated_from_span":null},"id":4059,"kind":{"StorageDead":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":10},"end":{"line":432,"col":12}},"generated_from_span":null},"id":4060,"kind":{"StorageLive":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":10},"end":{"line":432,"col":12}},"generated_from_span":null},"id":4061,"kind":{"Assign":[{"kind":{"Local":175},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","23"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":10409,"kind":{"StorageLive":382},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":10410,"kind":{"Assign":[{"kind":{"Local":382},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":10411,"kind":{"StorageLive":383},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":10412,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":382},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":175},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":383},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":8},"end":{"line":432,"col":58}},"generated_from_span":null},"id":4064,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":383},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":172},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":57},"end":{"line":432,"col":58}},"generated_from_span":null},"id":4065,"kind":{"StorageDead":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":58},"end":{"line":432,"col":59}},"generated_from_span":null},"id":4066,"kind":{"StorageDead":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":432,"col":58},"end":{"line":432,"col":59}},"generated_from_span":null},"id":4067,"kind":{"StorageDead":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":17},"end":{"line":433,"col":33}},"generated_from_span":null},"id":4068,"kind":{"StorageLive":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":4069,"kind":{"StorageLive":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":24},"end":{"line":433,"col":25}},"generated_from_span":null},"id":4070,"kind":{"StorageLive":178},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":24},"end":{"line":433,"col":25}},"generated_from_span":null},"id":4071,"kind":{"Assign":[{"kind":{"Local":178},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":10413,"kind":{"StorageLive":384},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":10414,"kind":{"Assign":[{"kind":{"Local":384},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":10415,"kind":{"StorageLive":385},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":10416,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":384},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":178},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":385},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":18},"end":{"line":433,"col":26}},"generated_from_span":null},"id":4074,"kind":{"Assign":[{"kind":{"Local":177},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":385},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":17},"end":{"line":433,"col":33}},"generated_from_span":null},"id":4078,"kind":{"Assign":[{"kind":{"Local":176},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":177},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","39"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":32},"end":{"line":433,"col":33}},"generated_from_span":null},"id":4079,"kind":{"StorageDead":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":10},"end":{"line":433,"col":12}},"generated_from_span":null},"id":4080,"kind":{"StorageLive":179},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":10},"end":{"line":433,"col":12}},"generated_from_span":null},"id":4081,"kind":{"Assign":[{"kind":{"Local":179},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","24"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":10417,"kind":{"StorageLive":386},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":10418,"kind":{"Assign":[{"kind":{"Local":386},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":10419,"kind":{"StorageLive":387},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":10420,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":386},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":179},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":387},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":8},"end":{"line":433,"col":58}},"generated_from_span":null},"id":4084,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":387},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":176},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":57},"end":{"line":433,"col":58}},"generated_from_span":null},"id":4085,"kind":{"StorageDead":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":58},"end":{"line":433,"col":59}},"generated_from_span":null},"id":4086,"kind":{"StorageDead":179},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":433,"col":58},"end":{"line":433,"col":59}},"generated_from_span":null},"id":4087,"kind":{"StorageDead":178},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":16},"end":{"line":434,"col":52}},"generated_from_span":null},"id":4088,"kind":{"StorageLive":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":17},"end":{"line":434,"col":33}},"generated_from_span":null},"id":4089,"kind":{"StorageLive":181},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":4090,"kind":{"StorageLive":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":24},"end":{"line":434,"col":25}},"generated_from_span":null},"id":4091,"kind":{"StorageLive":183},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":24},"end":{"line":434,"col":25}},"generated_from_span":null},"id":4092,"kind":{"Assign":[{"kind":{"Local":183},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":10421,"kind":{"StorageLive":388},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":10422,"kind":{"Assign":[{"kind":{"Local":388},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":10423,"kind":{"StorageLive":389},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":10424,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":388},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":183},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":389},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":18},"end":{"line":434,"col":26}},"generated_from_span":null},"id":4095,"kind":{"Assign":[{"kind":{"Local":182},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":389},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":17},"end":{"line":434,"col":33}},"generated_from_span":null},"id":4099,"kind":{"Assign":[{"kind":{"Local":181},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":182},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","47"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":32},"end":{"line":434,"col":33}},"generated_from_span":null},"id":4100,"kind":{"StorageDead":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":36},"end":{"line":434,"col":51}},"generated_from_span":null},"id":4101,"kind":{"StorageLive":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":4102,"kind":{"StorageLive":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":43},"end":{"line":434,"col":44}},"generated_from_span":null},"id":4103,"kind":{"StorageLive":186},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":43},"end":{"line":434,"col":44}},"generated_from_span":null},"id":4104,"kind":{"Assign":[{"kind":{"Local":186},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":10425,"kind":{"StorageLive":390},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":10426,"kind":{"Assign":[{"kind":{"Local":390},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":10427,"kind":{"StorageLive":391},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":10428,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":390},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":186},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":391},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":37},"end":{"line":434,"col":45}},"generated_from_span":null},"id":4107,"kind":{"Assign":[{"kind":{"Local":185},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":391},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":36},"end":{"line":434,"col":51}},"generated_from_span":null},"id":4111,"kind":{"Assign":[{"kind":{"Local":184},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":185},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","4"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":50},"end":{"line":434,"col":51}},"generated_from_span":null},"id":4112,"kind":{"StorageDead":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":16},"end":{"line":434,"col":52}},"generated_from_span":null},"id":4113,"kind":{"Assign":[{"kind":{"Local":180},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":181},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":184},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":51},"end":{"line":434,"col":52}},"generated_from_span":null},"id":4114,"kind":{"StorageDead":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":51},"end":{"line":434,"col":52}},"generated_from_span":null},"id":4115,"kind":{"StorageDead":181},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":10},"end":{"line":434,"col":12}},"generated_from_span":null},"id":4116,"kind":{"StorageLive":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":10},"end":{"line":434,"col":12}},"generated_from_span":null},"id":4117,"kind":{"Assign":[{"kind":{"Local":187},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","25"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":10429,"kind":{"StorageLive":392},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":10430,"kind":{"Assign":[{"kind":{"Local":392},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":10431,"kind":{"StorageLive":393},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":10432,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":392},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":187},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":393},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":8},"end":{"line":434,"col":58}},"generated_from_span":null},"id":4120,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":393},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":180},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":57},"end":{"line":434,"col":58}},"generated_from_span":null},"id":4121,"kind":{"StorageDead":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":58},"end":{"line":434,"col":59}},"generated_from_span":null},"id":4122,"kind":{"StorageDead":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":58},"end":{"line":434,"col":59}},"generated_from_span":null},"id":4123,"kind":{"StorageDead":186},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":434,"col":58},"end":{"line":434,"col":59}},"generated_from_span":null},"id":4124,"kind":{"StorageDead":183},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":17},"end":{"line":435,"col":33}},"generated_from_span":null},"id":4125,"kind":{"StorageLive":188},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":4126,"kind":{"StorageLive":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":24},"end":{"line":435,"col":25}},"generated_from_span":null},"id":4127,"kind":{"StorageLive":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":24},"end":{"line":435,"col":25}},"generated_from_span":null},"id":4128,"kind":{"Assign":[{"kind":{"Local":190},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":10433,"kind":{"StorageLive":394},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":10434,"kind":{"Assign":[{"kind":{"Local":394},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":10435,"kind":{"StorageLive":395},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":10436,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":394},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":190},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":395},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":18},"end":{"line":435,"col":26}},"generated_from_span":null},"id":4131,"kind":{"Assign":[{"kind":{"Local":189},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":395},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":17},"end":{"line":435,"col":33}},"generated_from_span":null},"id":4135,"kind":{"Assign":[{"kind":{"Local":188},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":189},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","4"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":32},"end":{"line":435,"col":33}},"generated_from_span":null},"id":4136,"kind":{"StorageDead":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":10},"end":{"line":435,"col":12}},"generated_from_span":null},"id":4137,"kind":{"StorageLive":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":10},"end":{"line":435,"col":12}},"generated_from_span":null},"id":4138,"kind":{"Assign":[{"kind":{"Local":191},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","26"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":10437,"kind":{"StorageLive":396},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":10438,"kind":{"Assign":[{"kind":{"Local":396},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":10439,"kind":{"StorageLive":397},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":10440,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":396},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":191},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":397},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":8},"end":{"line":435,"col":58}},"generated_from_span":null},"id":4141,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":397},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":188},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":57},"end":{"line":435,"col":58}},"generated_from_span":null},"id":4142,"kind":{"StorageDead":188},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":58},"end":{"line":435,"col":59}},"generated_from_span":null},"id":4143,"kind":{"StorageDead":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":435,"col":58},"end":{"line":435,"col":59}},"generated_from_span":null},"id":4144,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":17},"end":{"line":436,"col":33}},"generated_from_span":null},"id":4145,"kind":{"StorageLive":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":4146,"kind":{"StorageLive":193},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":24},"end":{"line":436,"col":25}},"generated_from_span":null},"id":4147,"kind":{"StorageLive":194},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":24},"end":{"line":436,"col":25}},"generated_from_span":null},"id":4148,"kind":{"Assign":[{"kind":{"Local":194},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":10441,"kind":{"StorageLive":398},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":10442,"kind":{"Assign":[{"kind":{"Local":398},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":10443,"kind":{"StorageLive":399},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":10444,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":398},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":194},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":399},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":18},"end":{"line":436,"col":26}},"generated_from_span":null},"id":4151,"kind":{"Assign":[{"kind":{"Local":193},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":399},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":17},"end":{"line":436,"col":33}},"generated_from_span":null},"id":4155,"kind":{"Assign":[{"kind":{"Local":192},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":193},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","12"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":32},"end":{"line":436,"col":33}},"generated_from_span":null},"id":4156,"kind":{"StorageDead":193},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":10},"end":{"line":436,"col":12}},"generated_from_span":null},"id":4157,"kind":{"StorageLive":195},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":10},"end":{"line":436,"col":12}},"generated_from_span":null},"id":4158,"kind":{"Assign":[{"kind":{"Local":195},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","27"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":10445,"kind":{"StorageLive":400},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":10446,"kind":{"Assign":[{"kind":{"Local":400},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":10447,"kind":{"StorageLive":401},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":10448,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":400},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":195},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":401},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":8},"end":{"line":436,"col":58}},"generated_from_span":null},"id":4161,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":401},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":192},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":57},"end":{"line":436,"col":58}},"generated_from_span":null},"id":4162,"kind":{"StorageDead":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":58},"end":{"line":436,"col":59}},"generated_from_span":null},"id":4163,"kind":{"StorageDead":195},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":436,"col":58},"end":{"line":436,"col":59}},"generated_from_span":null},"id":4164,"kind":{"StorageDead":194},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":17},"end":{"line":437,"col":33}},"generated_from_span":null},"id":4165,"kind":{"StorageLive":196},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":4166,"kind":{"StorageLive":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":24},"end":{"line":437,"col":25}},"generated_from_span":null},"id":4167,"kind":{"StorageLive":198},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":24},"end":{"line":437,"col":25}},"generated_from_span":null},"id":4168,"kind":{"Assign":[{"kind":{"Local":198},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":10449,"kind":{"StorageLive":402},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":10450,"kind":{"Assign":[{"kind":{"Local":402},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":10451,"kind":{"StorageLive":403},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":10452,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":402},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":198},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":403},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":18},"end":{"line":437,"col":26}},"generated_from_span":null},"id":4171,"kind":{"Assign":[{"kind":{"Local":197},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":403},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":17},"end":{"line":437,"col":33}},"generated_from_span":null},"id":4175,"kind":{"Assign":[{"kind":{"Local":196},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":197},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","20"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":32},"end":{"line":437,"col":33}},"generated_from_span":null},"id":4176,"kind":{"StorageDead":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":10},"end":{"line":437,"col":12}},"generated_from_span":null},"id":4177,"kind":{"StorageLive":199},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":10},"end":{"line":437,"col":12}},"generated_from_span":null},"id":4178,"kind":{"Assign":[{"kind":{"Local":199},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","28"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":10453,"kind":{"StorageLive":404},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":10454,"kind":{"Assign":[{"kind":{"Local":404},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":10455,"kind":{"StorageLive":405},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":10456,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":404},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":199},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":405},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":8},"end":{"line":437,"col":58}},"generated_from_span":null},"id":4181,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":405},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":196},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":57},"end":{"line":437,"col":58}},"generated_from_span":null},"id":4182,"kind":{"StorageDead":196},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":58},"end":{"line":437,"col":59}},"generated_from_span":null},"id":4183,"kind":{"StorageDead":199},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":437,"col":58},"end":{"line":437,"col":59}},"generated_from_span":null},"id":4184,"kind":{"StorageDead":198},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":17},"end":{"line":438,"col":33}},"generated_from_span":null},"id":4185,"kind":{"StorageLive":200},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":4186,"kind":{"StorageLive":201},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":24},"end":{"line":438,"col":25}},"generated_from_span":null},"id":4187,"kind":{"StorageLive":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":24},"end":{"line":438,"col":25}},"generated_from_span":null},"id":4188,"kind":{"Assign":[{"kind":{"Local":202},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":10457,"kind":{"StorageLive":406},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":10458,"kind":{"Assign":[{"kind":{"Local":406},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":10459,"kind":{"StorageLive":407},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":10460,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":406},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":202},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":407},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":18},"end":{"line":438,"col":26}},"generated_from_span":null},"id":4191,"kind":{"Assign":[{"kind":{"Local":201},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":407},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":17},"end":{"line":438,"col":33}},"generated_from_span":null},"id":4195,"kind":{"Assign":[{"kind":{"Local":200},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":201},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","28"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":32},"end":{"line":438,"col":33}},"generated_from_span":null},"id":4196,"kind":{"StorageDead":201},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":10},"end":{"line":438,"col":12}},"generated_from_span":null},"id":4197,"kind":{"StorageLive":203},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":10},"end":{"line":438,"col":12}},"generated_from_span":null},"id":4198,"kind":{"Assign":[{"kind":{"Local":203},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","29"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":10461,"kind":{"StorageLive":408},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":10462,"kind":{"Assign":[{"kind":{"Local":408},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":10463,"kind":{"StorageLive":409},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":10464,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":408},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":203},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":409},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":8},"end":{"line":438,"col":58}},"generated_from_span":null},"id":4201,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":409},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":200},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":57},"end":{"line":438,"col":58}},"generated_from_span":null},"id":4202,"kind":{"StorageDead":200},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":58},"end":{"line":438,"col":59}},"generated_from_span":null},"id":4203,"kind":{"StorageDead":203},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":438,"col":58},"end":{"line":438,"col":59}},"generated_from_span":null},"id":4204,"kind":{"StorageDead":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":17},"end":{"line":439,"col":33}},"generated_from_span":null},"id":4205,"kind":{"StorageLive":204},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":4206,"kind":{"StorageLive":205},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":24},"end":{"line":439,"col":25}},"generated_from_span":null},"id":4207,"kind":{"StorageLive":206},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":24},"end":{"line":439,"col":25}},"generated_from_span":null},"id":4208,"kind":{"Assign":[{"kind":{"Local":206},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":10465,"kind":{"StorageLive":410},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":10466,"kind":{"Assign":[{"kind":{"Local":410},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":10467,"kind":{"StorageLive":411},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":10468,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":410},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":206},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":411},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":18},"end":{"line":439,"col":26}},"generated_from_span":null},"id":4211,"kind":{"Assign":[{"kind":{"Local":205},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":411},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":17},"end":{"line":439,"col":33}},"generated_from_span":null},"id":4215,"kind":{"Assign":[{"kind":{"Local":204},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":205},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","36"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":32},"end":{"line":439,"col":33}},"generated_from_span":null},"id":4216,"kind":{"StorageDead":205},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":10},"end":{"line":439,"col":12}},"generated_from_span":null},"id":4217,"kind":{"StorageLive":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":10},"end":{"line":439,"col":12}},"generated_from_span":null},"id":4218,"kind":{"Assign":[{"kind":{"Local":207},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","30"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":10469,"kind":{"StorageLive":412},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":10470,"kind":{"Assign":[{"kind":{"Local":412},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":10471,"kind":{"StorageLive":413},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":10472,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":412},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":207},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":413},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":8},"end":{"line":439,"col":58}},"generated_from_span":null},"id":4221,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":413},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":204},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":57},"end":{"line":439,"col":58}},"generated_from_span":null},"id":4222,"kind":{"StorageDead":204},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":58},"end":{"line":439,"col":59}},"generated_from_span":null},"id":4223,"kind":{"StorageDead":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":439,"col":58},"end":{"line":439,"col":59}},"generated_from_span":null},"id":4224,"kind":{"StorageDead":206},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":17},"end":{"line":440,"col":33}},"generated_from_span":null},"id":4225,"kind":{"StorageLive":208},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":4226,"kind":{"StorageLive":209},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":24},"end":{"line":440,"col":25}},"generated_from_span":null},"id":4227,"kind":{"StorageLive":210},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":24},"end":{"line":440,"col":25}},"generated_from_span":null},"id":4228,"kind":{"Assign":[{"kind":{"Local":210},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":10473,"kind":{"StorageLive":414},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":10474,"kind":{"Assign":[{"kind":{"Local":414},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":10475,"kind":{"StorageLive":415},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":10476,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":414},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":210},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":415},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":18},"end":{"line":440,"col":26}},"generated_from_span":null},"id":4231,"kind":{"Assign":[{"kind":{"Local":209},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":415},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":17},"end":{"line":440,"col":33}},"generated_from_span":null},"id":4235,"kind":{"Assign":[{"kind":{"Local":208},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":209},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","44"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":32},"end":{"line":440,"col":33}},"generated_from_span":null},"id":4236,"kind":{"StorageDead":209},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":10},"end":{"line":440,"col":12}},"generated_from_span":null},"id":4237,"kind":{"StorageLive":211},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":10},"end":{"line":440,"col":12}},"generated_from_span":null},"id":4238,"kind":{"Assign":[{"kind":{"Local":211},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":10477,"kind":{"StorageLive":416},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":10478,"kind":{"Assign":[{"kind":{"Local":416},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":10479,"kind":{"StorageLive":417},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":10480,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":416},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":211},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":417},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":8},"end":{"line":440,"col":58}},"generated_from_span":null},"id":4241,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":417},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U8"}]}},{"Move":{"kind":{"Local":208},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":57},"end":{"line":440,"col":58}},"generated_from_span":null},"id":4242,"kind":{"StorageDead":208},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":58},"end":{"line":440,"col":59}},"generated_from_span":null},"id":4243,"kind":{"StorageDead":211},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":440,"col":58},"end":{"line":440,"col":59}},"generated_from_span":null},"id":4244,"kind":{"StorageDead":210},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4246,"kind":{"StorageLive":212},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4247,"kind":{"Assign":[{"kind":{"Local":212},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4274,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":212},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4249,"kind":{"StorageLive":213},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":45}},"generated_from_span":null},"id":4250,"kind":{"StorageLive":214},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":4251,"kind":{"StorageLive":215},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":25},"end":{"line":443,"col":27}},"generated_from_span":null},"id":4252,"kind":{"StorageLive":216},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":25},"end":{"line":443,"col":27}},"generated_from_span":null},"id":4253,"kind":{"Assign":[{"kind":{"Local":216},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["High bit should be zero."]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":10089,"kind":{"StorageLive":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":10090,"kind":{"Assign":[{"kind":{"Local":222},"ty":{"Deduplicated":9403}},{"Ref":{"place":{"kind":{"Local":68},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":10091,"kind":{"StorageLive":223},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":10092,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":222},"ty":{"Deduplicated":9403}}},{"Copy":{"kind":{"Local":216},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":223},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":23},"end":{"line":443,"col":28}},"generated_from_span":null},"id":4256,"kind":{"Assign":[{"kind":{"Local":215},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":223},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":45}},"generated_from_span":null},"id":4257,"kind":{"Assign":[{"kind":{"Local":214},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":215},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","128"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":44},"end":{"line":443,"col":45}},"generated_from_span":null},"id":4258,"kind":{"StorageDead":215},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4259,"kind":{"Assign":[{"kind":{"Local":213},"ty":{"Deduplicated":1470}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":214},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4265,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":213},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":22},"end":{"line":443,"col":52}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":51},"end":{"line":443,"col":52}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":443,"col":51},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4261,"kind":{"StorageDead":214},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4262,"kind":{"StorageDead":216},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4264,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":443,"col":51},"end":{"line":443,"col":52}},"generated_from_span":null},"id":4266,"kind":{"StorageDead":214},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4267,"kind":{"StorageDead":216},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4269,"kind":{"StorageDead":213},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4275,"kind":{"StorageDead":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":445,"col":8},"end":{"line":445,"col":9}},"generated_from_span":null},"id":4277,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4278,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4279,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4280,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":4},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4281,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":446,"col":5},"end":{"line":446,"col":5}},"generated_from_span":null},"id":4282,"kind":"Return","comments_before":[]}]},"comments":[[379,["Let h = limbs[0] + limbs[1]*2^51 + ... + limbs[4]*2^204.","","Write h = pq + r with 0 <= r < p.","","We want to compute r = h mod p.","","If h < 2*p = 2^256 - 38,","then q = 0 or 1,","","with q = 0 when h < p"," and q = 1 when h >= p.","","Notice that h >= p <==> h + 19 >= p + 19 <==> h + 19 >= 2^255.","Therefore q can be computed as the carry bit of h + 19."]],[381,["First, reduce the limbs to ensure h < 2*p."]],[390,["Now we can compute r as r = h - pq = r - (2^255-19)q = r + 19q - 2^255q"]],[394,["Now carry the result to compute r + 19q ..."]],[405,["... but instead of carrying (limbs[4] >> 51) = 2^255q","into another limb, discard it, subtracting the value"]],[408,["Now arrange the bits of the limbs."]],[443,["High bit should be zero."]]]}}},{"def_id":36,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]}],"span":{"data":{"file_id":5,"beg":{"line":450,"col":4},"end":{"line":555,"col":5}},"generated_from_span":null},"source_text":"pub fn pow2k(&self, mut k: u32) -> FieldElement51 {\n\n debug_assert!( k > 0 );\n\n /// Multiply two 64-bit integers with 128 bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 {\n (x as u128) * (y as u128)\n }\n\n let mut a: [u64; 5] = self.0;\n\n loop {\n // Precondition: assume input limbs a[i] are bounded as\n //\n // a[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // Precomputation: 64-bit multiply by 19.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let a3_19 = 19 * a[3];\n let a4_19 = 19 * a[4];\n\n // Multiply to get 128-bit coefficients of output.\n //\n // The 128-bit multiplications by 2 turn into 1 slr + 1 slrd each,\n // which doesn't seem any better or worse than doing them as precomputations\n // on the 64-bit inputs.\n let c0: u128 = m(a[0], a[0]) + 2*( m(a[1], a4_19) + m(a[2], a3_19) );\n let mut c1: u128 = m(a[3], a3_19) + 2*( m(a[0], a[1]) + m(a[2], a4_19) );\n let mut c2: u128 = m(a[1], a[1]) + 2*( m(a[0], a[2]) + m(a[4], a3_19) );\n let mut c3: u128 = m(a[4], a4_19) + 2*( m(a[0], a[3]) + m(a[1], a[2]) );\n let mut c4: u128 = m(a[2], a[2]) + 2*( m(a[0], a[4]) + m(a[1], a[3]) );\n\n // Same bound as in multiply:\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54));\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n\n // Casting to u64 and back tells the compiler that the carry is bounded by 2^64, so\n // that the addition is a u128 + u64 rather than u128 + u128.\n c1 += ((c0 >> 51) as u64) as u128;\n a[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n a[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n a[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n a[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n a[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need a[0] + carry * 19 < 2^64.\n //\n // c4 < a2^2 + 2*a0*a4 + 2*a1*a3 + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // a[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n a[0] += carry * 19;\n\n // Now a[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n a[1] += a[0] >> 51;\n a[0] &= LOW_51_BIT_MASK;\n\n // Now all a[i] < 2^(51 + epsilon) and a = self^(2^k).\n\n k -= 1;\n if k == 0 {\n break;\n }\n }\n\n FieldElement51(a)\n }","attr_info":{"attributes":[{"DocComment":" Given `k > 0`, return `self^(2^k)`."},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516},{"Deduplicated":2925}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":450,"col":4},"end":{"line":555,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":450,"col":39},"end":{"line":450,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":450,"col":17},"end":{"line":450,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"k","span":{"data":{"file_id":5,"beg":{"line":450,"col":24},"end":{"line":450,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":3,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":6,"name":"a","span":{"data":{"file_id":5,"beg":{"line":460,"col":12},"end":{"line":460,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":7,"name":"a3_19","span":{"data":{"file_id":5,"beg":{"line":476,"col":16},"end":{"line":476,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":476,"col":31},"end":{"line":476,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":476,"col":24},"end":{"line":476,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":11,"name":"a4_19","span":{"data":{"file_id":5,"beg":{"line":477,"col":16},"end":{"line":477,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":477,"col":31},"end":{"line":477,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":477,"col":24},"end":{"line":477,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":"c0","span":{"data":{"file_id":5,"beg":{"line":484,"col":20},"end":{"line":484,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":35},"end":{"line":484,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":42},"end":{"line":484,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":52},"end":{"line":484,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":56},"end":{"line":484,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":60},"end":{"line":484,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":69},"end":{"line":484,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":73},"end":{"line":484,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":77},"end":{"line":484,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":34,"name":"c1","span":{"data":{"file_id":5,"beg":{"line":485,"col":16},"end":{"line":485,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":35},"end":{"line":485,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":39},"end":{"line":485,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":52},"end":{"line":485,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":56},"end":{"line":485,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":45,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":63},"end":{"line":485,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":46,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":69},"end":{"line":485,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":47,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":48,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":73},"end":{"line":485,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":49,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":77},"end":{"line":485,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":50,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":51,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":52,"name":null,"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":53,"name":"c2","span":{"data":{"file_id":5,"beg":{"line":486,"col":16},"end":{"line":486,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":54,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":55,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":56,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":35},"end":{"line":486,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":57,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":58,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":42},"end":{"line":486,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":59,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":60,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":61,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":52},"end":{"line":486,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":62,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":63,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":56},"end":{"line":486,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":64,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":65,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":63},"end":{"line":486,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":66,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":69},"end":{"line":486,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":67,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":68,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":73},"end":{"line":486,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":69,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":77},"end":{"line":486,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":70,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":71,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":72,"name":null,"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":73,"name":"c3","span":{"data":{"file_id":5,"beg":{"line":487,"col":16},"end":{"line":487,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":74,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":75,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":76,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":35},"end":{"line":487,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":77,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":39},"end":{"line":487,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":78,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":79,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":80,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":52},"end":{"line":487,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":81,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":82,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":56},"end":{"line":487,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":83,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":84,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":63},"end":{"line":487,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":85,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":69},"end":{"line":487,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":86,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":87,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":73},"end":{"line":487,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":88,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":89,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":80},"end":{"line":487,"col":81}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":90,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":91,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":92,"name":null,"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":93,"name":"c4","span":{"data":{"file_id":5,"beg":{"line":488,"col":16},"end":{"line":488,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":94,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":95,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":96,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":35},"end":{"line":488,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":97,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":98,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":42},"end":{"line":488,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":99,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":100,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":101,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":52},"end":{"line":488,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":102,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":103,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":56},"end":{"line":488,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":104,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":105,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":63},"end":{"line":488,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":106,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":69},"end":{"line":488,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":107,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":108,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":73},"end":{"line":488,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":109,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":110,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":80},"end":{"line":488,"col":81}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":111,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":112,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":113,"name":null,"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":114,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":115,"name":null,"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":116,"name":null,"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":117,"name":null,"span":{"data":{"file_id":5,"beg":{"line":501,"col":28},"end":{"line":501,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":118,"name":null,"span":{"data":{"file_id":5,"beg":{"line":501,"col":33},"end":{"line":501,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":119,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":120,"name":null,"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":121,"name":null,"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":122,"name":null,"span":{"data":{"file_id":5,"beg":{"line":502,"col":28},"end":{"line":502,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":123,"name":null,"span":{"data":{"file_id":5,"beg":{"line":502,"col":33},"end":{"line":502,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":124,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":125,"name":null,"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":126,"name":null,"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":127,"name":null,"span":{"data":{"file_id":5,"beg":{"line":503,"col":28},"end":{"line":503,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":128,"name":null,"span":{"data":{"file_id":5,"beg":{"line":503,"col":33},"end":{"line":503,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":129,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":130,"name":null,"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":131,"name":null,"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":132,"name":null,"span":{"data":{"file_id":5,"beg":{"line":504,"col":28},"end":{"line":504,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":133,"name":null,"span":{"data":{"file_id":5,"beg":{"line":504,"col":33},"end":{"line":504,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":134,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":135,"name":null,"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":136,"name":null,"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":137,"name":null,"span":{"data":{"file_id":5,"beg":{"line":505,"col":28},"end":{"line":505,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":138,"name":null,"span":{"data":{"file_id":5,"beg":{"line":505,"col":33},"end":{"line":505,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":139,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":140,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":141,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":19},"end":{"line":511,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":142,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":20},"end":{"line":511,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":143,"name":null,"span":{"data":{"file_id":5,"beg":{"line":511,"col":12},"end":{"line":511,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":144,"name":null,"span":{"data":{"file_id":5,"beg":{"line":512,"col":19},"end":{"line":512,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":145,"name":null,"span":{"data":{"file_id":5,"beg":{"line":512,"col":20},"end":{"line":512,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":146,"name":null,"span":{"data":{"file_id":5,"beg":{"line":512,"col":14},"end":{"line":512,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":147,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":148,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":149,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":19},"end":{"line":514,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":150,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":20},"end":{"line":514,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":151,"name":null,"span":{"data":{"file_id":5,"beg":{"line":514,"col":12},"end":{"line":514,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":152,"name":null,"span":{"data":{"file_id":5,"beg":{"line":515,"col":19},"end":{"line":515,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":153,"name":null,"span":{"data":{"file_id":5,"beg":{"line":515,"col":20},"end":{"line":515,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":154,"name":null,"span":{"data":{"file_id":5,"beg":{"line":515,"col":14},"end":{"line":515,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":155,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":156,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":157,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":19},"end":{"line":517,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":158,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":20},"end":{"line":517,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":159,"name":null,"span":{"data":{"file_id":5,"beg":{"line":517,"col":12},"end":{"line":517,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":160,"name":null,"span":{"data":{"file_id":5,"beg":{"line":518,"col":19},"end":{"line":518,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":161,"name":null,"span":{"data":{"file_id":5,"beg":{"line":518,"col":20},"end":{"line":518,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":162,"name":null,"span":{"data":{"file_id":5,"beg":{"line":518,"col":14},"end":{"line":518,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":163,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":164,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":165,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":19},"end":{"line":520,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":166,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":20},"end":{"line":520,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":167,"name":null,"span":{"data":{"file_id":5,"beg":{"line":520,"col":12},"end":{"line":520,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":168,"name":null,"span":{"data":{"file_id":5,"beg":{"line":521,"col":19},"end":{"line":521,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":169,"name":null,"span":{"data":{"file_id":5,"beg":{"line":521,"col":20},"end":{"line":521,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":170,"name":null,"span":{"data":{"file_id":5,"beg":{"line":521,"col":14},"end":{"line":521,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":171,"name":"carry","span":{"data":{"file_id":5,"beg":{"line":523,"col":16},"end":{"line":523,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":172,"name":null,"span":{"data":{"file_id":5,"beg":{"line":523,"col":29},"end":{"line":523,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":173,"name":null,"span":{"data":{"file_id":5,"beg":{"line":523,"col":30},"end":{"line":523,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":174,"name":null,"span":{"data":{"file_id":5,"beg":{"line":524,"col":19},"end":{"line":524,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":175,"name":null,"span":{"data":{"file_id":5,"beg":{"line":524,"col":20},"end":{"line":524,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":176,"name":null,"span":{"data":{"file_id":5,"beg":{"line":524,"col":14},"end":{"line":524,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":177,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":178,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":179,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":180,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":14},"end":{"line":540,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":181,"name":null,"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":182,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":183,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":184,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":22},"end":{"line":543,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":185,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":14},"end":{"line":543,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":186,"name":null,"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":187,"name":null,"span":{"data":{"file_id":5,"beg":{"line":544,"col":14},"end":{"line":544,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":188,"name":null,"span":{"data":{"file_id":5,"beg":{"line":548,"col":12},"end":{"line":548,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":189,"name":null,"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":190,"name":null,"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":191,"name":null,"span":{"data":{"file_id":5,"beg":{"line":554,"col":23},"end":{"line":554,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":192,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":193,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":194,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":195,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":196,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":197,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":198,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":199,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":200,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":201,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":202,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":203,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":204,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":205,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":206,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":207,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":208,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":209,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":210,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":211,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":212,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":213,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":214,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":215,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":216,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":217,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":218,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":219,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":220,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":221,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":222,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":223,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":224,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":225,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":226,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":227,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":228,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":229,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":230,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":231,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":232,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":233,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":234,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":235,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":236,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":237,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":238,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":239,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":240,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":241,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":242,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":243,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":244,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":245,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":246,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":247,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":248,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":249,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":250,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":251,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":252,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":253,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":254,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":255,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":256,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":257,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":258,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":259,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":260,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":261,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":262,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":263,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":264,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":265,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":266,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":267,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":268,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":269,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":270,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":271,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":272,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":273,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":274,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":275,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":276,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":277,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":278,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}}]},"body":{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4285,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4287,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4292,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4293,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4294,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4299,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4300,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4301,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4307,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4308,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4309,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4315,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4316,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4317,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4324,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4325,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4326,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4344,"kind":{"StorageLive":143},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4348,"kind":{"StorageLive":151},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4352,"kind":{"StorageLive":159},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4356,"kind":{"StorageLive":167},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4361,"kind":{"StorageLive":179},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4363,"kind":{"StorageLive":181},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4368,"kind":{"StorageLive":186},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4370,"kind":{"StorageLive":188},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4372,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4373,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4391,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4375,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":24}},"generated_from_span":null},"id":4376,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":24}},"generated_from_span":null},"id":4377,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2925}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4378,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1470}},{"BinaryOp":["Gt",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4383,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":23},"end":{"line":452,"col":28}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":27},"end":{"line":452,"col":28}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":452,"col":27},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4380,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4382,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":452,"col":27},"end":{"line":452,"col":28}},"generated_from_span":null},"id":4384,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4386,"kind":{"StorageDead":4},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4392,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":460,"col":12},"end":{"line":460,"col":17}},"generated_from_span":null},"id":4394,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":460,"col":30},"end":{"line":460,"col":36}},"generated_from_span":null},"id":4395,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":["/ Multiply two 64-bit integers with 128 bits of output."]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":16},"end":{"line":488,"col":86}},"generated_from_span":null},"id":5150,"kind":{"Loop":{"span":{"data":{"file_id":5,"beg":{"line":476,"col":16},"end":{"line":488,"col":86}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":476,"col":16},"end":{"line":476,"col":21}},"generated_from_span":null},"id":4397,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4398,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":31},"end":{"line":476,"col":32}},"generated_from_span":null},"id":4399,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":31},"end":{"line":476,"col":32}},"generated_from_span":null},"id":4400,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":10501,"kind":{"StorageLive":203},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":10502,"kind":{"Assign":[{"kind":{"Local":203},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":10503,"kind":{"StorageLive":204},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":10504,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":203},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":204},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":29},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4403,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":204},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":24},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4404,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":24},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4406,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":32},"end":{"line":476,"col":33}},"generated_from_span":null},"id":4407,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":476,"col":33},"end":{"line":476,"col":34}},"generated_from_span":null},"id":4408,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":16},"end":{"line":477,"col":21}},"generated_from_span":null},"id":4409,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4410,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":31},"end":{"line":477,"col":32}},"generated_from_span":null},"id":4411,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":31},"end":{"line":477,"col":32}},"generated_from_span":null},"id":4412,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":10505,"kind":{"StorageLive":205},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":10506,"kind":{"Assign":[{"kind":{"Local":205},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":10507,"kind":{"StorageLive":206},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":10508,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":205},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":206},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":29},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4415,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":206},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":24},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4416,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":24},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4418,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":32},"end":{"line":477,"col":33}},"generated_from_span":null},"id":4419,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":477,"col":33},"end":{"line":477,"col":34}},"generated_from_span":null},"id":4420,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":20},"end":{"line":484,"col":22}},"generated_from_span":null},"id":4421,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":45}},"generated_from_span":null},"id":4422,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":4423,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":35},"end":{"line":484,"col":36}},"generated_from_span":null},"id":4424,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":35},"end":{"line":484,"col":36}},"generated_from_span":null},"id":4425,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Multiply to get 128-bit coefficients of output.","","The 128-bit multiplications by 2 turn into 1 slr + 1 slrd each,","which doesn't seem any better or worse than doing them as precomputations","on the 64-bit inputs."]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":10509,"kind":{"StorageLive":207},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":10510,"kind":{"Assign":[{"kind":{"Local":207},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":10511,"kind":{"StorageLive":208},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":10512,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":207},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":208},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":33},"end":{"line":484,"col":37}},"generated_from_span":null},"id":4428,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":208},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":4429,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":42},"end":{"line":484,"col":43}},"generated_from_span":null},"id":4430,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":42},"end":{"line":484,"col":43}},"generated_from_span":null},"id":4431,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":10513,"kind":{"StorageLive":209},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":10514,"kind":{"Assign":[{"kind":{"Local":209},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":10515,"kind":{"StorageLive":210},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":10516,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":209},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":210},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":40},"end":{"line":484,"col":44}},"generated_from_span":null},"id":4434,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":210},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":45}},"generated_from_span":null},"id":4435,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":44},"end":{"line":484,"col":45}},"generated_from_span":null},"id":4436,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":44},"end":{"line":484,"col":45}},"generated_from_span":null},"id":4437,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4438,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4439,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":52},"end":{"line":484,"col":66}},"generated_from_span":null},"id":4440,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":4441,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":56},"end":{"line":484,"col":57}},"generated_from_span":null},"id":4442,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":56},"end":{"line":484,"col":57}},"generated_from_span":null},"id":4443,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":10517,"kind":{"StorageLive":211},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":10518,"kind":{"Assign":[{"kind":{"Local":211},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":10519,"kind":{"StorageLive":212},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":10520,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":211},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":212},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":54},"end":{"line":484,"col":58}},"generated_from_span":null},"id":4446,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":212},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":60},"end":{"line":484,"col":65}},"generated_from_span":null},"id":4447,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":60},"end":{"line":484,"col":65}},"generated_from_span":null},"id":4448,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":52},"end":{"line":484,"col":66}},"generated_from_span":null},"id":4449,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":65},"end":{"line":484,"col":66}},"generated_from_span":null},"id":4450,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":65},"end":{"line":484,"col":66}},"generated_from_span":null},"id":4451,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":69},"end":{"line":484,"col":83}},"generated_from_span":null},"id":4452,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":4453,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":73},"end":{"line":484,"col":74}},"generated_from_span":null},"id":4454,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":73},"end":{"line":484,"col":74}},"generated_from_span":null},"id":4455,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":10521,"kind":{"StorageLive":213},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":10522,"kind":{"Assign":[{"kind":{"Local":213},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":10523,"kind":{"StorageLive":214},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":10524,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":213},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":214},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":71},"end":{"line":484,"col":75}},"generated_from_span":null},"id":4458,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":214},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":77},"end":{"line":484,"col":82}},"generated_from_span":null},"id":4459,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":77},"end":{"line":484,"col":82}},"generated_from_span":null},"id":4460,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":69},"end":{"line":484,"col":83}},"generated_from_span":null},"id":4461,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":82},"end":{"line":484,"col":83}},"generated_from_span":null},"id":4462,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":82},"end":{"line":484,"col":83}},"generated_from_span":null},"id":4463,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4464,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":50},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4466,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4467,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4468,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4469,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":48},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4471,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4472,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4473,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":31},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4475,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4476,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":84},"end":{"line":484,"col":85}},"generated_from_span":null},"id":4477,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":85},"end":{"line":484,"col":86}},"generated_from_span":null},"id":4478,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":85},"end":{"line":484,"col":86}},"generated_from_span":null},"id":4479,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":85},"end":{"line":484,"col":86}},"generated_from_span":null},"id":4480,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":484,"col":85},"end":{"line":484,"col":86}},"generated_from_span":null},"id":4481,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":16},"end":{"line":485,"col":22}},"generated_from_span":null},"id":4482,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":45}},"generated_from_span":null},"id":4483,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":4484,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":35},"end":{"line":485,"col":36}},"generated_from_span":null},"id":4485,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":35},"end":{"line":485,"col":36}},"generated_from_span":null},"id":4486,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":10525,"kind":{"StorageLive":215},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":10526,"kind":{"Assign":[{"kind":{"Local":215},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":10527,"kind":{"StorageLive":216},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":10528,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":215},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":216},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":33},"end":{"line":485,"col":37}},"generated_from_span":null},"id":4489,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":216},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":39},"end":{"line":485,"col":44}},"generated_from_span":null},"id":4490,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":39},"end":{"line":485,"col":44}},"generated_from_span":null},"id":4491,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":45}},"generated_from_span":null},"id":4492,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":44},"end":{"line":485,"col":45}},"generated_from_span":null},"id":4493,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":44},"end":{"line":485,"col":45}},"generated_from_span":null},"id":4494,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4495,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4496,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":52},"end":{"line":485,"col":66}},"generated_from_span":null},"id":4497,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":4498,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":56},"end":{"line":485,"col":57}},"generated_from_span":null},"id":4499,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":56},"end":{"line":485,"col":57}},"generated_from_span":null},"id":4500,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":10529,"kind":{"StorageLive":217},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":10530,"kind":{"Assign":[{"kind":{"Local":217},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":10531,"kind":{"StorageLive":218},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":10532,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":217},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":218},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":54},"end":{"line":485,"col":58}},"generated_from_span":null},"id":4503,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":218},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":4504,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":63},"end":{"line":485,"col":64}},"generated_from_span":null},"id":4505,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":63},"end":{"line":485,"col":64}},"generated_from_span":null},"id":4506,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":10533,"kind":{"StorageLive":219},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":10534,"kind":{"Assign":[{"kind":{"Local":219},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":10535,"kind":{"StorageLive":220},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":10536,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":219},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":220},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":61},"end":{"line":485,"col":65}},"generated_from_span":null},"id":4509,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":220},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":52},"end":{"line":485,"col":66}},"generated_from_span":null},"id":4510,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":41},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":65},"end":{"line":485,"col":66}},"generated_from_span":null},"id":4511,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":65},"end":{"line":485,"col":66}},"generated_from_span":null},"id":4512,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":69},"end":{"line":485,"col":83}},"generated_from_span":null},"id":4513,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":4514,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":73},"end":{"line":485,"col":74}},"generated_from_span":null},"id":4515,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":73},"end":{"line":485,"col":74}},"generated_from_span":null},"id":4516,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":10537,"kind":{"StorageLive":221},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":10538,"kind":{"Assign":[{"kind":{"Local":221},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":10539,"kind":{"StorageLive":222},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":10540,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":221},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":48},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":222},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":71},"end":{"line":485,"col":75}},"generated_from_span":null},"id":4519,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":222},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":77},"end":{"line":485,"col":82}},"generated_from_span":null},"id":4520,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":77},"end":{"line":485,"col":82}},"generated_from_span":null},"id":4521,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":69},"end":{"line":485,"col":83}},"generated_from_span":null},"id":4522,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":82},"end":{"line":485,"col":83}},"generated_from_span":null},"id":4523,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":82},"end":{"line":485,"col":83}},"generated_from_span":null},"id":4524,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4525,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":46},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":50},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4527,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4528,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4529,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4530,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":48},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4532,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4533,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4534,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":31},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4536,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4537,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":84},"end":{"line":485,"col":85}},"generated_from_span":null},"id":4538,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":85},"end":{"line":485,"col":86}},"generated_from_span":null},"id":4539,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":85},"end":{"line":485,"col":86}},"generated_from_span":null},"id":4540,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":85},"end":{"line":485,"col":86}},"generated_from_span":null},"id":4541,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":485,"col":85},"end":{"line":485,"col":86}},"generated_from_span":null},"id":4542,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":16},"end":{"line":486,"col":22}},"generated_from_span":null},"id":4543,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":45}},"generated_from_span":null},"id":4544,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":4545,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":35},"end":{"line":486,"col":36}},"generated_from_span":null},"id":4546,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":35},"end":{"line":486,"col":36}},"generated_from_span":null},"id":4547,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":10541,"kind":{"StorageLive":223},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":10542,"kind":{"Assign":[{"kind":{"Local":223},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":10543,"kind":{"StorageLive":224},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":10544,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":223},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":56},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":224},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":33},"end":{"line":486,"col":37}},"generated_from_span":null},"id":4550,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":224},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":4551,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":42},"end":{"line":486,"col":43}},"generated_from_span":null},"id":4552,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":42},"end":{"line":486,"col":43}},"generated_from_span":null},"id":4553,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":10545,"kind":{"StorageLive":225},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":10546,"kind":{"Assign":[{"kind":{"Local":225},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":10547,"kind":{"StorageLive":226},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":10548,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":225},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":226},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":40},"end":{"line":486,"col":44}},"generated_from_span":null},"id":4556,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":226},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":45}},"generated_from_span":null},"id":4557,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":44},"end":{"line":486,"col":45}},"generated_from_span":null},"id":4558,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":44},"end":{"line":486,"col":45}},"generated_from_span":null},"id":4559,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4560,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4561,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":52},"end":{"line":486,"col":66}},"generated_from_span":null},"id":4562,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":4563,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":56},"end":{"line":486,"col":57}},"generated_from_span":null},"id":4564,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":56},"end":{"line":486,"col":57}},"generated_from_span":null},"id":4565,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":10549,"kind":{"StorageLive":227},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":10550,"kind":{"Assign":[{"kind":{"Local":227},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":10551,"kind":{"StorageLive":228},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":10552,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":227},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":228},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":54},"end":{"line":486,"col":58}},"generated_from_span":null},"id":4568,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":228},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":4569,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":63},"end":{"line":486,"col":64}},"generated_from_span":null},"id":4570,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":63},"end":{"line":486,"col":64}},"generated_from_span":null},"id":4571,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":10553,"kind":{"StorageLive":229},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":10554,"kind":{"Assign":[{"kind":{"Local":229},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":10555,"kind":{"StorageLive":230},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":10556,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":229},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":230},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":61},"end":{"line":486,"col":65}},"generated_from_span":null},"id":4574,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":230},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":52},"end":{"line":486,"col":66}},"generated_from_span":null},"id":4575,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":65},"end":{"line":486,"col":66}},"generated_from_span":null},"id":4576,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":65},"end":{"line":486,"col":66}},"generated_from_span":null},"id":4577,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":69},"end":{"line":486,"col":83}},"generated_from_span":null},"id":4578,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":4579,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":73},"end":{"line":486,"col":74}},"generated_from_span":null},"id":4580,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":73},"end":{"line":486,"col":74}},"generated_from_span":null},"id":4581,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":10557,"kind":{"StorageLive":231},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":10558,"kind":{"Assign":[{"kind":{"Local":231},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":10559,"kind":{"StorageLive":232},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":10560,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":231},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":232},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":71},"end":{"line":486,"col":75}},"generated_from_span":null},"id":4584,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":232},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":77},"end":{"line":486,"col":82}},"generated_from_span":null},"id":4585,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":77},"end":{"line":486,"col":82}},"generated_from_span":null},"id":4586,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":69},"end":{"line":486,"col":83}},"generated_from_span":null},"id":4587,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":67},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":66},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":82},"end":{"line":486,"col":83}},"generated_from_span":null},"id":4588,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":82},"end":{"line":486,"col":83}},"generated_from_span":null},"id":4589,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4590,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":61},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":66},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":50},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4592,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":70},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4593,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4594,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4595,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":60},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":48},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4597,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4598,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4599,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":59},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":31},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4601,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4602,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":84},"end":{"line":486,"col":85}},"generated_from_span":null},"id":4603,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4604,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4605,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4606,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4607,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":486,"col":85},"end":{"line":486,"col":86}},"generated_from_span":null},"id":4608,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":16},"end":{"line":487,"col":22}},"generated_from_span":null},"id":4609,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":45}},"generated_from_span":null},"id":4610,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":4611,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":35},"end":{"line":487,"col":36}},"generated_from_span":null},"id":4612,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":35},"end":{"line":487,"col":36}},"generated_from_span":null},"id":4613,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":10561,"kind":{"StorageLive":233},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":10562,"kind":{"Assign":[{"kind":{"Local":233},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":10563,"kind":{"StorageLive":234},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":10564,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":233},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":76},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":234},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":33},"end":{"line":487,"col":37}},"generated_from_span":null},"id":4616,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":234},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":39},"end":{"line":487,"col":44}},"generated_from_span":null},"id":4617,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":39},"end":{"line":487,"col":44}},"generated_from_span":null},"id":4618,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":45}},"generated_from_span":null},"id":4619,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":74},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":44},"end":{"line":487,"col":45}},"generated_from_span":null},"id":4620,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":44},"end":{"line":487,"col":45}},"generated_from_span":null},"id":4621,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4622,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4623,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":52},"end":{"line":487,"col":66}},"generated_from_span":null},"id":4624,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":4625,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":56},"end":{"line":487,"col":57}},"generated_from_span":null},"id":4626,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":56},"end":{"line":487,"col":57}},"generated_from_span":null},"id":4627,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":10565,"kind":{"StorageLive":235},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":10566,"kind":{"Assign":[{"kind":{"Local":235},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":10567,"kind":{"StorageLive":236},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":10568,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":235},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":236},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":54},"end":{"line":487,"col":58}},"generated_from_span":null},"id":4630,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":236},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":4631,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":63},"end":{"line":487,"col":64}},"generated_from_span":null},"id":4632,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":63},"end":{"line":487,"col":64}},"generated_from_span":null},"id":4633,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":10569,"kind":{"StorageLive":237},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":10570,"kind":{"Assign":[{"kind":{"Local":237},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":10571,"kind":{"StorageLive":238},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":10572,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":237},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":84},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":238},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":61},"end":{"line":487,"col":65}},"generated_from_span":null},"id":4636,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":238},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":52},"end":{"line":487,"col":66}},"generated_from_span":null},"id":4637,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":80},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":65},"end":{"line":487,"col":66}},"generated_from_span":null},"id":4638,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":65},"end":{"line":487,"col":66}},"generated_from_span":null},"id":4639,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":69},"end":{"line":487,"col":83}},"generated_from_span":null},"id":4640,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":4641,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":73},"end":{"line":487,"col":74}},"generated_from_span":null},"id":4642,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":73},"end":{"line":487,"col":74}},"generated_from_span":null},"id":4643,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":10573,"kind":{"StorageLive":239},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":10574,"kind":{"Assign":[{"kind":{"Local":239},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":10575,"kind":{"StorageLive":240},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":10576,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":239},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":87},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":240},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":71},"end":{"line":487,"col":75}},"generated_from_span":null},"id":4646,"kind":{"Assign":[{"kind":{"Local":86},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":240},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":4647,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":80},"end":{"line":487,"col":81}},"generated_from_span":null},"id":4648,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":80},"end":{"line":487,"col":81}},"generated_from_span":null},"id":4649,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":10577,"kind":{"StorageLive":241},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":10578,"kind":{"Assign":[{"kind":{"Local":241},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":10579,"kind":{"StorageLive":242},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":10580,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":241},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":89},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":242},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":78},"end":{"line":487,"col":82}},"generated_from_span":null},"id":4652,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":242},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":69},"end":{"line":487,"col":83}},"generated_from_span":null},"id":4653,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":86},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":88},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":85},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":82},"end":{"line":487,"col":83}},"generated_from_span":null},"id":4654,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":82},"end":{"line":487,"col":83}},"generated_from_span":null},"id":4655,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4656,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":80},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":85},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":50},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4658,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":90},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4659,"kind":{"StorageDead":85},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4660,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4661,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":79},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":48},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4663,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":91},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4664,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4665,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":74},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":78},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":31},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4667,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":92},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4668,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":84},"end":{"line":487,"col":85}},"generated_from_span":null},"id":4669,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4670,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4671,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4672,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4673,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":487,"col":85},"end":{"line":487,"col":86}},"generated_from_span":null},"id":4674,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":16},"end":{"line":488,"col":22}},"generated_from_span":null},"id":4675,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":45}},"generated_from_span":null},"id":4676,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":4677,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":35},"end":{"line":488,"col":36}},"generated_from_span":null},"id":4678,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":35},"end":{"line":488,"col":36}},"generated_from_span":null},"id":4679,"kind":{"Assign":[{"kind":{"Local":96},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":10581,"kind":{"StorageLive":243},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":10582,"kind":{"Assign":[{"kind":{"Local":243},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":10583,"kind":{"StorageLive":244},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":10584,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":243},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":96},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":244},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":33},"end":{"line":488,"col":37}},"generated_from_span":null},"id":4682,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":244},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":4683,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":42},"end":{"line":488,"col":43}},"generated_from_span":null},"id":4684,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":42},"end":{"line":488,"col":43}},"generated_from_span":null},"id":4685,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":10585,"kind":{"StorageLive":245},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":10586,"kind":{"Assign":[{"kind":{"Local":245},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":10587,"kind":{"StorageLive":246},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":10588,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":245},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":98},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":246},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":40},"end":{"line":488,"col":44}},"generated_from_span":null},"id":4688,"kind":{"Assign":[{"kind":{"Local":97},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":246},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":45}},"generated_from_span":null},"id":4689,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":95},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":97},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":94},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":44},"end":{"line":488,"col":45}},"generated_from_span":null},"id":4690,"kind":{"StorageDead":97},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":44},"end":{"line":488,"col":45}},"generated_from_span":null},"id":4691,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4692,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4693,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":52},"end":{"line":488,"col":66}},"generated_from_span":null},"id":4694,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":4695,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":56},"end":{"line":488,"col":57}},"generated_from_span":null},"id":4696,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":56},"end":{"line":488,"col":57}},"generated_from_span":null},"id":4697,"kind":{"Assign":[{"kind":{"Local":103},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":10589,"kind":{"StorageLive":247},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":10590,"kind":{"Assign":[{"kind":{"Local":247},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":10591,"kind":{"StorageLive":248},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":10592,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":247},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":103},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":248},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":54},"end":{"line":488,"col":58}},"generated_from_span":null},"id":4700,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":248},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":4701,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":63},"end":{"line":488,"col":64}},"generated_from_span":null},"id":4702,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":63},"end":{"line":488,"col":64}},"generated_from_span":null},"id":4703,"kind":{"Assign":[{"kind":{"Local":105},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":10593,"kind":{"StorageLive":249},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":10594,"kind":{"Assign":[{"kind":{"Local":249},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":10595,"kind":{"StorageLive":250},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":10596,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":249},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":105},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":250},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":61},"end":{"line":488,"col":65}},"generated_from_span":null},"id":4706,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":250},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":52},"end":{"line":488,"col":66}},"generated_from_span":null},"id":4707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":102},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":104},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":101},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":65},"end":{"line":488,"col":66}},"generated_from_span":null},"id":4708,"kind":{"StorageDead":104},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":65},"end":{"line":488,"col":66}},"generated_from_span":null},"id":4709,"kind":{"StorageDead":102},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":69},"end":{"line":488,"col":83}},"generated_from_span":null},"id":4710,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":4711,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":73},"end":{"line":488,"col":74}},"generated_from_span":null},"id":4712,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":73},"end":{"line":488,"col":74}},"generated_from_span":null},"id":4713,"kind":{"Assign":[{"kind":{"Local":108},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":10597,"kind":{"StorageLive":251},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":10598,"kind":{"Assign":[{"kind":{"Local":251},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":10599,"kind":{"StorageLive":252},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":10600,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":251},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":108},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":252},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":71},"end":{"line":488,"col":75}},"generated_from_span":null},"id":4716,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":252},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":4717,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":80},"end":{"line":488,"col":81}},"generated_from_span":null},"id":4718,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":80},"end":{"line":488,"col":81}},"generated_from_span":null},"id":4719,"kind":{"Assign":[{"kind":{"Local":110},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":10601,"kind":{"StorageLive":253},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":10602,"kind":{"Assign":[{"kind":{"Local":253},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":10603,"kind":{"StorageLive":254},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":10604,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":253},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":110},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":254},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":78},"end":{"line":488,"col":82}},"generated_from_span":null},"id":4722,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":254},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":69},"end":{"line":488,"col":83}},"generated_from_span":null},"id":4723,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":162}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":107},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":106},"ty":{"Deduplicated":3746}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":82},"end":{"line":488,"col":83}},"generated_from_span":null},"id":4724,"kind":{"StorageDead":109},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":82},"end":{"line":488,"col":83}},"generated_from_span":null},"id":4725,"kind":{"StorageDead":107},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4726,"kind":{"Assign":[{"kind":{"Local":111},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":101},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":106},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":50},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4728,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":111},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4729,"kind":{"StorageDead":106},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4730,"kind":{"StorageDead":101},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4731,"kind":{"Assign":[{"kind":{"Local":112},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U128","2"]}}},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":100},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":48},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4733,"kind":{"Assign":[{"kind":{"Local":99},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":112},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4734,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4735,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":94},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":99},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":31},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4737,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":113},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4738,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":84},"end":{"line":488,"col":85}},"generated_from_span":null},"id":4739,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4740,"kind":{"StorageDead":110},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4741,"kind":{"StorageDead":108},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4742,"kind":{"StorageDead":105},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4743,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4744,"kind":{"StorageDead":98},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":488,"col":85},"end":{"line":488,"col":86}},"generated_from_span":null},"id":4745,"kind":{"StorageDead":96},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4747,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4748,"kind":{"Assign":[{"kind":{"Local":114},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4775,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":114},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4750,"kind":{"StorageLive":115},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":4751,"kind":{"StorageLive":116},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":28},"end":{"line":501,"col":29}},"generated_from_span":null},"id":4752,"kind":{"StorageLive":117},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":28},"end":{"line":501,"col":29}},"generated_from_span":null},"id":4753,"kind":{"Assign":[{"kind":{"Local":117},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Same bound as in multiply:"," c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)"," < 2^(102 + lg(1 + 4*19) + 2*b)"," < 2^(108.27 + 2*b)","","The carry (c[i] >> 51) fits into a u64 when"," 108.27 + 2*b - 51 < 64"," 2*b < 6.73"," b < 3.365.","","So we require b < 3 to ensure this fits."]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":10481,"kind":{"StorageLive":193},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":10482,"kind":{"Assign":[{"kind":{"Local":193},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":10483,"kind":{"StorageLive":194},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":10484,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":193},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":117},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":194},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":30}},"generated_from_span":null},"id":4756,"kind":{"Assign":[{"kind":{"Local":116},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":194},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":33},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4757,"kind":{"StorageLive":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":33},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4761,"kind":{"Assign":[{"kind":{"Local":118},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4762,"kind":{"Assign":[{"kind":{"Local":115},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":116},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":118},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4765,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":115},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":501,"col":26},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4764,"kind":{"Break":0},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":41},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4766,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":41},"end":{"line":501,"col":42}},"generated_from_span":null},"id":4767,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4768,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4770,"kind":{"StorageDead":115},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4776,"kind":{"StorageDead":114},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4779,"kind":{"StorageLive":119},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4780,"kind":{"Assign":[{"kind":{"Local":119},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4811,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":119},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4782,"kind":{"StorageLive":120},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":4783,"kind":{"StorageLive":121},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":28},"end":{"line":502,"col":29}},"generated_from_span":null},"id":4784,"kind":{"StorageLive":122},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":28},"end":{"line":502,"col":29}},"generated_from_span":null},"id":4785,"kind":{"Assign":[{"kind":{"Local":122},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":10485,"kind":{"StorageLive":195},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":10486,"kind":{"Assign":[{"kind":{"Local":195},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":10487,"kind":{"StorageLive":196},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":10488,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":195},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":122},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":196},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":30}},"generated_from_span":null},"id":4788,"kind":{"Assign":[{"kind":{"Local":121},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":196},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":33},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4789,"kind":{"StorageLive":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":33},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4793,"kind":{"Assign":[{"kind":{"Local":123},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4794,"kind":{"Assign":[{"kind":{"Local":120},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":121},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":123},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4801,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":120},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":26},"end":{"line":502,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4796,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4797,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4798,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4800,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4802,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":502,"col":41},"end":{"line":502,"col":42}},"generated_from_span":null},"id":4803,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4804,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4806,"kind":{"StorageDead":120},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4812,"kind":{"StorageDead":119},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4815,"kind":{"StorageLive":124},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4816,"kind":{"Assign":[{"kind":{"Local":124},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4847,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":124},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4818,"kind":{"StorageLive":125},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":4819,"kind":{"StorageLive":126},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":28},"end":{"line":503,"col":29}},"generated_from_span":null},"id":4820,"kind":{"StorageLive":127},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":28},"end":{"line":503,"col":29}},"generated_from_span":null},"id":4821,"kind":{"Assign":[{"kind":{"Local":127},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":10489,"kind":{"StorageLive":197},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":10490,"kind":{"Assign":[{"kind":{"Local":197},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":10491,"kind":{"StorageLive":198},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":10492,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":197},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":127},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":198},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":30}},"generated_from_span":null},"id":4824,"kind":{"Assign":[{"kind":{"Local":126},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":198},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":33},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4825,"kind":{"StorageLive":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":33},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4829,"kind":{"Assign":[{"kind":{"Local":128},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4830,"kind":{"Assign":[{"kind":{"Local":125},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":126},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":128},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4837,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":125},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":26},"end":{"line":503,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4832,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4833,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4834,"kind":{"StorageDead":127},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4836,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4838,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":503,"col":41},"end":{"line":503,"col":42}},"generated_from_span":null},"id":4839,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4840,"kind":{"StorageDead":127},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4842,"kind":{"StorageDead":125},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4848,"kind":{"StorageDead":124},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4851,"kind":{"StorageLive":129},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4852,"kind":{"Assign":[{"kind":{"Local":129},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4883,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":129},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4854,"kind":{"StorageLive":130},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":4855,"kind":{"StorageLive":131},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":28},"end":{"line":504,"col":29}},"generated_from_span":null},"id":4856,"kind":{"StorageLive":132},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":28},"end":{"line":504,"col":29}},"generated_from_span":null},"id":4857,"kind":{"Assign":[{"kind":{"Local":132},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":10493,"kind":{"StorageLive":199},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":10494,"kind":{"Assign":[{"kind":{"Local":199},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":10495,"kind":{"StorageLive":200},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":10496,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":199},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":132},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":200},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":30}},"generated_from_span":null},"id":4860,"kind":{"Assign":[{"kind":{"Local":131},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":200},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":33},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4861,"kind":{"StorageLive":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":33},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4865,"kind":{"Assign":[{"kind":{"Local":133},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4866,"kind":{"Assign":[{"kind":{"Local":130},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":131},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":133},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4873,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":130},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":26},"end":{"line":504,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4868,"kind":{"StorageDead":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4869,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4870,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4872,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4874,"kind":{"StorageDead":133},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":504,"col":41},"end":{"line":504,"col":42}},"generated_from_span":null},"id":4875,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4876,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4878,"kind":{"StorageDead":130},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4884,"kind":{"StorageDead":129},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4887,"kind":{"StorageLive":134},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":4888,"kind":{"Assign":[{"kind":{"Local":134},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4919,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":134},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4890,"kind":{"StorageLive":135},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":4891,"kind":{"StorageLive":136},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":28},"end":{"line":505,"col":29}},"generated_from_span":null},"id":4892,"kind":{"StorageLive":137},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":28},"end":{"line":505,"col":29}},"generated_from_span":null},"id":4893,"kind":{"Assign":[{"kind":{"Local":137},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":10497,"kind":{"StorageLive":201},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":10498,"kind":{"Assign":[{"kind":{"Local":201},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":10499,"kind":{"StorageLive":202},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":10500,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":201},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":137},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":202},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":30}},"generated_from_span":null},"id":4896,"kind":{"Assign":[{"kind":{"Local":136},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":202},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":33},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4897,"kind":{"StorageLive":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":33},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4901,"kind":{"Assign":[{"kind":{"Local":138},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","54"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4902,"kind":{"Assign":[{"kind":{"Local":135},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":136},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":138},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4909,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":135},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":26},"end":{"line":505,"col":42}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4904,"kind":{"StorageDead":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4905,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4906,"kind":{"StorageDead":137},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4908,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4910,"kind":{"StorageDead":138},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":505,"col":41},"end":{"line":505,"col":42}},"generated_from_span":null},"id":4911,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4912,"kind":{"StorageDead":137},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":4914,"kind":{"StorageDead":135},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":4920,"kind":{"StorageDead":134},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4922,"kind":{"StorageLive":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":37}},"generated_from_span":null},"id":4923,"kind":{"StorageLive":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":19},"end":{"line":511,"col":29}},"generated_from_span":null},"id":4924,"kind":{"StorageLive":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":20},"end":{"line":511,"col":22}},"generated_from_span":null},"id":4925,"kind":{"StorageLive":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":20},"end":{"line":511,"col":22}},"generated_from_span":null},"id":4926,"kind":{"Assign":[{"kind":{"Local":142},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":["Casting to u64 and back tells the compiler that the carry is bounded by 2^64, so","that the addition is a u128 + u64 rather than u128 + u128."]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":19},"end":{"line":511,"col":29}},"generated_from_span":null},"id":4930,"kind":{"Assign":[{"kind":{"Local":141},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":142},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":28},"end":{"line":511,"col":29}},"generated_from_span":null},"id":4931,"kind":{"StorageDead":142},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":37}},"generated_from_span":null},"id":4932,"kind":{"Assign":[{"kind":{"Local":140},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":141},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":36},"end":{"line":511,"col":37}},"generated_from_span":null},"id":4933,"kind":{"StorageDead":141},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":18},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4934,"kind":{"Assign":[{"kind":{"Local":139},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":140},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":44},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4935,"kind":{"StorageDead":140},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":12},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4936,"kind":{"Assign":[{"kind":{"Local":143},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":139},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":12},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4938,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":143},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":511,"col":44},"end":{"line":511,"col":45}},"generated_from_span":null},"id":4939,"kind":{"StorageDead":139},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":19},"end":{"line":512,"col":30}},"generated_from_span":null},"id":4940,"kind":{"StorageLive":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":20},"end":{"line":512,"col":22}},"generated_from_span":null},"id":4941,"kind":{"StorageLive":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":20},"end":{"line":512,"col":22}},"generated_from_span":null},"id":4942,"kind":{"Assign":[{"kind":{"Local":145},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":19},"end":{"line":512,"col":30}},"generated_from_span":null},"id":4943,"kind":{"Assign":[{"kind":{"Local":144},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":145},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":29},"end":{"line":512,"col":30}},"generated_from_span":null},"id":4944,"kind":{"StorageDead":145},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":14},"end":{"line":512,"col":15}},"generated_from_span":null},"id":4945,"kind":{"StorageLive":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":14},"end":{"line":512,"col":15}},"generated_from_span":null},"id":4946,"kind":{"Assign":[{"kind":{"Local":146},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":10605,"kind":{"StorageLive":255},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":10606,"kind":{"Assign":[{"kind":{"Local":255},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":10607,"kind":{"StorageLive":256},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":10608,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":255},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":146},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":256},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":12},"end":{"line":512,"col":48}},"generated_from_span":null},"id":4949,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":256},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":144},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":47},"end":{"line":512,"col":48}},"generated_from_span":null},"id":4950,"kind":{"StorageDead":144},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":512,"col":48},"end":{"line":512,"col":49}},"generated_from_span":null},"id":4951,"kind":{"StorageDead":146},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4952,"kind":{"StorageLive":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":37}},"generated_from_span":null},"id":4953,"kind":{"StorageLive":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":19},"end":{"line":514,"col":29}},"generated_from_span":null},"id":4954,"kind":{"StorageLive":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":20},"end":{"line":514,"col":22}},"generated_from_span":null},"id":4955,"kind":{"StorageLive":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":20},"end":{"line":514,"col":22}},"generated_from_span":null},"id":4956,"kind":{"Assign":[{"kind":{"Local":150},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":19},"end":{"line":514,"col":29}},"generated_from_span":null},"id":4960,"kind":{"Assign":[{"kind":{"Local":149},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":150},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":28},"end":{"line":514,"col":29}},"generated_from_span":null},"id":4961,"kind":{"StorageDead":150},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":37}},"generated_from_span":null},"id":4962,"kind":{"Assign":[{"kind":{"Local":148},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":149},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":36},"end":{"line":514,"col":37}},"generated_from_span":null},"id":4963,"kind":{"StorageDead":149},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":18},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4964,"kind":{"Assign":[{"kind":{"Local":147},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":148},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":44},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4965,"kind":{"StorageDead":148},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":12},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4966,"kind":{"Assign":[{"kind":{"Local":151},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":147},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":12},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4968,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":151},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":514,"col":44},"end":{"line":514,"col":45}},"generated_from_span":null},"id":4969,"kind":{"StorageDead":147},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":19},"end":{"line":515,"col":30}},"generated_from_span":null},"id":4970,"kind":{"StorageLive":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":20},"end":{"line":515,"col":22}},"generated_from_span":null},"id":4971,"kind":{"StorageLive":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":20},"end":{"line":515,"col":22}},"generated_from_span":null},"id":4972,"kind":{"Assign":[{"kind":{"Local":153},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":19},"end":{"line":515,"col":30}},"generated_from_span":null},"id":4973,"kind":{"Assign":[{"kind":{"Local":152},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":153},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":29},"end":{"line":515,"col":30}},"generated_from_span":null},"id":4974,"kind":{"StorageDead":153},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":14},"end":{"line":515,"col":15}},"generated_from_span":null},"id":4975,"kind":{"StorageLive":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":14},"end":{"line":515,"col":15}},"generated_from_span":null},"id":4976,"kind":{"Assign":[{"kind":{"Local":154},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":10609,"kind":{"StorageLive":257},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":10610,"kind":{"Assign":[{"kind":{"Local":257},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":10611,"kind":{"StorageLive":258},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":10612,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":257},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":154},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":258},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":12},"end":{"line":515,"col":48}},"generated_from_span":null},"id":4979,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":258},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":152},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":47},"end":{"line":515,"col":48}},"generated_from_span":null},"id":4980,"kind":{"StorageDead":152},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":515,"col":48},"end":{"line":515,"col":49}},"generated_from_span":null},"id":4981,"kind":{"StorageDead":154},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4982,"kind":{"StorageLive":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":37}},"generated_from_span":null},"id":4983,"kind":{"StorageLive":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":19},"end":{"line":517,"col":29}},"generated_from_span":null},"id":4984,"kind":{"StorageLive":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":20},"end":{"line":517,"col":22}},"generated_from_span":null},"id":4985,"kind":{"StorageLive":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":20},"end":{"line":517,"col":22}},"generated_from_span":null},"id":4986,"kind":{"Assign":[{"kind":{"Local":158},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":19},"end":{"line":517,"col":29}},"generated_from_span":null},"id":4990,"kind":{"Assign":[{"kind":{"Local":157},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":158},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":28},"end":{"line":517,"col":29}},"generated_from_span":null},"id":4991,"kind":{"StorageDead":158},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":37}},"generated_from_span":null},"id":4992,"kind":{"Assign":[{"kind":{"Local":156},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":157},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":36},"end":{"line":517,"col":37}},"generated_from_span":null},"id":4993,"kind":{"StorageDead":157},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":18},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4994,"kind":{"Assign":[{"kind":{"Local":155},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":156},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":44},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4995,"kind":{"StorageDead":156},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":12},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4996,"kind":{"Assign":[{"kind":{"Local":159},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":73},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":155},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":12},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4998,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":159},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":517,"col":44},"end":{"line":517,"col":45}},"generated_from_span":null},"id":4999,"kind":{"StorageDead":155},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":19},"end":{"line":518,"col":30}},"generated_from_span":null},"id":5000,"kind":{"StorageLive":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":20},"end":{"line":518,"col":22}},"generated_from_span":null},"id":5001,"kind":{"StorageLive":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":20},"end":{"line":518,"col":22}},"generated_from_span":null},"id":5002,"kind":{"Assign":[{"kind":{"Local":161},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":19},"end":{"line":518,"col":30}},"generated_from_span":null},"id":5003,"kind":{"Assign":[{"kind":{"Local":160},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":161},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":29},"end":{"line":518,"col":30}},"generated_from_span":null},"id":5004,"kind":{"StorageDead":161},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":14},"end":{"line":518,"col":15}},"generated_from_span":null},"id":5005,"kind":{"StorageLive":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":14},"end":{"line":518,"col":15}},"generated_from_span":null},"id":5006,"kind":{"Assign":[{"kind":{"Local":162},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":10613,"kind":{"StorageLive":259},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":10614,"kind":{"Assign":[{"kind":{"Local":259},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":10615,"kind":{"StorageLive":260},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":10616,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":259},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":162},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":260},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":12},"end":{"line":518,"col":48}},"generated_from_span":null},"id":5009,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":260},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":160},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":47},"end":{"line":518,"col":48}},"generated_from_span":null},"id":5010,"kind":{"StorageDead":160},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":518,"col":48},"end":{"line":518,"col":49}},"generated_from_span":null},"id":5011,"kind":{"StorageDead":162},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5012,"kind":{"StorageLive":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":37}},"generated_from_span":null},"id":5013,"kind":{"StorageLive":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":19},"end":{"line":520,"col":29}},"generated_from_span":null},"id":5014,"kind":{"StorageLive":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":20},"end":{"line":520,"col":22}},"generated_from_span":null},"id":5015,"kind":{"StorageLive":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":20},"end":{"line":520,"col":22}},"generated_from_span":null},"id":5016,"kind":{"Assign":[{"kind":{"Local":166},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":73},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":19},"end":{"line":520,"col":29}},"generated_from_span":null},"id":5020,"kind":{"Assign":[{"kind":{"Local":165},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":166},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":28},"end":{"line":520,"col":29}},"generated_from_span":null},"id":5021,"kind":{"StorageDead":166},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":37}},"generated_from_span":null},"id":5022,"kind":{"Assign":[{"kind":{"Local":164},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":165},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":36},"end":{"line":520,"col":37}},"generated_from_span":null},"id":5023,"kind":{"StorageDead":165},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":18},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5024,"kind":{"Assign":[{"kind":{"Local":163},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":164},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":44},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5025,"kind":{"StorageDead":164},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":12},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5026,"kind":{"Assign":[{"kind":{"Local":167},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":163},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":12},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5028,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":167},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":520,"col":44},"end":{"line":520,"col":45}},"generated_from_span":null},"id":5029,"kind":{"StorageDead":163},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":19},"end":{"line":521,"col":30}},"generated_from_span":null},"id":5030,"kind":{"StorageLive":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":20},"end":{"line":521,"col":22}},"generated_from_span":null},"id":5031,"kind":{"StorageLive":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":20},"end":{"line":521,"col":22}},"generated_from_span":null},"id":5032,"kind":{"Assign":[{"kind":{"Local":169},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":73},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":19},"end":{"line":521,"col":30}},"generated_from_span":null},"id":5033,"kind":{"Assign":[{"kind":{"Local":168},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":169},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":29},"end":{"line":521,"col":30}},"generated_from_span":null},"id":5034,"kind":{"StorageDead":169},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":14},"end":{"line":521,"col":15}},"generated_from_span":null},"id":5035,"kind":{"StorageLive":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":14},"end":{"line":521,"col":15}},"generated_from_span":null},"id":5036,"kind":{"Assign":[{"kind":{"Local":170},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":10617,"kind":{"StorageLive":261},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":10618,"kind":{"Assign":[{"kind":{"Local":261},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":10619,"kind":{"StorageLive":262},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":10620,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":261},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":170},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":262},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":12},"end":{"line":521,"col":48}},"generated_from_span":null},"id":5039,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":262},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":168},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":47},"end":{"line":521,"col":48}},"generated_from_span":null},"id":5040,"kind":{"StorageDead":168},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":521,"col":48},"end":{"line":521,"col":49}},"generated_from_span":null},"id":5041,"kind":{"StorageDead":170},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":16},"end":{"line":523,"col":21}},"generated_from_span":null},"id":5042,"kind":{"StorageLive":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":29},"end":{"line":523,"col":39}},"generated_from_span":null},"id":5043,"kind":{"StorageLive":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":30},"end":{"line":523,"col":32}},"generated_from_span":null},"id":5044,"kind":{"StorageLive":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":30},"end":{"line":523,"col":32}},"generated_from_span":null},"id":5045,"kind":{"Assign":[{"kind":{"Local":173},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":29},"end":{"line":523,"col":39}},"generated_from_span":null},"id":5049,"kind":{"Assign":[{"kind":{"Local":172},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":173},"ty":{"Deduplicated":3746}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":38},"end":{"line":523,"col":39}},"generated_from_span":null},"id":5050,"kind":{"StorageDead":173},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":29},"end":{"line":523,"col":46}},"generated_from_span":null},"id":5051,"kind":{"Assign":[{"kind":{"Local":171},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":172},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":523,"col":45},"end":{"line":523,"col":46}},"generated_from_span":null},"id":5052,"kind":{"StorageDead":172},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":19},"end":{"line":524,"col":30}},"generated_from_span":null},"id":5053,"kind":{"StorageLive":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":20},"end":{"line":524,"col":22}},"generated_from_span":null},"id":5054,"kind":{"StorageLive":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":20},"end":{"line":524,"col":22}},"generated_from_span":null},"id":5055,"kind":{"Assign":[{"kind":{"Local":175},"ty":{"Deduplicated":3746}},{"Use":[{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":19},"end":{"line":524,"col":30}},"generated_from_span":null},"id":5056,"kind":{"Assign":[{"kind":{"Local":174},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U128"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":175},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":29},"end":{"line":524,"col":30}},"generated_from_span":null},"id":5057,"kind":{"StorageDead":175},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":14},"end":{"line":524,"col":15}},"generated_from_span":null},"id":5058,"kind":{"StorageLive":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":14},"end":{"line":524,"col":15}},"generated_from_span":null},"id":5059,"kind":{"Assign":[{"kind":{"Local":176},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":10621,"kind":{"StorageLive":263},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":10622,"kind":{"Assign":[{"kind":{"Local":263},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":10623,"kind":{"StorageLive":264},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":10624,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":263},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":176},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":264},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":12},"end":{"line":524,"col":48}},"generated_from_span":null},"id":5062,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":264},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":174},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":47},"end":{"line":524,"col":48}},"generated_from_span":null},"id":5063,"kind":{"StorageDead":174},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":524,"col":48},"end":{"line":524,"col":49}},"generated_from_span":null},"id":5064,"kind":{"StorageDead":176},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5065,"kind":{"StorageLive":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":25}},"generated_from_span":null},"id":5066,"kind":{"StorageLive":178},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":25}},"generated_from_span":null},"id":5067,"kind":{"Assign":[{"kind":{"Local":178},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":171},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":["To see that this does not overflow, we need a[0] + carry * 19 < 2^64.","","c4 < a2^2 + 2*a0*a4 + 2*a1*a3 + (carry from c3)"," < 2^(102 + 2*b + lg(5)) + 2^64.","","When b < 3 we get","","c4 < 2^110.33 so that carry < 2^59.33","","so that","","a[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58","","and there is no overflow."]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5068,"kind":{"Assign":[{"kind":{"Local":179},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":178},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","19"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":20},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5070,"kind":{"Assign":[{"kind":{"Local":177},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":179},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":29},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5071,"kind":{"StorageDead":178},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":14},"end":{"line":540,"col":15}},"generated_from_span":null},"id":5072,"kind":{"StorageLive":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":14},"end":{"line":540,"col":15}},"generated_from_span":null},"id":5073,"kind":{"Assign":[{"kind":{"Local":180},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":10625,"kind":{"StorageLive":265},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":10626,"kind":{"Assign":[{"kind":{"Local":265},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":10627,"kind":{"StorageLive":266},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":10628,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":265},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":180},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":266},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5076,"kind":{"Assign":[{"kind":{"Local":181},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":266},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":177},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":10629,"kind":{"StorageLive":267},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":10630,"kind":{"Assign":[{"kind":{"Local":267},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":10631,"kind":{"StorageLive":268},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":10632,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":267},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":180},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":268},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":12},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5078,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":268},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":181},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":29},"end":{"line":540,"col":30}},"generated_from_span":null},"id":5079,"kind":{"StorageDead":177},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":540,"col":30},"end":{"line":540,"col":31}},"generated_from_span":null},"id":5080,"kind":{"StorageDead":180},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5081,"kind":{"StorageLive":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":5082,"kind":{"StorageLive":183},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":22},"end":{"line":543,"col":23}},"generated_from_span":null},"id":5083,"kind":{"StorageLive":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":22},"end":{"line":543,"col":23}},"generated_from_span":null},"id":5084,"kind":{"Assign":[{"kind":{"Local":184},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Now a[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon)."]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":10633,"kind":{"StorageLive":269},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":10634,"kind":{"Assign":[{"kind":{"Local":269},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":10635,"kind":{"StorageLive":270},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":10636,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":269},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":184},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":270},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":24}},"generated_from_span":null},"id":5087,"kind":{"Assign":[{"kind":{"Local":183},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":270},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":20},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5091,"kind":{"Assign":[{"kind":{"Local":182},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":183},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":29},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5092,"kind":{"StorageDead":183},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":14},"end":{"line":543,"col":15}},"generated_from_span":null},"id":5093,"kind":{"StorageLive":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":14},"end":{"line":543,"col":15}},"generated_from_span":null},"id":5094,"kind":{"Assign":[{"kind":{"Local":185},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":10637,"kind":{"StorageLive":271},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":10638,"kind":{"Assign":[{"kind":{"Local":271},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":10639,"kind":{"StorageLive":272},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":10640,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":271},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":185},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":272},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5097,"kind":{"Assign":[{"kind":{"Local":186},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":272},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":182},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":10641,"kind":{"StorageLive":273},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":10642,"kind":{"Assign":[{"kind":{"Local":273},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":10643,"kind":{"StorageLive":274},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":10644,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":273},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":185},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":274},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":12},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5099,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":274},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":186},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":29},"end":{"line":543,"col":30}},"generated_from_span":null},"id":5100,"kind":{"StorageDead":182},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":30},"end":{"line":543,"col":31}},"generated_from_span":null},"id":5101,"kind":{"StorageDead":185},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":543,"col":30},"end":{"line":543,"col":31}},"generated_from_span":null},"id":5102,"kind":{"StorageDead":184},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":14},"end":{"line":544,"col":15}},"generated_from_span":null},"id":5103,"kind":{"StorageLive":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":14},"end":{"line":544,"col":15}},"generated_from_span":null},"id":5104,"kind":{"Assign":[{"kind":{"Local":187},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":5107,"kind":{"StorageLive":192},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":10645,"kind":{"StorageLive":275},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":10646,"kind":{"Assign":[{"kind":{"Local":275},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":10647,"kind":{"StorageLive":276},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":10648,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":275},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":187},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":276},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":5108,"kind":{"Assign":[{"kind":{"Local":192},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":276},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Global":{"id":59,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":10649,"kind":{"StorageLive":277},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":10650,"kind":{"Assign":[{"kind":{"Local":277},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":10651,"kind":{"StorageLive":278},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":10652,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":277},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":187},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":278},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":12},"end":{"line":544,"col":35}},"generated_from_span":null},"id":5109,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":278},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":192},"ty":{"Deduplicated":1550}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":544,"col":35},"end":{"line":544,"col":36}},"generated_from_span":null},"id":5110,"kind":{"StorageDead":187},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":548,"col":12},"end":{"line":548,"col":18}},"generated_from_span":null},"id":5111,"kind":{"Assign":[{"kind":{"Local":188},"ty":{"Deduplicated":2925}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":["Now all a[i] < 2^(51 + epsilon) and a = self^(2^k)."]},{"span":{"data":{"file_id":5,"beg":{"line":548,"col":12},"end":{"line":548,"col":18}},"generated_from_span":null},"id":5113,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2925}},{"Use":[{"Move":{"kind":{"Local":188},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":21}},"generated_from_span":null},"id":5114,"kind":{"StorageLive":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":16}},"generated_from_span":null},"id":5115,"kind":{"StorageLive":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":16}},"generated_from_span":null},"id":5116,"kind":{"Assign":[{"kind":{"Local":190},"ty":{"Deduplicated":2925}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":21}},"generated_from_span":null},"id":5117,"kind":{"Assign":[{"kind":{"Local":189},"ty":{"Deduplicated":1470}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":190},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":555,"col":5}},"generated_from_span":null},"id":5137,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":189},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":20},"end":{"line":555,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":549,"col":20},"end":{"line":549,"col":21}},"generated_from_span":null},"id":5118,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":551,"col":12},"end":{"line":551,"col":13}},"generated_from_span":null},"id":5120,"kind":{"StorageDead":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5121,"kind":{"StorageDead":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5122,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5123,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5124,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5125,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5126,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5127,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5128,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":554,"col":23},"end":{"line":554,"col":24}},"generated_from_span":null},"id":5130,"kind":{"StorageLive":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":554,"col":23},"end":{"line":554,"col":24}},"generated_from_span":null},"id":5131,"kind":{"Assign":[{"kind":{"Local":191},"ty":{"Deduplicated":1552}},{"Use":[{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1552}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":554,"col":8},"end":{"line":554,"col":25}},"generated_from_span":null},"id":5132,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Aggregate":[{"Adt":[{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":191},"ty":{"Deduplicated":1552}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":554,"col":24},"end":{"line":554,"col":25}},"generated_from_span":null},"id":5133,"kind":{"StorageDead":191},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":555,"col":4},"end":{"line":555,"col":5}},"generated_from_span":null},"id":5134,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":555,"col":5},"end":{"line":555,"col":5}},"generated_from_span":null},"id":5135,"kind":"Return","comments_before":[]}]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":15},"end":{"line":549,"col":21}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":549,"col":20},"end":{"line":549,"col":21}},"generated_from_span":null},"id":5138,"kind":{"StorageDead":190},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":551,"col":12},"end":{"line":551,"col":13}},"generated_from_span":null},"id":5140,"kind":{"StorageDead":189},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5141,"kind":{"StorageDead":171},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5142,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5143,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5144,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5145,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5146,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5147,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":552,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5148,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":462,"col":8},"end":{"line":552,"col":9}},"generated_from_span":null},"id":5149,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":["Precondition: assume input limbs a[i] are bounded as","","a[i] < 2^(51 + b)","","where b is a real parameter measuring the \"bit excess\" of the limbs.","Precomputation: 64-bit multiply by 19.","","This fits into a u64 whenever 51 + b + lg(19) < 64.","","Since 51 + b + lg(19) < 51 + 4.25 + b"," = 55.25 + b,","this fits if b < 8.75."]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":41},"end":{"line":501,"col":42}},"generated_from_span":null},"id":5151,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":501,"col":41},"end":{"line":501,"col":42}},"generated_from_span":null},"id":5152,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":5153,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":5155,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]},"comments":[[455,["/ Multiply two 64-bit integers with 128 bits of output."]],[468,["Precondition: assume input limbs a[i] are bounded as","","a[i] < 2^(51 + b)","","where b is a real parameter measuring the \"bit excess\" of the limbs."]],[476,["Precomputation: 64-bit multiply by 19.","","This fits into a u64 whenever 51 + b + lg(19) < 64.","","Since 51 + b + lg(19) < 51 + 4.25 + b"," = 55.25 + b,","this fits if b < 8.75."]],[484,["Multiply to get 128-bit coefficients of output.","","The 128-bit multiplications by 2 turn into 1 slr + 1 slrd each,","which doesn't seem any better or worse than doing them as precomputations","on the 64-bit inputs."]],[501,["Same bound as in multiply:"," c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)"," < 2^(102 + lg(1 + 4*19) + 2*b)"," < 2^(108.27 + 2*b)","","The carry (c[i] >> 51) fits into a u64 when"," 108.27 + 2*b - 51 < 64"," 2*b < 6.73"," b < 3.365.","","So we require b < 3 to ensure this fits."]],[511,["Casting to u64 and back tells the compiler that the carry is bounded by 2^64, so","that the addition is a u128 + u64 rather than u128 + u128."]],[540,["To see that this does not overflow, we need a[0] + carry * 19 < 2^64.","","c4 < a2^2 + 2*a0*a4 + 2*a1*a3 + (carry from c3)"," < 2^(102 + 2*b + lg(5)) + 2^64.","","When b < 3 we get","","c4 < 2^110.33 so that carry < 2^59.33","","so that","","a[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58","","and there is no overflow."]],[543,["Now a[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon)."]],[547,["Now all a[i] < 2^(51 + epsilon) and a = self^(2^k)."]]]}}},{"def_id":37,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["square",0]}],"span":{"data":{"file_id":5,"beg":{"line":558,"col":4},"end":{"line":560,"col":5}},"generated_from_span":null},"source_text":"pub fn square(&self) -> FieldElement51 {\n self.pow2k(1)\n }","attr_info":{"attributes":[{"DocComment":" Returns the square of this field element."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":558,"col":4},"end":{"line":560,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":558,"col":28},"end":{"line":558,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":558,"col":18},"end":{"line":558,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":559,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":2794}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":560,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":559,"col":12}},"generated_from_span":null},"id":5156,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":559,"col":12}},"generated_from_span":null},"id":5157,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":559,"col":8},"end":{"line":559,"col":21}},"generated_from_span":null},"id":5158,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":2794}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":559,"col":20},"end":{"line":559,"col":21}},"generated_from_span":null},"id":5159,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":560,"col":5},"end":{"line":560,"col":5}},"generated_from_span":null},"id":5160,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":38,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["square2",0]}],"span":{"data":{"file_id":5,"beg":{"line":563,"col":4},"end":{"line":570,"col":5}},"generated_from_span":null},"source_text":"pub fn square2(&self) -> FieldElement51 {\n let mut square = self.pow2k(1);\n for i in 0..5 {\n square.0[i] *= 2;\n }\n\n square\n }","attr_info":{"attributes":[{"DocComment":" Returns 2 times the square of this field element."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":563,"col":4},"end":{"line":570,"col":5}},"generated_from_span":null},"bound_body_regions":10,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":563,"col":29},"end":{"line":563,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":"self","span":{"data":{"file_id":5,"beg":{"line":563,"col":19},"end":{"line":563,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":2,"name":"square","span":{"data":{"file_id":5,"beg":{"line":564,"col":12},"end":{"line":564,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":564,"col":25},"end":{"line":564,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":6,"name":"iter","span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3512}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3514,{"Ref":[{"Body":4},{"Deduplicated":3489},"Mut"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3515}},{"index":10,"name":"i","span":{"data":{"file_id":5,"beg":{"line":565,"col":12},"end":{"line":565,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":566,"col":21},"end":{"line":566,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":564,"col":12},"end":{"line":570,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":564,"col":12},"end":{"line":564,"col":22}},"generated_from_span":null},"id":5164,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":12},"end":{"line":564,"col":22}},"generated_from_span":null},"id":5165,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":25},"end":{"line":564,"col":29}},"generated_from_span":null},"id":5166,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":25},"end":{"line":564,"col":29}},"generated_from_span":null},"id":5167,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2793}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":25},"end":{"line":564,"col":38}},"generated_from_span":null},"id":5168,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2794}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":564,"col":37},"end":{"line":564,"col":38}},"generated_from_span":null},"id":5169,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5171,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5172,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5173,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3489}},{"Aggregate":[{"Adt":[{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5174,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":146}},"generics":{"regions":[],"types":[{"Deduplicated":3489},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"Deduplicated":9794}]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3489}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3489}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":20},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5175,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5176,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5177,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3489}},{"Use":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3489}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5208,"kind":{"Loop":{"span":{"data":{"file_id":5,"beg":{"line":565,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5179,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5180,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5181,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5182,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3515}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":3489}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5183,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3514}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":3515}},"Deref"]},"ty":{"Deduplicated":3489}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5184,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":147}},"generics":{"regions":[{"Body":9}],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"Deduplicated":3682}]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3514}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":3512}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":20},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5185,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5190,"kind":{"Switch":{"Match":[{"kind":{"Local":7},"ty":{"Deduplicated":3512}},[[[0],{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"id":5187,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":5,"beg":{"line":565,"col":17},"end":{"line":565,"col":21}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":12},"end":{"line":565,"col":13}},"generated_from_span":null},"id":5191,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":12},"end":{"line":565,"col":13}},"generated_from_span":null},"id":5192,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":3512}},{"Field":[{"Adt":[22,1]},0]}]},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":21},"end":{"line":566,"col":22}},"generated_from_span":null},"id":5193,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":21},"end":{"line":566,"col":22}},"generated_from_span":null},"id":5194,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":10653,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":10654,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":10655,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":10656,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":5197,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":10657,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":10658,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":10659,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":10660,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":12},"end":{"line":566,"col":28}},"generated_from_span":null},"id":5199,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":16},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":566,"col":28},"end":{"line":566,"col":29}},"generated_from_span":null},"id":5200,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5202,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5203,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5204,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":565,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5207,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5210,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5211,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5213,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":567,"col":8},"end":{"line":567,"col":9}},"generated_from_span":null},"id":5214,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":569,"col":8},"end":{"line":569,"col":14}},"generated_from_span":null},"id":5216,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":570,"col":4},"end":{"line":570,"col":5}},"generated_from_span":null},"id":5217,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":570,"col":5},"end":{"line":570,"col":5}},"generated_from_span":null},"id":5218,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":39,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":18}},{"Ident":["clone",0]}],"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10656,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1819},"Shared"]}]}],"output":{"Deduplicated":1819}},"src":{"TraitImpl":{"impl_ref":{"id":18,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[3887,{"Ref":[{"Body":1},{"Deduplicated":1819},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"id":5219,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":153,"col":20},"end":{"line":153,"col":20}},"generated_from_span":null},"id":5220,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":40,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":21}},{"Ident":["clone",0]}],"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10657,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1831},"Shared"]}]}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[3891,{"Ref":[{"Body":1},{"Deduplicated":1831},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"id":5221,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":167,"col":20},"end":{"line":167,"col":20}},"generated_from_span":null},"id":5222,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":41,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":24}},{"Ident":["clone",0]}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10527,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[1842,{"Adt":{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":24,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1842}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[3894,{"Ref":[{"Body":1},{"Deduplicated":1842},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"id":5223,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":182,"col":20},"end":{"line":182,"col":20}},"generated_from_span":null},"id":5224,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":42,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":25}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10527}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":25,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":3894}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":5225,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"id":5226,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":182,"col":24},"end":{"line":182,"col":24}},"generated_from_span":null},"id":5227,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":43,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}},{"Ident":["eq",0]}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10527},{"HashConsedValue":[10658,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1842},"Shared"]}]}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":27,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1842},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"bound_body_regions":22,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":3894}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[3896,{"Ref":[{"Body":2},{"Deduplicated":1842},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2890}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":182,"col":35},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5228,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5229,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5230,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5231,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5232,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5233,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5261,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5234,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5235,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5236,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5237,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5238,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5239,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5240,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5241,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":16},{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5256,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5242,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5243,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5244,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5245,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5246,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5247,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5248,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":20},{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":25},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5249,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":25},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5250,"kind":{"StorageDead":9},"comments_before":[]}]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5252,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":186,"col":30},"end":{"line":186,"col":31}},"generated_from_span":null},"id":5253,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5254,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":false}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]}]}]}},"comments_before":[]}]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":187,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5257,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":185,"col":29},"end":{"line":185,"col":30}},"generated_from_span":null},"id":5258,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":4},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5259,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":false}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":25},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5262,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":187,"col":25},"end":{"line":187,"col":26}},"generated_from_span":null},"id":5263,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":182,"col":35},"end":{"line":182,"col":35}},"generated_from_span":null},"id":5264,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":44,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":30}},{"Ident":["clone",0]}],"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10526,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[1865,{"Adt":{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":30,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[3899,{"Ref":[{"Body":1},{"Deduplicated":1865},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"id":5265,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":204,"col":20},"end":{"line":204,"col":20}},"generated_from_span":null},"id":5266,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":45,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":31}},{"Ident":["identity",0]}],"span":{"data":{"file_id":6,"beg":{"line":230,"col":4},"end":{"line":236,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> ProjectivePoint {\n ProjectivePoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1819}},"src":{"TraitImpl":{"impl_ref":{"id":31,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":230,"col":4},"end":{"line":236,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":230,"col":21},"end":{"line":230,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1819}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":231,"col":8},"end":{"line":236,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":231,"col":8},"end":{"line":235,"col":9}},"generated_from_span":null},"id":5267,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Aggregate":[{"Adt":[{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":236,"col":5},"end":{"line":236,"col":5}},"generated_from_span":null},"id":5268,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":46,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":32}},{"Ident":["identity",0]}],"span":{"data":{"file_id":6,"beg":{"line":240,"col":4},"end":{"line":247,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::ONE,\n Y_minus_X: FieldElement::ONE,\n Z: FieldElement::ONE,\n T2d: FieldElement::ZERO,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":32,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":240,"col":4},"end":{"line":247,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":240,"col":21},"end":{"line":240,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1865}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":241,"col":8},"end":{"line":247,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":241,"col":8},"end":{"line":246,"col":9}},"generated_from_span":null},"id":5269,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":247,"col":5},"end":{"line":247,"col":5}},"generated_from_span":null},"id":5270,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":47,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":33}},{"Ident":["default",0]}],"span":{"data":{"file_id":6,"beg":{"line":251,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"source_text":"fn default() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":33,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":251,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":251,"col":20},"end":{"line":251,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1865}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":253,"col":5},"end":{"line":253,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":252,"col":8},"end":{"line":252,"col":40}},"generated_from_span":null},"id":5271,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":46}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":253,"col":5},"end":{"line":253,"col":5}},"generated_from_span":null},"id":5272,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":48,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":34}},{"Ident":["identity",0]}],"span":{"data":{"file_id":6,"beg":{"line":257,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: FieldElement::ONE,\n y_minus_x: FieldElement::ONE,\n xy2d: FieldElement::ZERO,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":34,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":257,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":257,"col":21},"end":{"line":257,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1842}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":258,"col":8},"end":{"line":263,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":258,"col":8},"end":{"line":262,"col":9}},"generated_from_span":null},"id":5273,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":263,"col":5},"end":{"line":263,"col":5}},"generated_from_span":null},"id":5274,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":49,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":35}},{"Ident":["default",0]}],"span":{"data":{"file_id":6,"beg":{"line":267,"col":4},"end":{"line":269,"col":5}},"generated_from_span":null},"source_text":"fn default() -> AffineNielsPoint {\n AffineNielsPoint::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":35,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":267,"col":4},"end":{"line":269,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":267,"col":20},"end":{"line":267,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1842}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":269,"col":5},"end":{"line":269,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":268,"col":8},"end":{"line":268,"col":36}},"generated_from_span":null},"id":5275,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":48}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1842}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":269,"col":5},"end":{"line":269,"col":5}},"generated_from_span":null},"id":5276,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":50,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}},{"Ident":["is_valid",0]}],"span":{"data":{"file_id":6,"beg":{"line":277,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"source_text":"fn is_valid(&self) -> bool {\n // Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,\n // homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ = self.Z.square();\n let ZZZZ = ZZ.square();\n let lhs = &(&YY - &XX) * &ZZ;\n let rhs = &ZZZZ + &(&constants::EDWARDS_D * &(&XX * &YY));\n\n lhs == rhs\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10656}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":36,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":277,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"bound_body_regions":49,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":277,"col":26},"end":{"line":277,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":277,"col":16},"end":{"line":277,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3887}},{"index":2,"name":"XX","span":{"data":{"file_id":6,"beg":{"line":280,"col":12},"end":{"line":280,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":280,"col":17},"end":{"line":280,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":"YY","span":{"data":{"file_id":6,"beg":{"line":281,"col":12},"end":{"line":281,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":281,"col":17},"end":{"line":281,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":"ZZ","span":{"data":{"file_id":6,"beg":{"line":282,"col":12},"end":{"line":282,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":282,"col":17},"end":{"line":282,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":8,"name":"ZZZZ","span":{"data":{"file_id":6,"beg":{"line":283,"col":12},"end":{"line":283,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":283,"col":19},"end":{"line":283,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":10,"name":"lhs","span":{"data":{"file_id":6,"beg":{"line":284,"col":12},"end":{"line":284,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":18},"end":{"line":284,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":19},"end":{"line":284,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":20},"end":{"line":284,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":"rhs","span":{"data":{"file_id":6,"beg":{"line":285,"col":12},"end":{"line":285,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":18},"end":{"line":285,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":27},"end":{"line":285,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":53},"end":{"line":285,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":54},"end":{"line":285,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":287,"col":8},"end":{"line":287,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":287,"col":15},"end":{"line":287,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2918}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2938}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":285,"col":29},"end":{"line":285,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":280,"col":12},"end":{"line":284,"col":36}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":280,"col":12},"end":{"line":280,"col":14}},"generated_from_span":null},"id":5277,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":12},"end":{"line":280,"col":14}},"generated_from_span":null},"id":5278,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":17},"end":{"line":280,"col":23}},"generated_from_span":null},"id":5279,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":17},"end":{"line":280,"col":23}},"generated_from_span":null},"id":5280,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,","homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2"]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":17},"end":{"line":280,"col":32}},"generated_from_span":null},"id":5281,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":280,"col":31},"end":{"line":280,"col":32}},"generated_from_span":null},"id":5282,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":12},"end":{"line":281,"col":14}},"generated_from_span":null},"id":5283,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":17},"end":{"line":281,"col":23}},"generated_from_span":null},"id":5284,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":17},"end":{"line":281,"col":23}},"generated_from_span":null},"id":5285,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":17},"end":{"line":281,"col":32}},"generated_from_span":null},"id":5286,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":28}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":281,"col":31},"end":{"line":281,"col":32}},"generated_from_span":null},"id":5287,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":12},"end":{"line":282,"col":14}},"generated_from_span":null},"id":5288,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":17},"end":{"line":282,"col":23}},"generated_from_span":null},"id":5289,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":17},"end":{"line":282,"col":23}},"generated_from_span":null},"id":5290,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":17},"end":{"line":282,"col":32}},"generated_from_span":null},"id":5291,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":30}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":282,"col":31},"end":{"line":282,"col":32}},"generated_from_span":null},"id":5292,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":12},"end":{"line":283,"col":16}},"generated_from_span":null},"id":5293,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":19},"end":{"line":283,"col":21}},"generated_from_span":null},"id":5294,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":19},"end":{"line":283,"col":21}},"generated_from_span":null},"id":5295,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":19},"end":{"line":283,"col":30}},"generated_from_span":null},"id":5296,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":32}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":283,"col":29},"end":{"line":283,"col":30}},"generated_from_span":null},"id":5297,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":12},"end":{"line":284,"col":15}},"generated_from_span":null},"id":5298,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":18},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5299,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":19},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5300,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":20},"end":{"line":284,"col":23}},"generated_from_span":null},"id":5301,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":20},"end":{"line":284,"col":23}},"generated_from_span":null},"id":5302,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"id":5303,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"id":5304,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"id":5305,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":26},"end":{"line":284,"col":29}},"generated_from_span":null},"id":5306,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":19},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5307,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":33},{"Body":34}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":29},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5308,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":29},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5309,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":18},"end":{"line":284,"col":30}},"generated_from_span":null},"id":5310,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5311,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5312,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5313,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":33},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5314,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":18},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5315,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":5316,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5317,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":29},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5318,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":29},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5319,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":85,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5320,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2938}},{"Ref":{"place":{"kind":{"Local":35},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5321,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2918}},{"Use":[{"Move":{"kind":{"Local":34},"ty":{"Deduplicated":2938}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":35},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5322,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":35},"end":{"line":284,"col":36}},"generated_from_span":null},"id":5323,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":36},"end":{"line":284,"col":37}},"generated_from_span":null},"id":5324,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":36},"end":{"line":284,"col":37}},"generated_from_span":null},"id":5325,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":284,"col":36},"end":{"line":284,"col":37}},"generated_from_span":null},"id":5326,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":12},"end":{"line":285,"col":15}},"generated_from_span":null},"id":5327,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":18},"end":{"line":285,"col":23}},"generated_from_span":null},"id":5328,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":18},"end":{"line":285,"col":23}},"generated_from_span":null},"id":5329,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5330,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5331,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":27},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5332,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5333,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5334,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2905}},{"Use":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2918}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":28},"end":{"line":285,"col":49}},"generated_from_span":null},"id":5335,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":32},"ty":{"Deduplicated":2905}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5336,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5337,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":53},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5338,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":54},"end":{"line":285,"col":57}},"generated_from_span":null},"id":5339,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":54},"end":{"line":285,"col":57}},"generated_from_span":null},"id":5340,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"id":5341,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"id":5342,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"id":5343,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":60},"end":{"line":285,"col":63}},"generated_from_span":null},"id":5344,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":53},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5345,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":26},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":63},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5346,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":63},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5347,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5348,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":26},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":52},"end":{"line":285,"col":64}},"generated_from_span":null},"id":5349,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":27},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5350,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":40},{"Body":41}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":64},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5351,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":64},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5352,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5353,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Local":22},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":26},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5354,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":18},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5355,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2895}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":64},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5356,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":64},"end":{"line":285,"col":65}},"generated_from_span":null},"id":5357,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5358,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5359,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5360,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5361,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":285,"col":65},"end":{"line":285,"col":66}},"generated_from_span":null},"id":5362,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":8},"end":{"line":287,"col":11}},"generated_from_span":null},"id":5363,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":8},"end":{"line":287,"col":11}},"generated_from_span":null},"id":5364,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":15},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5365,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":15},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5366,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":8},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5367,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":46},{"Body":47}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":2903}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":2904}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":17},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5368,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":287,"col":17},"end":{"line":287,"col":18}},"generated_from_span":null},"id":5369,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5370,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5371,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5372,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5373,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5374,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":4},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5375,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":288,"col":5},"end":{"line":288,"col":5}},"generated_from_span":null},"id":5376,"kind":"Return","comments_before":[]}]},"comments":[[280,["Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,","homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2"]]]}}},{"def_id":51,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":6,"beg":{"line":296,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::conditional_select(&a.Y_plus_X, &b.Y_plus_X, choice),\n Y_minus_X: FieldElement::conditional_select(&a.Y_minus_X, &b.Y_minus_X, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T2d: FieldElement::conditional_select(&a.T2d, &b.T2d, choice),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10526},{"HashConsedValue":[10659,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1865},"Shared"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":37,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":296,"col":4},"end":{"line":303,"col":5}},"generated_from_span":null},"bound_body_regions":36,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":296,"col":65},"end":{"line":296,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":1,"name":"a","span":{"data":{"file_id":6,"beg":{"line":296,"col":26},"end":{"line":296,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3899}},{"index":2,"name":"b","span":{"data":{"file_id":6,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[3915,{"Ref":[{"Body":2},{"Deduplicated":1865},"Shared"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":6,"beg":{"line":296,"col":46},"end":{"line":296,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":22},"end":{"line":298,"col":88}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":298,"col":81},"end":{"line":298,"col":87}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":23},"end":{"line":299,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":299,"col":84},"end":{"line":299,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":15},"end":{"line":300,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":300,"col":60},"end":{"line":300,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":17},"end":{"line":301,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":301,"col":66},"end":{"line":301,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":297,"col":8},"end":{"line":303,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":298,"col":22},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5377,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"id":5378,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"id":5379,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"id":5380,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":55},"end":{"line":298,"col":66}},"generated_from_span":null},"id":5381,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"id":5382,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"id":5383,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"id":5384,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3915}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":68},"end":{"line":298,"col":79}},"generated_from_span":null},"id":5385,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":81},"end":{"line":298,"col":87}},"generated_from_span":null},"id":5386,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":81},"end":{"line":298,"col":87}},"generated_from_span":null},"id":5387,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":22},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5388,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":22},{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":87},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5389,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":87},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5390,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":298,"col":87},"end":{"line":298,"col":88}},"generated_from_span":null},"id":5391,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":23},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5392,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"id":5393,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"id":5394,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"id":5395,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":56},"end":{"line":299,"col":68}},"generated_from_span":null},"id":5396,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"id":5397,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"id":5398,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"id":5399,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3915}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":70},"end":{"line":299,"col":82}},"generated_from_span":null},"id":5400,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":84},"end":{"line":299,"col":90}},"generated_from_span":null},"id":5401,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":84},"end":{"line":299,"col":90}},"generated_from_span":null},"id":5402,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":23},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5403,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":90},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5404,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":90},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5405,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":299,"col":90},"end":{"line":299,"col":91}},"generated_from_span":null},"id":5406,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":15},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5407,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"id":5408,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"id":5409,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"id":5410,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":48},"end":{"line":300,"col":52}},"generated_from_span":null},"id":5411,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"id":5412,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"id":5413,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"id":5414,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3915}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":54},"end":{"line":300,"col":58}},"generated_from_span":null},"id":5415,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":60},"end":{"line":300,"col":66}},"generated_from_span":null},"id":5416,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":60},"end":{"line":300,"col":66}},"generated_from_span":null},"id":5417,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":15},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5418,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":66},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5419,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":66},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5420,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":300,"col":66},"end":{"line":300,"col":67}},"generated_from_span":null},"id":5421,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":17},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5422,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"id":5423,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"id":5424,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"id":5425,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":50},"end":{"line":301,"col":56}},"generated_from_span":null},"id":5426,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"id":5427,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"id":5428,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"id":5429,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3915}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":58},"end":{"line":301,"col":64}},"generated_from_span":null},"id":5430,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":66},"end":{"line":301,"col":72}},"generated_from_span":null},"id":5431,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":66},"end":{"line":301,"col":72}},"generated_from_span":null},"id":5432,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":17},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5433,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2899}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":72},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5434,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":72},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5435,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":301,"col":72},"end":{"line":301,"col":73}},"generated_from_span":null},"id":5436,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":297,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5437,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5438,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5439,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5440,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5441,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5442,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5443,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5444,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5445,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5446,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5447,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5448,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":302,"col":8},"end":{"line":302,"col":9}},"generated_from_span":null},"id":5449,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":303,"col":5},"end":{"line":303,"col":5}},"generated_from_span":null},"id":5450,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":52,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":6,"beg":{"line":305,"col":4},"end":{"line":310,"col":5}},"generated_from_span":null},"source_text":"fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.Y_plus_X.conditional_assign(&other.Y_plus_X, choice);\n self.Y_minus_X.conditional_assign(&other.Y_minus_X, choice);\n self.Z.conditional_assign(&other.Z, choice);\n self.T2d.conditional_assign(&other.T2d, choice);\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10660,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1865},"Mut"]}]},{"Deduplicated":10659},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":37,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":305,"col":4},"end":{"line":310,"col":5}},"generated_from_span":null},"bound_body_regions":34,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":305,"col":66},"end":{"line":305,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":305,"col":26},"end":{"line":305,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[3918,{"Ref":[{"Body":1},{"Deduplicated":1865},"Mut"]}]}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":305,"col":37},"end":{"line":305,"col":42}},"generated_from_span":null},"ty":{"HashConsedValue":[3919,{"Ref":[{"Body":3},{"Deduplicated":1865},"Shared"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":6,"beg":{"line":305,"col":51},"end":{"line":305,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[3920,{"Ref":[{"Body":5},{"Deduplicated":1391},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":306,"col":58},"end":{"line":306,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[3921,{"Ref":[{"Body":9},{"Deduplicated":1391},"Mut"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":307,"col":60},"end":{"line":307,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[3922,{"Ref":[{"Body":12},{"Deduplicated":1391},"Mut"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":308,"col":44},"end":{"line":308,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[3923,{"Ref":[{"Body":15},{"Deduplicated":1391},"Mut"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":23,"name":null,"span":{"data":{"file_id":6,"beg":{"line":309,"col":48},"end":{"line":309,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":5451,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5452,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":21}},"generated_from_span":null},"id":5453,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":21}},"generated_from_span":null},"id":5454,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3920}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3918}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"id":5455,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"id":5456,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"id":5457,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":41},"end":{"line":306,"col":56}},"generated_from_span":null},"id":5458,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":58},"end":{"line":306,"col":64}},"generated_from_span":null},"id":5459,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":58},"end":{"line":306,"col":64}},"generated_from_span":null},"id":5460,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":8},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5461,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":20},{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3920}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":64},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5462,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":64},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5463,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":64},"end":{"line":306,"col":65}},"generated_from_span":null},"id":5464,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":65},"end":{"line":306,"col":66}},"generated_from_span":null},"id":5465,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":306,"col":65},"end":{"line":306,"col":66}},"generated_from_span":null},"id":5466,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5467,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":22}},"generated_from_span":null},"id":5468,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":22}},"generated_from_span":null},"id":5469,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3921}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3918}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"id":5470,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"id":5471,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"id":5472,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":42},"end":{"line":307,"col":58}},"generated_from_span":null},"id":5473,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":60},"end":{"line":307,"col":66}},"generated_from_span":null},"id":5474,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":60},"end":{"line":307,"col":66}},"generated_from_span":null},"id":5475,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":8},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5476,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":24},{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3921}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":66},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5477,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":66},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5478,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":66},"end":{"line":307,"col":67}},"generated_from_span":null},"id":5479,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":67},"end":{"line":307,"col":68}},"generated_from_span":null},"id":5480,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":307,"col":67},"end":{"line":307,"col":68}},"generated_from_span":null},"id":5481,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5482,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":14}},"generated_from_span":null},"id":5483,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":14}},"generated_from_span":null},"id":5484,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3918}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"id":5485,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"id":5486,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"id":5487,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":34},"end":{"line":308,"col":42}},"generated_from_span":null},"id":5488,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":44},"end":{"line":308,"col":50}},"generated_from_span":null},"id":5489,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":44},"end":{"line":308,"col":50}},"generated_from_span":null},"id":5490,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":8},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5491,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":28},{"Body":29}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":3922}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":50},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5492,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":50},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5493,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":50},"end":{"line":308,"col":51}},"generated_from_span":null},"id":5494,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":51},"end":{"line":308,"col":52}},"generated_from_span":null},"id":5495,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":308,"col":51},"end":{"line":308,"col":52}},"generated_from_span":null},"id":5496,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5497,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":16}},"generated_from_span":null},"id":5498,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":16}},"generated_from_span":null},"id":5499,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":3923}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3918}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"id":5500,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"id":5501,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"id":5502,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":36},"end":{"line":309,"col":46}},"generated_from_span":null},"id":5503,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2898}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":48},"end":{"line":309,"col":54}},"generated_from_span":null},"id":5504,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":48},"end":{"line":309,"col":54}},"generated_from_span":null},"id":5505,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":8},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5506,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":3923}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":54},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5507,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":54},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5508,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":54},"end":{"line":309,"col":55}},"generated_from_span":null},"id":5509,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":55},"end":{"line":309,"col":56}},"generated_from_span":null},"id":5510,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":309,"col":55},"end":{"line":309,"col":56}},"generated_from_span":null},"id":5511,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":305,"col":67},"end":{"line":310,"col":5}},"generated_from_span":null},"id":5512,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":310,"col":5},"end":{"line":310,"col":5}},"generated_from_span":null},"id":5513,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":53,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":11,"beg":{"line":420,"col":4},"end":{"line":420,"col":70}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Select `a` or `b` according to `choice`."},{"DocComment":""},{"DocComment":" # Returns"},{"DocComment":""},{"DocComment":" * `a` if `choice == Choice(0)`;"},{"DocComment":" * `b` if `choice == Choice(1)`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let x: u8 = 13;"},{"DocComment":" let y: u8 = 42;"},{"DocComment":""},{"DocComment":" let z = u8::conditional_select(&x, &y, 0.into());"},{"DocComment":" assert_eq!(z, x);"},{"DocComment":" let z = u8::conditional_select(&x, &y, 1.into());"},{"DocComment":" assert_eq!(z, y);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"Deduplicated":10637},{"Deduplicated":1496}],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":54,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":11,"beg":{"line":442,"col":4},"end":{"line":442,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally assign `other` to `self`, according to `choice`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" x.conditional_assign(&y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" x.conditional_assign(&y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10661,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10511},"Mut"]}]},{"Deduplicated":10637},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":55,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":11,"beg":{"line":469,"col":4},"end":{"line":469,"col":67}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10661},{"HashConsedValue":[10662,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10511},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"has_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":56,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":6,"beg":{"line":314,"col":4},"end":{"line":320,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n AffineNielsPoint {\n y_plus_x: FieldElement::conditional_select(&a.y_plus_x, &b.y_plus_x, choice),\n y_minus_x: FieldElement::conditional_select(&a.y_minus_x, &b.y_minus_x, choice),\n xy2d: FieldElement::conditional_select(&a.xy2d, &b.xy2d, choice),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10527},{"Deduplicated":10658},{"Deduplicated":1496}],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":314,"col":4},"end":{"line":320,"col":5}},"generated_from_span":null},"bound_body_regions":28,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":314,"col":65},"end":{"line":314,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":1842}},{"index":1,"name":"a","span":{"data":{"file_id":6,"beg":{"line":314,"col":26},"end":{"line":314,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3894}},{"index":2,"name":"b","span":{"data":{"file_id":6,"beg":{"line":314,"col":36},"end":{"line":314,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":3896}},{"index":3,"name":"choice","span":{"data":{"file_id":6,"beg":{"line":314,"col":46},"end":{"line":314,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":22},"end":{"line":316,"col":88}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":316,"col":81},"end":{"line":316,"col":87}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":23},"end":{"line":317,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":317,"col":84},"end":{"line":317,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":18},"end":{"line":318,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":318,"col":69},"end":{"line":318,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":315,"col":8},"end":{"line":320,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":316,"col":22},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5514,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"id":5515,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"id":5516,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"id":5517,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":55},"end":{"line":316,"col":66}},"generated_from_span":null},"id":5518,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"id":5519,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"id":5520,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"id":5521,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":68},"end":{"line":316,"col":79}},"generated_from_span":null},"id":5522,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":81},"end":{"line":316,"col":87}},"generated_from_span":null},"id":5523,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":81},"end":{"line":316,"col":87}},"generated_from_span":null},"id":5524,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":22},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5525,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":18},{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":87},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5526,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":87},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5527,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":316,"col":87},"end":{"line":316,"col":88}},"generated_from_span":null},"id":5528,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":23},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5529,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"id":5530,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"id":5531,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"id":5532,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":56},"end":{"line":317,"col":68}},"generated_from_span":null},"id":5533,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"id":5534,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"id":5535,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"id":5536,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":70},"end":{"line":317,"col":82}},"generated_from_span":null},"id":5537,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":84},"end":{"line":317,"col":90}},"generated_from_span":null},"id":5538,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":84},"end":{"line":317,"col":90}},"generated_from_span":null},"id":5539,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":23},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5540,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":22},{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":90},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5541,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":90},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5542,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":317,"col":90},"end":{"line":317,"col":91}},"generated_from_span":null},"id":5543,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":18},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5544,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"id":5545,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"id":5546,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"id":5547,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":51},"end":{"line":318,"col":58}},"generated_from_span":null},"id":5548,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"id":5549,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"id":5550,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"id":5551,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3896}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":60},"end":{"line":318,"col":67}},"generated_from_span":null},"id":5552,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":69},"end":{"line":318,"col":75}},"generated_from_span":null},"id":5553,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":69},"end":{"line":318,"col":75}},"generated_from_span":null},"id":5554,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":18},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5555,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":75},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5556,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":75},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5557,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":318,"col":75},"end":{"line":318,"col":76}},"generated_from_span":null},"id":5558,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":315,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5559,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5560,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5561,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5562,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5563,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5564,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5565,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5566,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5567,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":319,"col":8},"end":{"line":319,"col":9}},"generated_from_span":null},"id":5568,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":320,"col":5},"end":{"line":320,"col":5}},"generated_from_span":null},"id":5569,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":57,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":6,"beg":{"line":322,"col":4},"end":{"line":326,"col":5}},"generated_from_span":null},"source_text":"fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.y_plus_x.conditional_assign(&other.y_plus_x, choice);\n self.y_minus_x.conditional_assign(&other.y_minus_x, choice);\n self.xy2d.conditional_assign(&other.xy2d, choice);\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10663,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1842},"Mut"]}]},{"Deduplicated":10658},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":322,"col":4},"end":{"line":326,"col":5}},"generated_from_span":null},"bound_body_regions":27,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":322,"col":66},"end":{"line":322,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":322,"col":26},"end":{"line":322,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[3927,{"Ref":[{"Body":1},{"Deduplicated":1842},"Mut"]}]}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":322,"col":37},"end":{"line":322,"col":42}},"generated_from_span":null},"ty":{"HashConsedValue":[3928,{"Ref":[{"Body":3},{"Deduplicated":1842},"Shared"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":6,"beg":{"line":322,"col":51},"end":{"line":322,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3920}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":323,"col":58},"end":{"line":323,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3921}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":324,"col":60},"end":{"line":324,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":3922}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":325,"col":50},"end":{"line":325,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":5570,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5571,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":21}},"generated_from_span":null},"id":5572,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":21}},"generated_from_span":null},"id":5573,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3920}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3927}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"id":5574,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"id":5575,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"id":5576,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":41},"end":{"line":323,"col":56}},"generated_from_span":null},"id":5577,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":58},"end":{"line":323,"col":64}},"generated_from_span":null},"id":5578,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":58},"end":{"line":323,"col":64}},"generated_from_span":null},"id":5579,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":8},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5580,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":17},{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":3920}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":64},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5581,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":64},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5582,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":64},"end":{"line":323,"col":65}},"generated_from_span":null},"id":5583,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":65},"end":{"line":323,"col":66}},"generated_from_span":null},"id":5584,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":323,"col":65},"end":{"line":323,"col":66}},"generated_from_span":null},"id":5585,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5586,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":22}},"generated_from_span":null},"id":5587,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":22}},"generated_from_span":null},"id":5588,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3921}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3927}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"id":5589,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"id":5590,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"id":5591,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":42},"end":{"line":324,"col":58}},"generated_from_span":null},"id":5592,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":60},"end":{"line":324,"col":66}},"generated_from_span":null},"id":5593,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":60},"end":{"line":324,"col":66}},"generated_from_span":null},"id":5594,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":8},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5595,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":21},{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3921}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":66},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5596,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":66},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5597,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":66},"end":{"line":324,"col":67}},"generated_from_span":null},"id":5598,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":67},"end":{"line":324,"col":68}},"generated_from_span":null},"id":5599,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":324,"col":67},"end":{"line":324,"col":68}},"generated_from_span":null},"id":5600,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5601,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":17}},"generated_from_span":null},"id":5602,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":17}},"generated_from_span":null},"id":5603,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3927}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"id":5604,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"id":5605,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"id":5606,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":37},"end":{"line":325,"col":48}},"generated_from_span":null},"id":5607,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":50},"end":{"line":325,"col":56}},"generated_from_span":null},"id":5608,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":50},"end":{"line":325,"col":56}},"generated_from_span":null},"id":5609,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":8},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5610,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[{"Body":25},{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":3922}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":56},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5611,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":56},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5612,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":56},"end":{"line":325,"col":57}},"generated_from_span":null},"id":5613,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":57},"end":{"line":325,"col":58}},"generated_from_span":null},"id":5614,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":325,"col":57},"end":{"line":325,"col":58}},"generated_from_span":null},"id":5615,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":322,"col":67},"end":{"line":326,"col":5}},"generated_from_span":null},"id":5616,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":326,"col":5},"end":{"line":326,"col":5}},"generated_from_span":null},"id":5617,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":58,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1819},"kind":"InherentImplBlock"}}},{"Ident":["as_extended",0]}],"span":{"data":{"file_id":6,"beg":{"line":338,"col":4},"end":{"line":345,"col":5}},"generated_from_span":null},"source_text":"pub fn as_extended(&self) -> EdwardsPoint {\n EdwardsPoint {\n X: &self.X * &self.Z,\n Y: &self.Y * &self.Z,\n Z: self.Z.square(),\n T: &self.X * &self.Y,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert this point from the \\\\( \\mathbb P\\^2 \\\\) model to the"},{"DocComment":" \\\\( \\mathbb P\\^3 \\\\) model."},{"DocComment":""},{"DocComment":" This costs \\\\(3 \\mathrm M + 1 \\mathrm S\\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10656}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":338,"col":4},"end":{"line":345,"col":5}},"generated_from_span":null},"bound_body_regions":21,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":338,"col":33},"end":{"line":338,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":338,"col":23},"end":{"line":338,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3887}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2893}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":339,"col":8},"end":{"line":345,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5618,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":22}},"generated_from_span":null},"id":5619,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":22}},"generated_from_span":null},"id":5620,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5621,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5622,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5623,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":25},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5624,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":15},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5625,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":13},{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":31},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5626,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":340,"col":31},"end":{"line":340,"col":32}},"generated_from_span":null},"id":5627,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5628,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":22}},"generated_from_span":null},"id":5629,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":22}},"generated_from_span":null},"id":5630,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5631,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5632,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5633,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":25},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5634,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":15},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5635,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":31},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5636,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":341,"col":31},"end":{"line":341,"col":32}},"generated_from_span":null},"id":5637,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":30}},"generated_from_span":null},"id":5638,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":21}},"generated_from_span":null},"id":5639,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":21}},"generated_from_span":null},"id":5640,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":15},"end":{"line":342,"col":30}},"generated_from_span":null},"id":5641,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":342,"col":29},"end":{"line":342,"col":30}},"generated_from_span":null},"id":5642,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5643,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":22}},"generated_from_span":null},"id":5644,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":22}},"generated_from_span":null},"id":5645,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5646,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5647,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5648,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":25},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5649,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":15},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5650,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":19},{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":31},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5651,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":343,"col":31},"end":{"line":343,"col":32}},"generated_from_span":null},"id":5652,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":339,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5653,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5654,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5655,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5656,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5657,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5658,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5659,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":344,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"id":5660,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":345,"col":5},"end":{"line":345,"col":5}},"generated_from_span":null},"id":5661,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":59,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1831},"kind":"InherentImplBlock"}}},{"Ident":["as_projective",0]}],"span":{"data":{"file_id":6,"beg":{"line":353,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"source_text":"pub fn as_projective(&self) -> ProjectivePoint {\n ProjectivePoint {\n X: &self.X * &self.T,\n Y: &self.Y * &self.Z,\n Z: &self.Z * &self.T,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert this point from the \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1"},{"DocComment":" \\\\) model to the \\\\( \\mathbb P\\^2 \\\\) model."},{"DocComment":""},{"DocComment":" This costs \\\\(3 \\mathrm M \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10657}],"output":{"Deduplicated":1819}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":353,"col":4},"end":{"line":359,"col":5}},"generated_from_span":null},"bound_body_regions":18,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":353,"col":35},"end":{"line":353,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":353,"col":25},"end":{"line":353,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":3891}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2892}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":354,"col":8},"end":{"line":359,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5662,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":22}},"generated_from_span":null},"id":5663,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":22}},"generated_from_span":null},"id":5664,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5665,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5666,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5667,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":25},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5668,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":15},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5669,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":31},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5670,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":355,"col":31},"end":{"line":355,"col":32}},"generated_from_span":null},"id":5671,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5672,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":22}},"generated_from_span":null},"id":5673,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":22}},"generated_from_span":null},"id":5674,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5675,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5676,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5677,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":25},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5678,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":15},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5679,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":14},{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":31},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5680,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":356,"col":31},"end":{"line":356,"col":32}},"generated_from_span":null},"id":5681,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5682,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":22}},"generated_from_span":null},"id":5683,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":22}},"generated_from_span":null},"id":5684,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5685,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5686,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5687,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":25},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5688,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":15},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5689,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":16},{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":31},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5690,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":357,"col":31},"end":{"line":357,"col":32}},"generated_from_span":null},"id":5691,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":354,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5692,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Aggregate":[{"Adt":[{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5693,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5694,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5695,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5696,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5697,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":358,"col":8},"end":{"line":358,"col":9}},"generated_from_span":null},"id":5698,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":359,"col":5},"end":{"line":359,"col":5}},"generated_from_span":null},"id":5699,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":60,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1831},"kind":"InherentImplBlock"}}},{"Ident":["as_extended",0]}],"span":{"data":{"file_id":6,"beg":{"line":365,"col":4},"end":{"line":372,"col":5}},"generated_from_span":null},"source_text":"pub fn as_extended(&self) -> EdwardsPoint {\n EdwardsPoint {\n X: &self.X * &self.T,\n Y: &self.Y * &self.Z,\n Z: &self.Z * &self.T,\n T: &self.X * &self.Y,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert this point from the \\\\( \\mathbb P\\^1 \\times \\mathbb P\\^1"},{"DocComment":" \\\\) model to the \\\\( \\mathbb P\\^3 \\\\) model."},{"DocComment":""},{"DocComment":" This costs \\\\(4 \\mathrm M \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10657}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":365,"col":4},"end":{"line":372,"col":5}},"generated_from_span":null},"bound_body_regions":23,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":365,"col":33},"end":{"line":365,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":365,"col":23},"end":{"line":365,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3891}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2895}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":366,"col":8},"end":{"line":372,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5700,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":22}},"generated_from_span":null},"id":5701,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":22}},"generated_from_span":null},"id":5702,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5703,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5704,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5705,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":25},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5706,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":15},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":31},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5708,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":367,"col":31},"end":{"line":367,"col":32}},"generated_from_span":null},"id":5709,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5710,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":22}},"generated_from_span":null},"id":5711,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":22}},"generated_from_span":null},"id":5712,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5713,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5714,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5715,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":25},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5716,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":15},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5717,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":17},{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":31},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5718,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":368,"col":31},"end":{"line":368,"col":32}},"generated_from_span":null},"id":5719,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5720,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":22}},"generated_from_span":null},"id":5721,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":22}},"generated_from_span":null},"id":5722,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5723,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5724,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5725,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":25},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5726,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":15},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5727,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":19},{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":31},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5728,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":369,"col":31},"end":{"line":369,"col":32}},"generated_from_span":null},"id":5729,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5730,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":22}},"generated_from_span":null},"id":5731,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":22}},"generated_from_span":null},"id":5732,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5733,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5734,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5735,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":25},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5736,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2895}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":15},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5737,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":21},{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2894}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":31},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5738,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":370,"col":31},"end":{"line":370,"col":32}},"generated_from_span":null},"id":5739,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":366,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5740,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5741,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5742,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5743,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5744,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5745,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5746,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5747,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":371,"col":8},"end":{"line":371,"col":9}},"generated_from_span":null},"id":5748,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":372,"col":5},"end":{"line":372,"col":5}},"generated_from_span":null},"id":5749,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":61,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1819},"kind":"InherentImplBlock"}}},{"Ident":["double",0]}],"span":{"data":{"file_id":6,"beg":{"line":381,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"source_text":"pub fn double(&self) -> CompletedPoint {\n // Double()\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ2 = self.Z.square2();\n let X_plus_Y = &self.X + &self.Y;\n let X_plus_Y_sq = X_plus_Y.square();\n let YY_plus_XX = &YY + &XX;\n let YY_minus_XX = &YY - &XX;\n\n CompletedPoint {\n X: &X_plus_Y_sq - &YY_plus_XX,\n Y: YY_plus_XX,\n Z: YY_minus_XX,\n T: &ZZ2 - &YY_minus_XX,\n }\n }","attr_info":{"attributes":[{"DocComment":" Double this point: return self + self"}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10656}],"output":{"Deduplicated":1831}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":381,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"bound_body_regions":40,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":381,"col":28},"end":{"line":381,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":381,"col":18},"end":{"line":381,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3887}},{"index":2,"name":"XX","span":{"data":{"file_id":6,"beg":{"line":383,"col":12},"end":{"line":383,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":383,"col":17},"end":{"line":383,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":"YY","span":{"data":{"file_id":6,"beg":{"line":384,"col":12},"end":{"line":384,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":384,"col":17},"end":{"line":384,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":"ZZ2","span":{"data":{"file_id":6,"beg":{"line":385,"col":12},"end":{"line":385,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":385,"col":18},"end":{"line":385,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":8,"name":"X_plus_Y","span":{"data":{"file_id":6,"beg":{"line":386,"col":12},"end":{"line":386,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":386,"col":23},"end":{"line":386,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":"X_plus_Y_sq","span":{"data":{"file_id":6,"beg":{"line":387,"col":12},"end":{"line":387,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":387,"col":26},"end":{"line":387,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":14,"name":"YY_plus_XX","span":{"data":{"file_id":6,"beg":{"line":388,"col":12},"end":{"line":388,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":388,"col":25},"end":{"line":388,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":"YY_minus_XX","span":{"data":{"file_id":6,"beg":{"line":389,"col":12},"end":{"line":389,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":389,"col":26},"end":{"line":389,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":393,"col":15},"end":{"line":393,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":394,"col":15},"end":{"line":394,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2902}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":383,"col":12},"end":{"line":397,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":383,"col":12},"end":{"line":383,"col":14}},"generated_from_span":null},"id":5750,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":383,"col":17},"end":{"line":383,"col":23}},"generated_from_span":null},"id":5751,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":383,"col":17},"end":{"line":383,"col":23}},"generated_from_span":null},"id":5752,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Double()"]},{"span":{"data":{"file_id":6,"beg":{"line":383,"col":17},"end":{"line":383,"col":32}},"generated_from_span":null},"id":5753,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":383,"col":31},"end":{"line":383,"col":32}},"generated_from_span":null},"id":5754,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":12},"end":{"line":384,"col":14}},"generated_from_span":null},"id":5755,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":17},"end":{"line":384,"col":23}},"generated_from_span":null},"id":5756,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":17},"end":{"line":384,"col":23}},"generated_from_span":null},"id":5757,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":17},"end":{"line":384,"col":32}},"generated_from_span":null},"id":5758,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":384,"col":31},"end":{"line":384,"col":32}},"generated_from_span":null},"id":5759,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":12},"end":{"line":385,"col":15}},"generated_from_span":null},"id":5760,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":18},"end":{"line":385,"col":24}},"generated_from_span":null},"id":5761,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":18},"end":{"line":385,"col":24}},"generated_from_span":null},"id":5762,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":18},"end":{"line":385,"col":34}},"generated_from_span":null},"id":5763,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":38}},"generics":{"regions":[{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":385,"col":33},"end":{"line":385,"col":34}},"generated_from_span":null},"id":5764,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":12},"end":{"line":386,"col":20}},"generated_from_span":null},"id":5765,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":23},"end":{"line":386,"col":30}},"generated_from_span":null},"id":5766,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":23},"end":{"line":386,"col":30}},"generated_from_span":null},"id":5767,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5768,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5769,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5770,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":33},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5771,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":23},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5772,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":28},{"Body":29}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":39},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5773,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":39},"end":{"line":386,"col":40}},"generated_from_span":null},"id":5774,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":386,"col":40},"end":{"line":386,"col":41}},"generated_from_span":null},"id":5775,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":12},"end":{"line":387,"col":23}},"generated_from_span":null},"id":5776,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":26},"end":{"line":387,"col":34}},"generated_from_span":null},"id":5777,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":26},"end":{"line":387,"col":34}},"generated_from_span":null},"id":5778,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":26},"end":{"line":387,"col":43}},"generated_from_span":null},"id":5779,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":387,"col":42},"end":{"line":387,"col":43}},"generated_from_span":null},"id":5780,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":12},"end":{"line":388,"col":22}},"generated_from_span":null},"id":5781,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":25},"end":{"line":388,"col":28}},"generated_from_span":null},"id":5782,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":25},"end":{"line":388,"col":28}},"generated_from_span":null},"id":5783,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5784,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5785,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5786,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":31},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5787,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":25},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5788,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":33},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5789,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":33},"end":{"line":388,"col":34}},"generated_from_span":null},"id":5790,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":388,"col":34},"end":{"line":388,"col":35}},"generated_from_span":null},"id":5791,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":12},"end":{"line":389,"col":23}},"generated_from_span":null},"id":5792,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":26},"end":{"line":389,"col":29}},"generated_from_span":null},"id":5793,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":26},"end":{"line":389,"col":29}},"generated_from_span":null},"id":5794,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5795,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5796,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5797,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":32},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5798,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":26},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5799,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2895}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":34},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5800,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":34},"end":{"line":389,"col":35}},"generated_from_span":null},"id":5801,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":389,"col":35},"end":{"line":389,"col":36}},"generated_from_span":null},"id":5802,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5803,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":27}},"generated_from_span":null},"id":5804,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":27}},"generated_from_span":null},"id":5805,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5806,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5807,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5808,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":30},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5809,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":15},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5810,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":36},{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":40},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5811,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":392,"col":40},"end":{"line":392,"col":41}},"generated_from_span":null},"id":5812,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":393,"col":15},"end":{"line":393,"col":25}},"generated_from_span":null},"id":5813,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":393,"col":15},"end":{"line":393,"col":25}},"generated_from_span":null},"id":5814,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":394,"col":15},"end":{"line":394,"col":26}},"generated_from_span":null},"id":5815,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":394,"col":15},"end":{"line":394,"col":26}},"generated_from_span":null},"id":5816,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5817,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":19}},"generated_from_span":null},"id":5818,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":19}},"generated_from_span":null},"id":5819,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5820,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5821,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5822,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":22},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5823,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":31},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":15},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5824,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":33},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5825,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":395,"col":33},"end":{"line":395,"col":34}},"generated_from_span":null},"id":5826,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":391,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5827,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5828,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5829,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5830,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5831,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5832,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":396,"col":8},"end":{"line":396,"col":9}},"generated_from_span":null},"id":5833,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5834,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5835,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5836,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5837,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5838,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5839,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":4},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5840,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":397,"col":5},"end":{"line":397,"col":5}},"generated_from_span":null},"id":5841,"kind":"Return","comments_before":[]}]},"comments":[[383,["Double()"]]]}}},{"def_id":62,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}},{"Ident":["add",0]}],"span":{"data":{"file_id":6,"beg":{"line":414,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"source_text":"fn add(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.Y_plus_X;\n let MM = &Y_minus_X * &other.Y_minus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &ZZ2 + &TT2d,\n T: &ZZ2 - &TT2d,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10525,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1955},"Shared"]}]},{"Deduplicated":10526}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":39,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10526},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":414,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"bound_body_regions":60,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":414,"col":53},"end":{"line":414,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":414,"col":11},"end":{"line":414,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[3931,{"Ref":[{"Body":1},{"Deduplicated":1955},"Shared"]}]}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":414,"col":17},"end":{"line":414,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3919}},{"index":3,"name":"Y_plus_X","span":{"data":{"file_id":6,"beg":{"line":415,"col":12},"end":{"line":415,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":415,"col":23},"end":{"line":415,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":"Y_minus_X","span":{"data":{"file_id":6,"beg":{"line":416,"col":12},"end":{"line":416,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":416,"col":24},"end":{"line":416,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":11,"name":"PP","span":{"data":{"file_id":6,"beg":{"line":417,"col":12},"end":{"line":417,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":417,"col":17},"end":{"line":417,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":15,"name":"MM","span":{"data":{"file_id":6,"beg":{"line":418,"col":12},"end":{"line":418,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":418,"col":17},"end":{"line":418,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":19,"name":"TT2d","span":{"data":{"file_id":6,"beg":{"line":419,"col":12},"end":{"line":419,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":419,"col":19},"end":{"line":419,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":23,"name":"ZZ","span":{"data":{"file_id":6,"beg":{"line":420,"col":12},"end":{"line":420,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":420,"col":17},"end":{"line":420,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":27,"name":"ZZ2","span":{"data":{"file_id":6,"beg":{"line":421,"col":12},"end":{"line":421,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":421,"col":18},"end":{"line":421,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":33,"name":null,"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":36,"name":null,"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":37,"name":null,"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":38,"name":null,"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":39,"name":null,"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":40,"name":null,"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":41,"name":null,"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":42,"name":null,"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":43,"name":null,"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":44,"name":null,"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":45,"name":null,"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2917}},{"index":46,"name":null,"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2918}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":415,"col":12},"end":{"line":429,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":415,"col":12},"end":{"line":415,"col":20}},"generated_from_span":null},"id":5842,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":23},"end":{"line":415,"col":30}},"generated_from_span":null},"id":5843,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":23},"end":{"line":415,"col":30}},"generated_from_span":null},"id":5844,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5845,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5846,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5847,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":33},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5848,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":23},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5849,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":39},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5850,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":39},"end":{"line":415,"col":40}},"generated_from_span":null},"id":5851,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":415,"col":40},"end":{"line":415,"col":41}},"generated_from_span":null},"id":5852,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":12},"end":{"line":416,"col":21}},"generated_from_span":null},"id":5853,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":24},"end":{"line":416,"col":31}},"generated_from_span":null},"id":5854,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":24},"end":{"line":416,"col":31}},"generated_from_span":null},"id":5855,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5856,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5857,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5858,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":34},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5859,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":24},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5860,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":40},{"Body":41}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":40},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5861,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":40},"end":{"line":416,"col":41}},"generated_from_span":null},"id":5862,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":416,"col":41},"end":{"line":416,"col":42}},"generated_from_span":null},"id":5863,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":12},"end":{"line":417,"col":14}},"generated_from_span":null},"id":5864,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":17},"end":{"line":417,"col":26}},"generated_from_span":null},"id":5865,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":17},"end":{"line":417,"col":26}},"generated_from_span":null},"id":5866,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5867,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5868,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5869,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":29},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5870,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":17},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5871,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":43},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5872,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":43},"end":{"line":417,"col":44}},"generated_from_span":null},"id":5873,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":417,"col":44},"end":{"line":417,"col":45}},"generated_from_span":null},"id":5874,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":12},"end":{"line":418,"col":14}},"generated_from_span":null},"id":5875,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":17},"end":{"line":418,"col":27}},"generated_from_span":null},"id":5876,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":17},"end":{"line":418,"col":27}},"generated_from_span":null},"id":5877,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5878,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5879,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5880,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":30},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5881,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":17},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5882,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":44},{"Body":45}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":45},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5883,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":45},"end":{"line":418,"col":46}},"generated_from_span":null},"id":5884,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":418,"col":46},"end":{"line":418,"col":47}},"generated_from_span":null},"id":5885,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":12},"end":{"line":419,"col":16}},"generated_from_span":null},"id":5886,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":19},"end":{"line":419,"col":26}},"generated_from_span":null},"id":5887,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":19},"end":{"line":419,"col":26}},"generated_from_span":null},"id":5888,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5889,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5890,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5891,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":29},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5892,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":19},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5893,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":46},{"Body":47}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2898}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2899}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":38},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5894,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":38},"end":{"line":419,"col":39}},"generated_from_span":null},"id":5895,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":419,"col":39},"end":{"line":419,"col":40}},"generated_from_span":null},"id":5896,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":12},"end":{"line":420,"col":14}},"generated_from_span":null},"id":5897,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":17},"end":{"line":420,"col":24}},"generated_from_span":null},"id":5898,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":17},"end":{"line":420,"col":24}},"generated_from_span":null},"id":5899,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5900,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5901,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5902,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":27},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5903,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":17},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5904,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":48},{"Body":49}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":34},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5905,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":34},"end":{"line":420,"col":35}},"generated_from_span":null},"id":5906,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":420,"col":35},"end":{"line":420,"col":36}},"generated_from_span":null},"id":5907,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":12},"end":{"line":421,"col":15}},"generated_from_span":null},"id":5908,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":18},"end":{"line":421,"col":21}},"generated_from_span":null},"id":5909,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":18},"end":{"line":421,"col":21}},"generated_from_span":null},"id":5910,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5911,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5912,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5913,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":24},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5914,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":18},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5915,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":50},{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2904}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2905}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":26},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5916,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":26},"end":{"line":421,"col":27}},"generated_from_span":null},"id":5917,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":421,"col":27},"end":{"line":421,"col":28}},"generated_from_span":null},"id":5918,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5919,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":18}},"generated_from_span":null},"id":5920,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":18}},"generated_from_span":null},"id":5921,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5922,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5923,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5924,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":21},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5925,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":15},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5926,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":52},{"Body":53}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":23},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5927,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":424,"col":23},"end":{"line":424,"col":24}},"generated_from_span":null},"id":5928,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5929,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":18}},"generated_from_span":null},"id":5930,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":18}},"generated_from_span":null},"id":5931,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5932,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5933,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5934,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":21},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5935,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":15},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5936,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":54},{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2910}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2911}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":23},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5937,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":425,"col":23},"end":{"line":425,"col":24}},"generated_from_span":null},"id":5938,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5939,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":19}},"generated_from_span":null},"id":5940,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":19}},"generated_from_span":null},"id":5941,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5942,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5943,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5944,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":22},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5945,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":15},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5946,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":56},{"Body":57}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":26},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5947,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":426,"col":26},"end":{"line":426,"col":27}},"generated_from_span":null},"id":5948,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5949,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":19}},"generated_from_span":null},"id":5950,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":19}},"generated_from_span":null},"id":5951,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5952,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5953,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5954,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":2918}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":22},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5955,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2917}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":2918}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":15},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5956,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":58},{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2916}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":2917}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":26},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5957,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":427,"col":26},"end":{"line":427,"col":27}},"generated_from_span":null},"id":5958,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":423,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5959,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5960,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5961,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5962,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5963,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5964,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5965,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5966,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":428,"col":8},"end":{"line":428,"col":9}},"generated_from_span":null},"id":5967,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5968,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5969,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5970,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5971,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5972,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5973,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":4},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5974,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":429,"col":5},"end":{"line":429,"col":5}},"generated_from_span":null},"id":5975,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":63,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}},{"Ident":["sub",0]}],"span":{"data":{"file_id":6,"beg":{"line":436,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"source_text":"fn sub(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.Y_minus_X;\n let MP = &Y_minus_X * &other.Y_plus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &ZZ2 - &TT2d,\n T: &ZZ2 + &TT2d,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10525},{"Deduplicated":10526}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":40,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10526},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":436,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"bound_body_regions":60,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":436,"col":53},"end":{"line":436,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":436,"col":11},"end":{"line":436,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":436,"col":17},"end":{"line":436,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3919}},{"index":3,"name":"Y_plus_X","span":{"data":{"file_id":6,"beg":{"line":437,"col":12},"end":{"line":437,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":437,"col":23},"end":{"line":437,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":"Y_minus_X","span":{"data":{"file_id":6,"beg":{"line":438,"col":12},"end":{"line":438,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":438,"col":24},"end":{"line":438,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":11,"name":"PM","span":{"data":{"file_id":6,"beg":{"line":439,"col":12},"end":{"line":439,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":439,"col":17},"end":{"line":439,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":15,"name":"MP","span":{"data":{"file_id":6,"beg":{"line":440,"col":12},"end":{"line":440,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":440,"col":17},"end":{"line":440,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":19,"name":"TT2d","span":{"data":{"file_id":6,"beg":{"line":441,"col":12},"end":{"line":441,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":441,"col":19},"end":{"line":441,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":23,"name":"ZZ","span":{"data":{"file_id":6,"beg":{"line":442,"col":12},"end":{"line":442,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":442,"col":17},"end":{"line":442,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":27,"name":"ZZ2","span":{"data":{"file_id":6,"beg":{"line":443,"col":12},"end":{"line":443,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":443,"col":18},"end":{"line":443,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":33,"name":null,"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":36,"name":null,"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":37,"name":null,"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":38,"name":null,"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":39,"name":null,"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":40,"name":null,"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":41,"name":null,"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":42,"name":null,"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":43,"name":null,"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":44,"name":null,"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":45,"name":null,"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2917}},{"index":46,"name":null,"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2918}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":437,"col":12},"end":{"line":451,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":437,"col":12},"end":{"line":437,"col":20}},"generated_from_span":null},"id":5976,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":23},"end":{"line":437,"col":30}},"generated_from_span":null},"id":5977,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":23},"end":{"line":437,"col":30}},"generated_from_span":null},"id":5978,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5979,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5980,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5981,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":33},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5982,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":23},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5983,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":38},{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":39},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5984,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":39},"end":{"line":437,"col":40}},"generated_from_span":null},"id":5985,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":437,"col":40},"end":{"line":437,"col":41}},"generated_from_span":null},"id":5986,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":12},"end":{"line":438,"col":21}},"generated_from_span":null},"id":5987,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":24},"end":{"line":438,"col":31}},"generated_from_span":null},"id":5988,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":24},"end":{"line":438,"col":31}},"generated_from_span":null},"id":5989,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5990,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5991,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5992,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":34},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5993,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":24},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5994,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":40},{"Body":41}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":40},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5995,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":40},"end":{"line":438,"col":41}},"generated_from_span":null},"id":5996,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":438,"col":41},"end":{"line":438,"col":42}},"generated_from_span":null},"id":5997,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":12},"end":{"line":439,"col":14}},"generated_from_span":null},"id":5998,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":17},"end":{"line":439,"col":26}},"generated_from_span":null},"id":5999,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":17},"end":{"line":439,"col":26}},"generated_from_span":null},"id":6000,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6001,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6002,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6003,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":29},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6004,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":17},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6005,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":42},{"Body":43}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":44},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6006,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":44},"end":{"line":439,"col":45}},"generated_from_span":null},"id":6007,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":439,"col":45},"end":{"line":439,"col":46}},"generated_from_span":null},"id":6008,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":12},"end":{"line":440,"col":14}},"generated_from_span":null},"id":6009,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":17},"end":{"line":440,"col":27}},"generated_from_span":null},"id":6010,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":17},"end":{"line":440,"col":27}},"generated_from_span":null},"id":6011,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6012,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6013,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6014,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":30},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6015,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":17},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6016,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":44},{"Body":45}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":44},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6017,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":44},"end":{"line":440,"col":45}},"generated_from_span":null},"id":6018,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":440,"col":45},"end":{"line":440,"col":46}},"generated_from_span":null},"id":6019,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":12},"end":{"line":441,"col":16}},"generated_from_span":null},"id":6020,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":19},"end":{"line":441,"col":26}},"generated_from_span":null},"id":6021,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":19},"end":{"line":441,"col":26}},"generated_from_span":null},"id":6022,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6023,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6024,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6025,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":29},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6026,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":19},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6027,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":46},{"Body":47}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2898}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2899}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":38},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6028,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":38},"end":{"line":441,"col":39}},"generated_from_span":null},"id":6029,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":441,"col":39},"end":{"line":441,"col":40}},"generated_from_span":null},"id":6030,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":12},"end":{"line":442,"col":14}},"generated_from_span":null},"id":6031,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":17},"end":{"line":442,"col":24}},"generated_from_span":null},"id":6032,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":17},"end":{"line":442,"col":24}},"generated_from_span":null},"id":6033,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6034,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6035,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6036,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3919}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":27},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6037,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":17},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6038,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":48},{"Body":49}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":34},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6039,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":34},"end":{"line":442,"col":35}},"generated_from_span":null},"id":6040,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":442,"col":35},"end":{"line":442,"col":36}},"generated_from_span":null},"id":6041,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":12},"end":{"line":443,"col":15}},"generated_from_span":null},"id":6042,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":18},"end":{"line":443,"col":21}},"generated_from_span":null},"id":6043,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":18},"end":{"line":443,"col":21}},"generated_from_span":null},"id":6044,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6045,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6046,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6047,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":24},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6048,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":18},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6049,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":50},{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2904}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2905}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":26},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6050,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":26},"end":{"line":443,"col":27}},"generated_from_span":null},"id":6051,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":443,"col":27},"end":{"line":443,"col":28}},"generated_from_span":null},"id":6052,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6053,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":18}},"generated_from_span":null},"id":6054,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":18}},"generated_from_span":null},"id":6055,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6056,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6057,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6058,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":21},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6059,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":15},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6060,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":52},{"Body":53}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":23},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6061,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":446,"col":23},"end":{"line":446,"col":24}},"generated_from_span":null},"id":6062,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6063,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":18}},"generated_from_span":null},"id":6064,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":18}},"generated_from_span":null},"id":6065,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6066,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6067,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6068,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":21},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6069,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":15},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6070,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":54},{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2910}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2911}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":23},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6071,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":447,"col":23},"end":{"line":447,"col":24}},"generated_from_span":null},"id":6072,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6073,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":19}},"generated_from_span":null},"id":6074,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":19}},"generated_from_span":null},"id":6075,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6076,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6077,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6078,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":22},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6079,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":15},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6080,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":56},{"Body":57}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":26},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6081,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":448,"col":26},"end":{"line":448,"col":27}},"generated_from_span":null},"id":6082,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6083,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":19}},"generated_from_span":null},"id":6084,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":19}},"generated_from_span":null},"id":6085,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6086,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6087,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6088,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":2918}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":22},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6089,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2917}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":46},"ty":{"Deduplicated":2918}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":15},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6090,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":58},{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2916}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":2917}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":26},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6091,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":449,"col":26},"end":{"line":449,"col":27}},"generated_from_span":null},"id":6092,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":445,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6093,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6094,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6095,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6096,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6097,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6098,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6099,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6100,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":450,"col":8},"end":{"line":450,"col":9}},"generated_from_span":null},"id":6101,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6102,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6103,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6104,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6105,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6106,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6107,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":4},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6108,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":451,"col":5},"end":{"line":451,"col":5}},"generated_from_span":null},"id":6109,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":64,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}},{"Ident":["add",0]}],"span":{"data":{"file_id":6,"beg":{"line":458,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"source_text":"fn add(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.y_plus_x;\n let MM = &Y_minus_X * &other.y_minus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &Z2 + &Txy2d,\n T: &Z2 - &Txy2d,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10525},{"Deduplicated":10527}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":41,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10527},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":458,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"bound_body_regions":55,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":458,"col":49},"end":{"line":458,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":458,"col":11},"end":{"line":458,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":458,"col":17},"end":{"line":458,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3928}},{"index":3,"name":"Y_plus_X","span":{"data":{"file_id":6,"beg":{"line":459,"col":12},"end":{"line":459,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":459,"col":23},"end":{"line":459,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":"Y_minus_X","span":{"data":{"file_id":6,"beg":{"line":460,"col":12},"end":{"line":460,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":460,"col":24},"end":{"line":460,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":11,"name":"PP","span":{"data":{"file_id":6,"beg":{"line":461,"col":12},"end":{"line":461,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":461,"col":17},"end":{"line":461,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":15,"name":"MM","span":{"data":{"file_id":6,"beg":{"line":462,"col":12},"end":{"line":462,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":462,"col":17},"end":{"line":462,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":19,"name":"Txy2d","span":{"data":{"file_id":6,"beg":{"line":463,"col":12},"end":{"line":463,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":463,"col":20},"end":{"line":463,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":23,"name":"Z2","span":{"data":{"file_id":6,"beg":{"line":464,"col":12},"end":{"line":464,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":464,"col":17},"end":{"line":464,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":33,"name":null,"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":36,"name":null,"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":37,"name":null,"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":38,"name":null,"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":39,"name":null,"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":40,"name":null,"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":41,"name":null,"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":42,"name":null,"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2915}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":459,"col":12},"end":{"line":472,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":459,"col":12},"end":{"line":459,"col":20}},"generated_from_span":null},"id":6110,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":23},"end":{"line":459,"col":30}},"generated_from_span":null},"id":6111,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":23},"end":{"line":459,"col":30}},"generated_from_span":null},"id":6112,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6113,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6114,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6115,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":33},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6116,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":23},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6117,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":39},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6118,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":39},"end":{"line":459,"col":40}},"generated_from_span":null},"id":6119,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":459,"col":40},"end":{"line":459,"col":41}},"generated_from_span":null},"id":6120,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":12},"end":{"line":460,"col":21}},"generated_from_span":null},"id":6121,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":24},"end":{"line":460,"col":31}},"generated_from_span":null},"id":6122,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":24},"end":{"line":460,"col":31}},"generated_from_span":null},"id":6123,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6124,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6125,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6126,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":34},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6127,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":24},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6128,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":37},{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":40},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6129,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":40},"end":{"line":460,"col":41}},"generated_from_span":null},"id":6130,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":460,"col":41},"end":{"line":460,"col":42}},"generated_from_span":null},"id":6131,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":12},"end":{"line":461,"col":14}},"generated_from_span":null},"id":6132,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":17},"end":{"line":461,"col":26}},"generated_from_span":null},"id":6133,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":17},"end":{"line":461,"col":26}},"generated_from_span":null},"id":6134,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6135,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6136,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6137,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":29},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6138,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":17},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6139,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":39},{"Body":40}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":43},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6140,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":43},"end":{"line":461,"col":44}},"generated_from_span":null},"id":6141,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":461,"col":44},"end":{"line":461,"col":45}},"generated_from_span":null},"id":6142,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":12},"end":{"line":462,"col":14}},"generated_from_span":null},"id":6143,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":17},"end":{"line":462,"col":27}},"generated_from_span":null},"id":6144,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":17},"end":{"line":462,"col":27}},"generated_from_span":null},"id":6145,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6146,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6147,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6148,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":30},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6149,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":17},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6150,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":41},{"Body":42}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":45},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6151,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":45},"end":{"line":462,"col":46}},"generated_from_span":null},"id":6152,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":462,"col":46},"end":{"line":462,"col":47}},"generated_from_span":null},"id":6153,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":12},"end":{"line":463,"col":17}},"generated_from_span":null},"id":6154,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":20},"end":{"line":463,"col":27}},"generated_from_span":null},"id":6155,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":20},"end":{"line":463,"col":27}},"generated_from_span":null},"id":6156,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6157,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6158,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6159,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":30},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6160,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":20},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6161,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":43},{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2898}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2899}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":40},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6162,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":40},"end":{"line":463,"col":41}},"generated_from_span":null},"id":6163,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":463,"col":41},"end":{"line":463,"col":42}},"generated_from_span":null},"id":6164,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":12},"end":{"line":464,"col":14}},"generated_from_span":null},"id":6165,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":17},"end":{"line":464,"col":24}},"generated_from_span":null},"id":6166,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":17},"end":{"line":464,"col":24}},"generated_from_span":null},"id":6167,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6168,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6169,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6170,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":27},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6171,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":17},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6172,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":45},{"Body":46}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":33},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6173,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":33},"end":{"line":464,"col":34}},"generated_from_span":null},"id":6174,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":464,"col":34},"end":{"line":464,"col":35}},"generated_from_span":null},"id":6175,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6176,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":18}},"generated_from_span":null},"id":6177,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":18}},"generated_from_span":null},"id":6178,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6179,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6180,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6181,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":21},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6182,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":15},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6183,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":47},{"Body":48}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2904}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2905}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":23},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6184,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":467,"col":23},"end":{"line":467,"col":24}},"generated_from_span":null},"id":6185,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6186,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":18}},"generated_from_span":null},"id":6187,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":18}},"generated_from_span":null},"id":6188,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6189,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6190,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6191,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":21},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6192,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":15},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6193,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":49},{"Body":50}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":23},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6194,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":468,"col":23},"end":{"line":468,"col":24}},"generated_from_span":null},"id":6195,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6196,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":18}},"generated_from_span":null},"id":6197,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":18}},"generated_from_span":null},"id":6198,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6199,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6200,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6201,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":21},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6202,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":15},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6203,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":51},{"Body":52}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2910}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2911}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":26},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6204,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":469,"col":26},"end":{"line":469,"col":27}},"generated_from_span":null},"id":6205,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6206,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":18}},"generated_from_span":null},"id":6207,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":18}},"generated_from_span":null},"id":6208,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6209,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6210,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6211,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":21},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6212,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":15},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6213,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":53},{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":26},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6214,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":470,"col":26},"end":{"line":470,"col":27}},"generated_from_span":null},"id":6215,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":466,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6216,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6217,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6218,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6219,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6220,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6221,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6222,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6223,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":471,"col":8},"end":{"line":471,"col":9}},"generated_from_span":null},"id":6224,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6225,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6226,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6227,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6228,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6229,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":4},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6230,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":472,"col":5},"end":{"line":472,"col":5}},"generated_from_span":null},"id":6231,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":65,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}},{"Ident":["sub",0]}],"span":{"data":{"file_id":6,"beg":{"line":479,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"source_text":"fn sub(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.y_minus_x;\n let MP = &Y_minus_X * &other.y_plus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &Z2 - &Txy2d,\n T: &Z2 + &Txy2d,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10525},{"Deduplicated":10527}],"output":{"Deduplicated":1831}},"src":{"TraitImpl":{"impl_ref":{"id":42,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10527},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":479,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"bound_body_regions":55,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":479,"col":49},"end":{"line":479,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":479,"col":11},"end":{"line":479,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":6,"beg":{"line":479,"col":17},"end":{"line":479,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":3928}},{"index":3,"name":"Y_plus_X","span":{"data":{"file_id":6,"beg":{"line":480,"col":12},"end":{"line":480,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":480,"col":23},"end":{"line":480,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":7,"name":"Y_minus_X","span":{"data":{"file_id":6,"beg":{"line":481,"col":12},"end":{"line":481,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":481,"col":24},"end":{"line":481,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":11,"name":"PM","span":{"data":{"file_id":6,"beg":{"line":482,"col":12},"end":{"line":482,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":482,"col":17},"end":{"line":482,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":15,"name":"MP","span":{"data":{"file_id":6,"beg":{"line":483,"col":12},"end":{"line":483,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":483,"col":17},"end":{"line":483,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":19,"name":"Txy2d","span":{"data":{"file_id":6,"beg":{"line":484,"col":12},"end":{"line":484,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":484,"col":20},"end":{"line":484,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":23,"name":"Z2","span":{"data":{"file_id":6,"beg":{"line":485,"col":12},"end":{"line":485,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":6,"beg":{"line":485,"col":17},"end":{"line":485,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":25,"name":null,"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":26,"name":null,"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":27,"name":null,"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":28,"name":null,"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2904}},{"index":29,"name":null,"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2905}},{"index":30,"name":null,"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2906}},{"index":31,"name":null,"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":32,"name":null,"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2907}},{"index":33,"name":null,"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2908}},{"index":34,"name":null,"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":35,"name":null,"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":36,"name":null,"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2910}},{"index":37,"name":null,"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2911}},{"index":38,"name":null,"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":39,"name":null,"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":40,"name":null,"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":41,"name":null,"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2914}},{"index":42,"name":null,"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2915}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":480,"col":12},"end":{"line":493,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":480,"col":12},"end":{"line":480,"col":20}},"generated_from_span":null},"id":6232,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":23},"end":{"line":480,"col":30}},"generated_from_span":null},"id":6233,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":23},"end":{"line":480,"col":30}},"generated_from_span":null},"id":6234,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6235,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6236,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6237,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":33},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6238,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":23},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6239,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":39},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6240,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":39},"end":{"line":480,"col":40}},"generated_from_span":null},"id":6241,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":480,"col":40},"end":{"line":480,"col":41}},"generated_from_span":null},"id":6242,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":12},"end":{"line":481,"col":21}},"generated_from_span":null},"id":6243,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":24},"end":{"line":481,"col":31}},"generated_from_span":null},"id":6244,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":24},"end":{"line":481,"col":31}},"generated_from_span":null},"id":6245,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6246,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6247,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6248,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":34},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6249,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2891}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":24},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6250,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":37},{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2890}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":40},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6251,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":40},"end":{"line":481,"col":41}},"generated_from_span":null},"id":6252,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":481,"col":41},"end":{"line":481,"col":42}},"generated_from_span":null},"id":6253,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":12},"end":{"line":482,"col":14}},"generated_from_span":null},"id":6254,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":17},"end":{"line":482,"col":26}},"generated_from_span":null},"id":6255,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":17},"end":{"line":482,"col":26}},"generated_from_span":null},"id":6256,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6257,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6258,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6259,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":29},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6260,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":17},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6261,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":39},{"Body":40}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":44},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6262,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":44},"end":{"line":482,"col":45}},"generated_from_span":null},"id":6263,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":482,"col":45},"end":{"line":482,"col":46}},"generated_from_span":null},"id":6264,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":12},"end":{"line":483,"col":14}},"generated_from_span":null},"id":6265,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":17},"end":{"line":483,"col":27}},"generated_from_span":null},"id":6266,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":17},"end":{"line":483,"col":27}},"generated_from_span":null},"id":6267,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6268,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6269,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6270,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":30},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6271,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":17},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6272,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":41},{"Body":42}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":44},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6273,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":44},"end":{"line":483,"col":45}},"generated_from_span":null},"id":6274,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":483,"col":45},"end":{"line":483,"col":46}},"generated_from_span":null},"id":6275,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":12},"end":{"line":484,"col":17}},"generated_from_span":null},"id":6276,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":20},"end":{"line":484,"col":27}},"generated_from_span":null},"id":6277,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":20},"end":{"line":484,"col":27}},"generated_from_span":null},"id":6278,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6279,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6280,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6281,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3928}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":30},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6282,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":20},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6283,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":43},{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2898}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2899}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":40},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6284,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":40},"end":{"line":484,"col":41}},"generated_from_span":null},"id":6285,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":484,"col":41},"end":{"line":484,"col":42}},"generated_from_span":null},"id":6286,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":12},"end":{"line":485,"col":14}},"generated_from_span":null},"id":6287,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":17},"end":{"line":485,"col":24}},"generated_from_span":null},"id":6288,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":17},"end":{"line":485,"col":24}},"generated_from_span":null},"id":6289,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6290,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6291,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6292,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":27},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6293,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":17},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6294,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":45},{"Body":46}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2901}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2902}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":33},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6295,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":33},"end":{"line":485,"col":34}},"generated_from_span":null},"id":6296,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":485,"col":34},"end":{"line":485,"col":35}},"generated_from_span":null},"id":6297,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6298,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":18}},"generated_from_span":null},"id":6299,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":18}},"generated_from_span":null},"id":6300,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2904}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6301,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6302,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6303,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":21},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6304,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2905}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":30},"ty":{"Deduplicated":2906}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":15},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6305,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":47},{"Body":48}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2904}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2905}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":23},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6306,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":488,"col":23},"end":{"line":488,"col":24}},"generated_from_span":null},"id":6307,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6308,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":18}},"generated_from_span":null},"id":6309,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":18}},"generated_from_span":null},"id":6310,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2907}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6311,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6312,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6313,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Local":15},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":21},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6314,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2908}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2909}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":15},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6315,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":49},{"Body":50}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2907}}},{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2908}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":23},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6316,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":489,"col":23},"end":{"line":489,"col":24}},"generated_from_span":null},"id":6317,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6318,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":18}},"generated_from_span":null},"id":6319,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":18}},"generated_from_span":null},"id":6320,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2910}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6321,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6322,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6323,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":21},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6324,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":2911}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":2912}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":15},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6325,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":51},{"Body":52}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2910}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":2911}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":26},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6326,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":490,"col":26},"end":{"line":490,"col":27}},"generated_from_span":null},"id":6327,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6328,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":18}},"generated_from_span":null},"id":6329,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":18}},"generated_from_span":null},"id":6330,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6331,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6332,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6333,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Local":19},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":21},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6334,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":2914}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":2915}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":15},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6335,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":53},{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":2913}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2914}}}],"dest":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":26},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6336,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":491,"col":26},"end":{"line":491,"col":27}},"generated_from_span":null},"id":6337,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":487,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6338,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Aggregate":[{"Adt":[{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6339,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6340,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6341,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6342,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6343,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6344,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6345,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":492,"col":8},"end":{"line":492,"col":9}},"generated_from_span":null},"id":6346,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6347,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6348,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6349,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6350,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6351,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":4},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6352,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":493,"col":5},"end":{"line":493,"col":5}},"generated_from_span":null},"id":6353,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":66,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}},{"Ident":["neg",0]}],"span":{"data":{"file_id":6,"beg":{"line":503,"col":4},"end":{"line":510,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: self.Y_minus_X,\n Y_minus_X: self.Y_plus_X,\n Z: self.Z,\n T2d: -(&self.T2d),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10526}],"output":{"Deduplicated":1865}},"src":{"TraitImpl":{"impl_ref":{"id":43,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10526},{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":503,"col":4},"end":{"line":510,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":503,"col":20},"end":{"line":503,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":503,"col":11},"end":{"line":503,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3899}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":505,"col":22},"end":{"line":505,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":506,"col":23},"end":{"line":506,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":507,"col":15},"end":{"line":507,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":508,"col":17},"end":{"line":508,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":508,"col":18},"end":{"line":508,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2795}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":504,"col":8},"end":{"line":510,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":505,"col":22},"end":{"line":505,"col":36}},"generated_from_span":null},"id":6354,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":505,"col":22},"end":{"line":505,"col":36}},"generated_from_span":null},"id":6355,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":506,"col":23},"end":{"line":506,"col":36}},"generated_from_span":null},"id":6356,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":506,"col":23},"end":{"line":506,"col":36}},"generated_from_span":null},"id":6357,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":507,"col":15},"end":{"line":507,"col":21}},"generated_from_span":null},"id":6358,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":507,"col":15},"end":{"line":507,"col":21}},"generated_from_span":null},"id":6359,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":17},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6360,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":18},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6361,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":18},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6362,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":17},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6363,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":508,"col":28},"end":{"line":508,"col":29}},"generated_from_span":null},"id":6364,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":504,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6365,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":509,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6366,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":509,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6367,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":509,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6368,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":509,"col":8},"end":{"line":509,"col":9}},"generated_from_span":null},"id":6369,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":510,"col":5},"end":{"line":510,"col":5}},"generated_from_span":null},"id":6370,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":67,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}},{"Ident":["neg",0]}],"span":{"data":{"file_id":6,"beg":{"line":516,"col":4},"end":{"line":522,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: self.y_minus_x,\n y_minus_x: self.y_plus_x,\n xy2d: -(&self.xy2d),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10527}],"output":{"Deduplicated":1842}},"src":{"TraitImpl":{"impl_ref":{"id":44,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10527},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":516,"col":4},"end":{"line":522,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":516,"col":20},"end":{"line":516,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1842}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":516,"col":11},"end":{"line":516,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3894}},{"index":2,"name":null,"span":{"data":{"file_id":6,"beg":{"line":518,"col":22},"end":{"line":518,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":519,"col":23},"end":{"line":519,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":6,"beg":{"line":520,"col":18},"end":{"line":520,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":6,"beg":{"line":520,"col":19},"end":{"line":520,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2795}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":517,"col":8},"end":{"line":522,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":518,"col":22},"end":{"line":518,"col":36}},"generated_from_span":null},"id":6371,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":518,"col":22},"end":{"line":518,"col":36}},"generated_from_span":null},"id":6372,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":519,"col":23},"end":{"line":519,"col":36}},"generated_from_span":null},"id":6373,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":519,"col":23},"end":{"line":519,"col":36}},"generated_from_span":null},"id":6374,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":18},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6375,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":19},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6376,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":19},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6377,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":18},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6378,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":520,"col":30},"end":{"line":520,"col":31}},"generated_from_span":null},"id":6379,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":517,"col":8},"end":{"line":521,"col":9}},"generated_from_span":null},"id":6380,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":521,"col":8},"end":{"line":521,"col":9}},"generated_from_span":null},"id":6381,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":521,"col":8},"end":{"line":521,"col":9}},"generated_from_span":null},"id":6382,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":521,"col":8},"end":{"line":521,"col":9}},"generated_from_span":null},"id":6383,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":522,"col":5},"end":{"line":522,"col":5}},"generated_from_span":null},"id":6384,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":68,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":6,"beg":{"line":530,"col":4},"end":{"line":536,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectivePoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10656},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":45,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":530,"col":4},"end":{"line":536,"col":5}},"generated_from_span":null},"bound_body_regions":99,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":530,"col":55},"end":{"line":530,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":530,"col":11},"end":{"line":530,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3887}},{"index":2,"name":"f","span":{"data":{"file_id":6,"beg":{"line":530,"col":18},"end":{"line":530,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":532,"col":12},"end":{"line":532,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3944,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[3941,{"Ref":[{"Body":20},{"Deduplicated":2902},"Shared"]}]},{"HashConsedValue":[3942,{"Ref":[{"Body":22},{"Deduplicated":2904},"Shared"]}]},{"HashConsedValue":[3943,{"Ref":[{"Body":24},{"Deduplicated":2906},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[3945,{"Ref":[{"Body":26},{"Deduplicated":2908},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[3946,{"Ref":[{"Body":29},{"Deduplicated":2911},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[3947,{"Ref":[{"Body":32},{"Deduplicated":2914},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":12,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3953,{"Array":[{"HashConsedValue":[3952,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":533,"col":37},"end":{"line":533,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":3108}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[3954,{"Ref":[{"Body":39},{"Deduplicated":2921},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":533,"col":49},"end":{"line":533,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3955,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":41}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[3956,{"Ref":[{"Body":42},{"Deduplicated":2933},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":533,"col":61},"end":{"line":533,"col":65}},"generated_from_span":null},"ty":{"HashConsedValue":[3957,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[3958,{"Ref":[{"Body":45},{"Deduplicated":2936},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3964,{"Ref":[{"Body":48},{"HashConsedValue":[3962,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","43"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3965,{"Ref":[{"Body":49},{"Deduplicated":3962},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3971,{"Ref":[{"Body":52},{"HashConsedValue":[3970,{"Array":[{"Deduplicated":3401},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3973,{"Ref":[{"Body":54},{"HashConsedValue":[3972,{"Array":[{"Deduplicated":3403},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":3962}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9295,{"Ref":[{"Body":91},{"Deduplicated":3962},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":532,"col":12},"end":{"line":534,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":532,"col":12},"end":{"line":532,"col":13}},"generated_from_span":null},"id":6385,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":532,"col":12},"end":{"line":532,"col":13}},"generated_from_span":null},"id":6386,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[3974,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":56}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6387,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6388,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6389,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6390,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6391,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6392,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3945}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2909}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6393,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6394,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6395,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6396,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3946}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2912}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6397,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6398,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6399,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3887}},"Deref"]},"ty":{"Deduplicated":1819}},{"Field":[{"Adt":[2,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6400,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3947}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2915}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6401,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":3945}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3946}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3947}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6402,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6403,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6404,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6405,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":37},"end":{"line":533,"col":41}},"generated_from_span":null},"id":6406,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6407,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":12},"end":{"line":534,"col":19}},"generated_from_span":null},"id":6408,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},0]}]},"ty":{"HashConsedValue":[3976,{"Ref":[{"Body":57},{"HashConsedValue":[3975,{"Ref":[{"Body":58},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[3977,{"Ref":[{"Body":59},{"Deduplicated":1391},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":37},"end":{"line":533,"col":41}},"generated_from_span":null},"id":6409,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":60},{"Body":67}],"types":[{"HashConsedValue":[3987,{"Ref":[{"Body":62},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8758,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":62}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"HashConsedValue":[3988,{"kind":{"TraitImpl":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":3987}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3954}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":3108}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":40},"end":{"line":533,"col":41}},"generated_from_span":null},"id":6410,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":49},"end":{"line":533,"col":53}},"generated_from_span":null},"id":6411,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6412,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":21},"end":{"line":534,"col":28}},"generated_from_span":null},"id":6413,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":3956}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},1]}]},"ty":{"HashConsedValue":[3992,{"Ref":[{"Body":68},{"HashConsedValue":[3991,{"Ref":[{"Body":69},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"Deduplicated":2942}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":49},"end":{"line":533,"col":53}},"generated_from_span":null},"id":6414,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":71},{"Body":78}],"types":[{"HashConsedValue":[3998,{"Ref":[{"Body":73},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8759,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":73}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":3998}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":3956}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":3955}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":52},"end":{"line":533,"col":53}},"generated_from_span":null},"id":6415,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":61},"end":{"line":533,"col":65}},"generated_from_span":null},"id":6416,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6417,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":534,"col":30},"end":{"line":534,"col":37}},"generated_from_span":null},"id":6418,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":3958}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},2]}]},"ty":{"HashConsedValue":[4002,{"Ref":[{"Body":79},{"HashConsedValue":[4001,{"Ref":[{"Body":80},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[4003,{"Ref":[{"Body":81},{"Deduplicated":1391},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":61},"end":{"line":533,"col":65}},"generated_from_span":null},"id":6419,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":82},{"Body":89}],"types":[{"HashConsedValue":[4009,{"Ref":[{"Body":84},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8760,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":84}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4009}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":3958}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":3957}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":533,"col":64},"end":{"line":533,"col":65}},"generated_from_span":null},"id":6420,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6421,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3953}},{"Aggregate":[{"Array":[{"HashConsedValue":[4012,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":90}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":3108}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":3955}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":3957}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6422,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6423,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6424,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6425,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6426,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6427,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6428,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":3962}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","43"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","21"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","106"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","99"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","118"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","90"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6429,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6430,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":9295}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":3962}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6431,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":3965}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":9295}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6432,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":3964}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":3965}},"Deref"]},"ty":{"Deduplicated":3962}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6433,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6434,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6435,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3973}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":3953}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6436,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3971}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":3973}},"Deref"]},"ty":{"HashConsedValue":[4015,{"Array":[{"HashConsedValue":[4014,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":92}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6437,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":93}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","43"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3964}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":3971}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6438,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6439,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6440,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6441,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6442,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":94},{"Body":97},{"Body":98}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6443,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6444,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6445,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6446,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6447,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6448,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6449,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":536,"col":5},"end":{"line":536,"col":5}},"generated_from_span":null},"id":6450,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":69,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":6,"beg":{"line":540,"col":4},"end":{"line":546,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"CompletedPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10657},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":46,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":540,"col":4},"end":{"line":546,"col":5}},"generated_from_span":null},"bound_body_regions":120,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":540,"col":55},"end":{"line":540,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":540,"col":11},"end":{"line":540,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3891}},{"index":2,"name":"f","span":{"data":{"file_id":6,"beg":{"line":540,"col":18},"end":{"line":540,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":542,"col":12},"end":{"line":542,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4022,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":3942},{"Deduplicated":3943},{"Deduplicated":3945},{"HashConsedValue":[4021,{"Ref":[{"Body":28},{"Deduplicated":2910},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[4023,{"Ref":[{"Body":30},{"Deduplicated":2912},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[4024,{"Ref":[{"Body":33},{"Deduplicated":2915},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[4025,{"Ref":[{"Body":36},{"Deduplicated":2918},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":3954}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2922}},{"index":14,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4031,{"Array":[{"Deduplicated":3957},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":543,"col":36},"end":{"line":543,"col":40}},"generated_from_span":null},"ty":{"HashConsedValue":[4032,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":45}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[4033,{"Ref":[{"Body":46},{"Deduplicated":2937},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":543,"col":48},"end":{"line":543,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[4034,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":48}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[4036,{"Ref":[{"Body":49},{"HashConsedValue":[4035,{"Ref":[{"Body":50},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":543,"col":60},"end":{"line":543,"col":64}},"generated_from_span":null},"ty":{"HashConsedValue":[3967,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[4038,{"Ref":[{"Body":52},{"HashConsedValue":[4037,{"Ref":[{"Body":53},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":543,"col":72},"end":{"line":543,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[4039,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"ty":{"HashConsedValue":[4041,{"Ref":[{"Body":55},{"HashConsedValue":[4040,{"Ref":[{"Body":56},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4047,{"Ref":[{"Body":58},{"HashConsedValue":[4045,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","50"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4048,{"Ref":[{"Body":59},{"Deduplicated":4045},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4055,{"Ref":[{"Body":62},{"HashConsedValue":[4054,{"Array":[{"HashConsedValue":[4053,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":63}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":26,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4058,{"Ref":[{"Body":64},{"HashConsedValue":[4057,{"Array":[{"HashConsedValue":[4056,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":65}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":4045}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9296,{"Ref":[{"Body":112},{"Deduplicated":4045},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":542,"col":12},"end":{"line":544,"col":46}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":542,"col":12},"end":{"line":542,"col":13}},"generated_from_span":null},"id":6451,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":542,"col":12},"end":{"line":542,"col":13}},"generated_from_span":null},"id":6452,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[4059,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":66}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6453,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6454,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6455,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6456,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6457,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6458,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4023}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2913}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6459,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6460,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6461,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6462,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4024}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2916}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6463,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6464,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6465,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6466,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":4025}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2919}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6467,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6468,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6469,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3891}},"Deref"]},"ty":{"Deduplicated":1831}},{"Field":[{"Adt":[3,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6470,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":2922}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6471,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4023}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4024}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":4025}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3954}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6472,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6473,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6474,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6475,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6476,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":36},"end":{"line":543,"col":40}},"generated_from_span":null},"id":6477,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6478,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":12},"end":{"line":544,"col":19}},"generated_from_span":null},"id":6479,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":4033}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},0]}]},"ty":{"HashConsedValue":[4061,{"Ref":[{"Body":67},{"HashConsedValue":[4060,{"Ref":[{"Body":68},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"Deduplicated":3991}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":36},"end":{"line":543,"col":40}},"generated_from_span":null},"id":6480,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":70},{"Body":77}],"types":[{"HashConsedValue":[4064,{"Ref":[{"Body":72},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8764,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":72}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4064}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":4033}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":39},"end":{"line":543,"col":40}},"generated_from_span":null},"id":6481,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":48},"end":{"line":543,"col":52}},"generated_from_span":null},"id":6482,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6483,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":21},"end":{"line":544,"col":28}},"generated_from_span":null},"id":6484,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":4036}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},1]}]},"ty":{"HashConsedValue":[4068,{"Ref":[{"Body":78},{"HashConsedValue":[4067,{"Ref":[{"Body":79},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"Deduplicated":4001}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":48},"end":{"line":543,"col":52}},"generated_from_span":null},"id":6485,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":81},{"Body":88}],"types":[{"HashConsedValue":[4071,{"Ref":[{"Body":83},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8765,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":83}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4071}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":4036}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":51},"end":{"line":543,"col":52}},"generated_from_span":null},"id":6486,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":60},"end":{"line":543,"col":64}},"generated_from_span":null},"id":6487,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6488,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":30},"end":{"line":544,"col":37}},"generated_from_span":null},"id":6489,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4038}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},2]}]},"ty":{"HashConsedValue":[4075,{"Ref":[{"Body":89},{"HashConsedValue":[4074,{"Ref":[{"Body":90},{"Deduplicated":1391},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[4076,{"Ref":[{"Body":91},{"Deduplicated":1391},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":60},"end":{"line":543,"col":64}},"generated_from_span":null},"id":6490,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":92},{"Body":99}],"types":[{"HashConsedValue":[4082,{"Ref":[{"Body":94},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8766,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":94}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4082}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":4038}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":63},"end":{"line":543,"col":64}},"generated_from_span":null},"id":6491,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":72},"end":{"line":543,"col":76}},"generated_from_span":null},"id":6492,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6493,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":544,"col":39},"end":{"line":544,"col":46}},"generated_from_span":null},"id":6494,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":4041}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},3]}]},"ty":{"HashConsedValue":[4086,{"Ref":[{"Body":100},{"Deduplicated":4085},"Shared"]}]}},"Deref"]},"ty":{"Deduplicated":4087}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":72},"end":{"line":543,"col":76}},"generated_from_span":null},"id":6495,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":103},{"Body":110}],"types":[{"HashConsedValue":[4093,{"Ref":[{"Body":105},{"Deduplicated":1391},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8767,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":105}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4093}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":4041}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":543,"col":75},"end":{"line":543,"col":76}},"generated_from_span":null},"id":6496,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6497,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":4031}},{"Aggregate":[{"Array":[{"HashConsedValue":[4096,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":111}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6498,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6499,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6500,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6501,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6502,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6503,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6504,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6505,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":4045}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","50"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","20"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","67"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","112"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","90"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","84"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6506,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6507,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":9296}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":4045}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6508,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":4048}},{"Use":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":9296}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6509,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":4047}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":4048}},"Deref"]},"ty":{"Deduplicated":4045}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6510,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6511,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6512,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":4031}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6513,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":4055}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},"Deref"]},"ty":{"HashConsedValue":[4099,{"Array":[{"HashConsedValue":[4098,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":113}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6514,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":114}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","50"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":4047}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":4055}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6515,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6516,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6517,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6518,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6519,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":115},{"Body":118},{"Body":119}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6520,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6521,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6522,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6523,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6524,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6525,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6526,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6527,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":546,"col":5},"end":{"line":546,"col":5}},"generated_from_span":null},"id":6528,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":70,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":6,"beg":{"line":550,"col":4},"end":{"line":556,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"AffineNielsPoint{{\\n\\ty_plus_x: {:?},\\n\\ty_minus_x: {:?},\\n\\txy2d: {:?}\\n}}\",\n &self.y_plus_x, &self.y_minus_x, &self.xy2d\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10527},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":47,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":550,"col":4},"end":{"line":556,"col":5}},"generated_from_span":null},"bound_body_regions":99,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":550,"col":55},"end":{"line":550,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":550,"col":11},"end":{"line":550,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3894}},{"index":2,"name":"f","span":{"data":{"file_id":6,"beg":{"line":550,"col":18},"end":{"line":550,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":552,"col":12},"end":{"line":552,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3944}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":3945}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2909}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":3946}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":3947}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":2915}},{"index":12,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3953}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":553,"col":45},"end":{"line":553,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":3108}},{"index":14,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":3954}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":553,"col":65},"end":{"line":553,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":3955}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":3956}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":553,"col":80},"end":{"line":553,"col":84}},"generated_from_span":null},"ty":{"Deduplicated":3957}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":3958}},{"index":19,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4106,{"Ref":[{"Body":48},{"HashConsedValue":[4104,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","62"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4107,{"Ref":[{"Body":49},{"Deduplicated":4104},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3971}},{"index":22,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3973}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":4104}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9297,{"Ref":[{"Body":91},{"Deduplicated":4104},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":552,"col":12},"end":{"line":554,"col":55}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":552,"col":12},"end":{"line":552,"col":13}},"generated_from_span":null},"id":6529,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":552,"col":12},"end":{"line":552,"col":13}},"generated_from_span":null},"id":6530,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"Deduplicated":3974}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6531,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6532,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6533,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6534,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6535,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2909}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6536,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":3945}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2909}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6537,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6538,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6539,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2912}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6540,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3946}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2912}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6541,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6542,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6543,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2915}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3894}},"Deref"]},"ty":{"Deduplicated":1842}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6544,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":3947}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2915}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6545,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":3945}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3946}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3947}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6546,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6547,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6548,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6549,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":45},"end":{"line":553,"col":49}},"generated_from_span":null},"id":6550,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6551,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":12},"end":{"line":554,"col":26}},"generated_from_span":null},"id":6552,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},0]}]},"ty":{"Deduplicated":3976}},"Deref"]},"ty":{"Deduplicated":3977}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":45},"end":{"line":553,"col":49}},"generated_from_span":null},"id":6553,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":60},{"Body":67}],"types":[{"Deduplicated":3987}],"const_generics":[],"trait_refs":[{"Deduplicated":8758}]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3954}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":3108}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":48},"end":{"line":553,"col":49}},"generated_from_span":null},"id":6554,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":65},"end":{"line":553,"col":69}},"generated_from_span":null},"id":6555,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6556,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":28},"end":{"line":554,"col":43}},"generated_from_span":null},"id":6557,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":3956}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},1]}]},"ty":{"Deduplicated":3992}},"Deref"]},"ty":{"Deduplicated":2942}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":65},"end":{"line":553,"col":69}},"generated_from_span":null},"id":6558,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":71},{"Body":78}],"types":[{"Deduplicated":3998}],"const_generics":[],"trait_refs":[{"Deduplicated":8759}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":3956}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":3955}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":68},"end":{"line":553,"col":69}},"generated_from_span":null},"id":6559,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":80},"end":{"line":553,"col":84}},"generated_from_span":null},"id":6560,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6561,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":554,"col":45},"end":{"line":554,"col":55}},"generated_from_span":null},"id":6562,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":3958}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":3944}},{"Field":[{"Tuple":3},2]}]},"ty":{"Deduplicated":4002}},"Deref"]},"ty":{"Deduplicated":4003}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":80},"end":{"line":553,"col":84}},"generated_from_span":null},"id":6563,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":82},{"Body":89}],"types":[{"Deduplicated":4009}],"const_generics":[],"trait_refs":[{"Deduplicated":8760}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":3958}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":3957}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":553,"col":83},"end":{"line":553,"col":84}},"generated_from_span":null},"id":6564,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6565,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3953}},{"Aggregate":[{"Array":[{"Deduplicated":4012},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":3108}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":3955}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":3957}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6566,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6567,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6568,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6569,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6570,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6571,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6572,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":4104}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","62"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","29"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","65"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","102"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","102"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","78"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","121"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","112"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","117"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","120"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","14"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","121"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","117"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","120"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","120"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","121"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","50"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6573,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6574,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":9297}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":4104}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6575,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4107}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":9297}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6576,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":4106}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":4107}},"Deref"]},"ty":{"Deduplicated":4104}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6577,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6578,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6579,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":3973}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":3953}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6580,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":3971}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":3973}},"Deref"]},"ty":{"Deduplicated":4015}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6581,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":93}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","62"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":4106}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":3971}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6582,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6583,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6584,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6585,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6586,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":94},{"Body":97},{"Body":98}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6587,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6588,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6589,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6590,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6591,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6592,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6593,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":556,"col":5},"end":{"line":556,"col":5}},"generated_from_span":null},"id":6594,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":71,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":6,"beg":{"line":560,"col":4},"end":{"line":566,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectiveNielsPoint{{\\n\\tY_plus_X: {:?},\\n\\tY_minus_X: {:?},\\n\\tZ: {:?},\\n\\tT2d: {:?}\\n}}\",\n &self.Y_plus_X, &self.Y_minus_X, &self.Z, &self.T2d\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10526},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":48,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":6,"beg":{"line":560,"col":4},"end":{"line":566,"col":5}},"generated_from_span":null},"bound_body_regions":120,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":6,"beg":{"line":560,"col":55},"end":{"line":560,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":6,"beg":{"line":560,"col":11},"end":{"line":560,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3899}},{"index":2,"name":"f","span":{"data":{"file_id":6,"beg":{"line":560,"col":18},"end":{"line":560,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":6,"beg":{"line":562,"col":12},"end":{"line":562,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4022}},{"index":6,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4023}},{"index":7,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":8,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":4024}},{"index":9,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":10,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4025}},{"index":11,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":12,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":3954}},{"index":13,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":2922}},{"index":14,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4031}},{"index":15,"name":null,"span":{"data":{"file_id":6,"beg":{"line":563,"col":49},"end":{"line":563,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4032}},{"index":16,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4033}},{"index":17,"name":null,"span":{"data":{"file_id":6,"beg":{"line":563,"col":69},"end":{"line":563,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":4034}},{"index":18,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":4036}},{"index":19,"name":null,"span":{"data":{"file_id":6,"beg":{"line":563,"col":81},"end":{"line":563,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":3967}},{"index":20,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4038}},{"index":21,"name":null,"span":{"data":{"file_id":6,"beg":{"line":563,"col":95},"end":{"line":563,"col":99}},"generated_from_span":null},"ty":{"Deduplicated":4039}},{"index":22,"name":null,"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":4041}},{"index":23,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4115,{"Ref":[{"Body":58},{"HashConsedValue":[4113,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","73"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4116,{"Ref":[{"Body":59},{"Deduplicated":4113},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4055}},{"index":26,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4058}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":4113}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9298,{"Ref":[{"Body":112},{"Deduplicated":4113},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":6,"beg":{"line":562,"col":12},"end":{"line":564,"col":63}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":6,"beg":{"line":562,"col":12},"end":{"line":562,"col":13}},"generated_from_span":null},"id":6595,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":562,"col":12},"end":{"line":562,"col":13}},"generated_from_span":null},"id":6596,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"Deduplicated":4059}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6597,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6598,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6599,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6600,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6601,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6602,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4023}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2913}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6603,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6604,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6605,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6606,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4024}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2916}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6607,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6608,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6609,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6610,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":4025}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2919}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6611,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6612,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6613,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3899}},"Deref"]},"ty":{"Deduplicated":1865}},{"Field":[{"Adt":[5,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6614,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":2922}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6615,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4023}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4024}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":4025}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3954}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6616,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6617,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6618,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6619,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6620,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":49},"end":{"line":563,"col":53}},"generated_from_span":null},"id":6621,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6622,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":12},"end":{"line":564,"col":26}},"generated_from_span":null},"id":6623,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":4033}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},0]}]},"ty":{"Deduplicated":4061}},"Deref"]},"ty":{"Deduplicated":3991}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":49},"end":{"line":563,"col":53}},"generated_from_span":null},"id":6624,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":70},{"Body":77}],"types":[{"Deduplicated":4064}],"const_generics":[],"trait_refs":[{"Deduplicated":8764}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":4033}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":52},"end":{"line":563,"col":53}},"generated_from_span":null},"id":6625,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":69},"end":{"line":563,"col":73}},"generated_from_span":null},"id":6626,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6627,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":28},"end":{"line":564,"col":43}},"generated_from_span":null},"id":6628,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":4036}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},1]}]},"ty":{"Deduplicated":4068}},"Deref"]},"ty":{"Deduplicated":4001}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":69},"end":{"line":563,"col":73}},"generated_from_span":null},"id":6629,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":81},{"Body":88}],"types":[{"Deduplicated":4071}],"const_generics":[],"trait_refs":[{"Deduplicated":8765}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":4036}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":72},"end":{"line":563,"col":73}},"generated_from_span":null},"id":6630,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":81},"end":{"line":563,"col":85}},"generated_from_span":null},"id":6631,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6632,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":45},"end":{"line":564,"col":52}},"generated_from_span":null},"id":6633,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4038}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},2]}]},"ty":{"Deduplicated":4075}},"Deref"]},"ty":{"Deduplicated":4076}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":81},"end":{"line":563,"col":85}},"generated_from_span":null},"id":6634,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":92},{"Body":99}],"types":[{"Deduplicated":4082}],"const_generics":[],"trait_refs":[{"Deduplicated":8766}]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":4038}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":84},"end":{"line":563,"col":85}},"generated_from_span":null},"id":6635,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":95},"end":{"line":563,"col":99}},"generated_from_span":null},"id":6636,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6637,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":564,"col":54},"end":{"line":564,"col":63}},"generated_from_span":null},"id":6638,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":4041}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},3]}]},"ty":{"Deduplicated":4086}},"Deref"]},"ty":{"Deduplicated":4087}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":95},"end":{"line":563,"col":99}},"generated_from_span":null},"id":6639,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":103},{"Body":110}],"types":[{"Deduplicated":4093}],"const_generics":[],"trait_refs":[{"Deduplicated":8767}]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":4041}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":563,"col":98},"end":{"line":563,"col":99}},"generated_from_span":null},"id":6640,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6641,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":4031}},{"Aggregate":[{"Array":[{"Deduplicated":4096},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6642,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6643,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6644,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6645,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6646,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6647,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6648,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6649,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":4113}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","73"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","33"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","106"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","99"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","118"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","78"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","112"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","108"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","117"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","14"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","117"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","95"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","90"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","8"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","84"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","50"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6650,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6651,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":9298}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":4113}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6652,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":4116}},{"Use":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":9298}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6653,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":4115}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":4116}},"Deref"]},"ty":{"Deduplicated":4113}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6654,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6655,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6656,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":4031}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6657,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":4055}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},"Deref"]},"ty":{"Deduplicated":4099}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6658,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":114}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","73"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":4115}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":4055}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6659,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6660,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6661,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6662,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6663,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":115},{"Body":118},{"Body":119}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6664,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6665,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6666,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6667,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6668,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6669,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6670,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6671,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":6,"beg":{"line":566,"col":5},"end":{"line":566,"col":5}},"generated_from_span":null},"id":6672,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":72,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":51}},{"Ident":["clone",0]}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10664,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2116},"Shared"]}]}],"output":{"Deduplicated":2116}},"src":{"TraitImpl":{"impl_ref":{"id":51,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2116}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[4167,{"Ref":[{"Body":1},{"Deduplicated":2116},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"id":6673,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2116}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":174,"col":20},"end":{"line":174,"col":20}},"generated_from_span":null},"id":6674,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":73,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":52}},{"Ident":["hash",0]}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"__H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664},{"Deduplicated":10662}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":52,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"bound_body_regions":12,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"state","span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[10665,{"Ref":[{"Body":3},{"Deduplicated":10511},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2830}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2831}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[10666,{"Ref":[{"Body":7},{"Deduplicated":10511},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":6675,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6676,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6677,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6678,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2831}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},{"Field":[{"Adt":[6,null]},0]}]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6679,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2830}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2831}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"id":6680,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"id":6681,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":10666}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":10665}},"Deref"]},"ty":{"Deduplicated":10511}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":30},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6682,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":192}},"generics":{"regions":[{"Body":10},{"Body":11}],"types":[{"Deduplicated":2113},{"Deduplicated":10511}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10667,{"kind":{"TraitImpl":{"id":125,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10668,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2830}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":10666}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":41},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6683,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":41},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6684,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":175,"col":41},"end":{"line":175,"col":42}},"generated_from_span":null},"id":6685,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":174,"col":26},"end":{"line":174,"col":26}},"generated_from_span":null},"id":6686,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":74,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]},{"Ident":["hash",0]}],"span":{"data":{"file_id":20,"beg":{"line":198,"col":4},"end":{"line":198,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Feeds this value into the given [`Hasher`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hash, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" 7920.hash(&mut hasher);"},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"HashConsedValue":[10669,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10512},"Mut"]}]}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":76,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":53}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":178,"col":4},"end":{"line":180,"col":5}},"generated_from_span":null},"source_text":"fn ct_eq(&self, other: &CompressedEdwardsY) -> Choice {\n self.as_bytes().ct_eq(other.as_bytes())\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664},{"HashConsedValue":[10670,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2116},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":53,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":178,"col":4},"end":{"line":180,"col":5}},"generated_from_span":null},"bound_body_regions":23,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":178,"col":51},"end":{"line":178,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":178,"col":13},"end":{"line":178,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":178,"col":20},"end":{"line":178,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[4322,{"Ref":[{"Body":2},{"Deduplicated":2116},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2828}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2831}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2883}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[4323,{"Ref":[{"Body":8},{"Deduplicated":2116},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2884}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":3869}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"ty":{"HashConsedValue":[4324,{"Ref":[{"Body":11},{"Deduplicated":2114},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[4325,{"Ref":[{"Body":12},{"Deduplicated":2116},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":180,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6687,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6688,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6689,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":12}},"generated_from_span":null},"id":6690,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":12}},"generated_from_span":null},"id":6691,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4323}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6692,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":79}},"generics":{"regions":[{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4323}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":2883}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6693,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2831}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2883}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6694,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2831}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2828}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":22},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6695,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":22},"end":{"line":179,"col":23}},"generated_from_span":null},"id":6696,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6697,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6698,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6699,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":35}},"generated_from_span":null},"id":6700,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":35}},"generated_from_span":null},"id":6701,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":4325}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4322}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6702,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":79}},"generics":{"regions":[{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":4325}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":4324}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6703,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3869}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":4324}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":30},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6704,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3869}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":2884}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":45},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6705,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":45},"end":{"line":179,"col":46}},"generated_from_span":null},"id":6706,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":8},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":136}},"generics":{"regions":[{"Body":21},{"Body":22}],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[{"Deduplicated":2863}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2828}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2884}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":46},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6708,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":46},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6709,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":46},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6710,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":179,"col":46},"end":{"line":179,"col":47}},"generated_from_span":null},"id":6711,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":180,"col":5},"end":{"line":180,"col":5}},"generated_from_span":null},"id":6712,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":77,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}},{"Ident":["eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":185,"col":4},"end":{"line":187,"col":5}},"generated_from_span":null},"source_text":"fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664},{"Deduplicated":10670}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":55,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":185,"col":4},"end":{"line":187,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":185,"col":34},"end":{"line":185,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":185,"col":10},"end":{"line":185,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":185,"col":17},"end":{"line":185,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4322}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[4328,{"Ref":[{"Body":3},{"Deduplicated":2116},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":186,"col":19},"end":{"line":186,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[4329,{"Ref":[{"Body":4},{"Deduplicated":2116},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":187,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":25}},"generated_from_span":null},"id":6713,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":12}},"generated_from_span":null},"id":6714,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":12}},"generated_from_span":null},"id":6715,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4328}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":19},"end":{"line":186,"col":24}},"generated_from_span":null},"id":6716,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":19},"end":{"line":186,"col":24}},"generated_from_span":null},"id":6717,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4329}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4322}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":25}},"generated_from_span":null},"id":6718,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":76}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4328}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4329}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":24},"end":{"line":186,"col":25}},"generated_from_span":null},"id":6719,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":24},"end":{"line":186,"col":25}},"generated_from_span":null},"id":6720,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":8},"end":{"line":186,"col":32}},"generated_from_span":null},"id":6721,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":186,"col":31},"end":{"line":186,"col":32}},"generated_from_span":null},"id":6722,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":187,"col":5},"end":{"line":187,"col":5}},"generated_from_span":null},"id":6723,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":78,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":7,"beg":{"line":191,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"CompressedEdwardsY: {:?}\", self.as_bytes())\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":56,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":191,"col":4},"end":{"line":193,"col":5}},"generated_from_span":null},"bound_body_regions":60,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":191,"col":55},"end":{"line":191,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":191,"col":11},"end":{"line":191,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"f","span":{"data":{"file_id":7,"beg":{"line":191,"col":18},"end":{"line":191,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":15},"end":{"line":192,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4340,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[4339,{"Ref":[{"Body":16},{"HashConsedValue":[4338,{"Ref":[{"Body":17},{"Deduplicated":2114},"Shared"]}]},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"ty":{"HashConsedValue":[4342,{"Ref":[{"Body":18},{"HashConsedValue":[4341,{"Ref":[{"Body":19},{"Deduplicated":2114},"Shared"]}]},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"ty":{"HashConsedValue":[4343,{"Ref":[{"Body":20},{"Deduplicated":2114},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[4344,{"Ref":[{"Body":21},{"Deduplicated":2116},"Shared"]}]}},{"index":9,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4348,{"Array":[{"HashConsedValue":[3086,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":39},"end":{"line":192,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[3087,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"ty":{"HashConsedValue":[4350,{"Ref":[{"Body":26},{"HashConsedValue":[4349,{"Ref":[{"Body":27},{"Deduplicated":2114},"Shared"]}]},"Shared"]}]}},{"index":12,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4356,{"Ref":[{"Body":29},{"HashConsedValue":[4354,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","23"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[4357,{"Ref":[{"Body":30},{"Deduplicated":4354},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[3104,{"Ref":[{"Body":33},{"HashConsedValue":[3103,{"Array":[{"HashConsedValue":[3102,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Body":34}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3107}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":4354}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9310,{"Ref":[{"Body":52},{"Deduplicated":4354},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":192,"col":15},"end":{"line":192,"col":61}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":192,"col":15},"end":{"line":192,"col":16}},"generated_from_span":null},"id":6724,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":15},"end":{"line":192,"col":16}},"generated_from_span":null},"id":6725,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[10671,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6726,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6727,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6728,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6729,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":50}},"generated_from_span":null},"id":6730,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":50}},"generated_from_span":null},"id":6731,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4344}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6732,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":79}},"generics":{"regions":[{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4344}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":4343}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":60},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6733,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6734,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4342}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":4343}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6735,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4340}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4342}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6736,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6737,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":39},"end":{"line":192,"col":43}},"generated_from_span":null},"id":6738,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6739,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":46},"end":{"line":192,"col":61}},"generated_from_span":null},"id":6740,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":4350}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4340}},{"Field":[{"Tuple":1},0]}]},"ty":{"HashConsedValue":[10673,{"Ref":[{"Body":40},{"HashConsedValue":[10672,{"Ref":[{"Body":41},{"Deduplicated":2114},"Shared"]}]},"Shared"]}]}},"Deref"]},"ty":{"HashConsedValue":[10674,{"Ref":[{"Body":42},{"Deduplicated":2114},"Shared"]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":39},"end":{"line":192,"col":43}},"generated_from_span":null},"id":6741,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":43},{"Body":50}],"types":[{"HashConsedValue":[8793,{"Ref":[{"Body":45},{"Deduplicated":2114},"Shared"]}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10677,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":45}],"types":[{"Deduplicated":2114}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10676,{"kind":{"TraitImpl":{"id":126,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10675,{"kind":{"TraitImpl":{"id":127,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2114}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8793}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":4350}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":3087}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":192,"col":42},"end":{"line":192,"col":43}},"generated_from_span":null},"id":6742,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6743,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":4348}},{"Aggregate":[{"Array":[{"Deduplicated":3967},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":3087}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6744,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6745,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6746,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6747,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6748,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":4354}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","23"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","20"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","67"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","109"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","112"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","101"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","69"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","119"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","97"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6749,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6750,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":9310}},{"Ref":{"place":{"kind":{"Local":16},"ty":{"Deduplicated":4354}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6751,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":4357}},{"Use":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":9310}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6752,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":4356}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":4357}},"Deref"]},"ty":{"Deduplicated":4354}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6753,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6754,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6755,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":3107}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":4348}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6756,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":3104}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":3107}},"Deref"]},"ty":{"HashConsedValue":[10678,{"Array":[{"Deduplicated":3401},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}]}]}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6757,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":54}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","23"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":4356}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":3104}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6758,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6759,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6760,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":6761,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6762,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":55},{"Body":58},{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6763,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6764,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6765,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6766,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":6767,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":193,"col":5},"end":{"line":193,"col":5}},"generated_from_span":null},"id":6768,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":79,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["as_bytes",0]}],"span":{"data":{"file_id":7,"beg":{"line":198,"col":4},"end":{"line":200,"col":5}},"generated_from_span":null},"source_text":"pub const fn as_bytes(&self) -> &[u8; 32] {\n &self.0\n }","attr_info":{"attributes":[{"DocComment":" View this `CompressedEdwardsY` as an array of bytes."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664}],"output":{"Deduplicated":10655}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":198,"col":4},"end":{"line":200,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":198,"col":36},"end":{"line":198,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":3867}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":198,"col":26},"end":{"line":198,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":4328}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":199,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2881}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":200,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":199,"col":15}},"generated_from_span":null},"id":6769,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":199,"col":15}},"generated_from_span":null},"id":6770,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2881}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4328}},"Deref"]},"ty":{"Deduplicated":2116}},{"Field":[{"Adt":[6,null]},0]}]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":199,"col":8},"end":{"line":199,"col":15}},"generated_from_span":null},"id":6771,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":3867}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2881}},"Deref"]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":199,"col":14},"end":{"line":199,"col":15}},"generated_from_span":null},"id":6772,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":200,"col":5},"end":{"line":200,"col":5}},"generated_from_span":null},"id":6773,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":80,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["to_bytes",0]}],"span":{"data":{"file_id":7,"beg":{"line":203,"col":4},"end":{"line":205,"col":5}},"generated_from_span":null},"source_text":"pub const fn to_bytes(&self) -> [u8; 32] {\n self.0\n }","attr_info":{"attributes":[{"DocComment":" Copy this `CompressedEdwardsY` to an array of bytes."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664}],"output":{"Deduplicated":2114}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":203,"col":4},"end":{"line":205,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":203,"col":36},"end":{"line":203,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":203,"col":26},"end":{"line":203,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":4167}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":204,"col":8},"end":{"line":205,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":204,"col":8},"end":{"line":204,"col":14}},"generated_from_span":null},"id":6774,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},{"Field":[{"Adt":[6,null]},0]}]},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":205,"col":5},"end":{"line":205,"col":5}},"generated_from_span":null},"id":6775,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":81,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["decompress",0]}],"span":{"data":{"file_id":7,"beg":{"line":211,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"source_text":"pub fn decompress(&self) -> Option {\n let (is_valid_y_coord, X, Y, Z) = decompress::step_1(self);\n\n if is_valid_y_coord.into() {\n Some(decompress::step_2(self, X, Y, Z))\n } else {\n None\n }\n }","attr_info":{"attributes":[{"DocComment":" Attempt to decompress to an `EdwardsPoint`."},{"DocComment":""},{"DocComment":" Returns `None` if the input is not the \\\\(y\\\\)-coordinate of a"},{"DocComment":" curve point."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664}],"output":{"HashConsedValue":[4405,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":211,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":211,"col":32},"end":{"line":211,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4405}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":211,"col":22},"end":{"line":211,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4167}},{"index":2,"name":"is_valid_y_coord","span":{"data":{"file_id":7,"beg":{"line":212,"col":13},"end":{"line":212,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":3,"name":"X","span":{"data":{"file_id":7,"beg":{"line":212,"col":31},"end":{"line":212,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":"Y","span":{"data":{"file_id":7,"beg":{"line":212,"col":34},"end":{"line":212,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":"Z","span":{"data":{"file_id":7,"beg":{"line":212,"col":37},"end":{"line":212,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":212,"col":42},"end":{"line":212,"col":66}},"generated_from_span":null},"ty":{"HashConsedValue":[4408,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1391},{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":212,"col":61},"end":{"line":212,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":4322}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":17},"end":{"line":215,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":36},"end":{"line":215,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":4328}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":42},"end":{"line":215,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":45},"end":{"line":215,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":215,"col":48},"end":{"line":215,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":212,"col":13},"end":{"line":219,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":212,"col":42},"end":{"line":212,"col":66}},"generated_from_span":null},"id":6776,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":61},"end":{"line":212,"col":65}},"generated_from_span":null},"id":6777,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":61},"end":{"line":212,"col":65}},"generated_from_span":null},"id":6778,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":4322}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":42},"end":{"line":212,"col":66}},"generated_from_span":null},"id":6779,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":193}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":4322}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":4408}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":65},"end":{"line":212,"col":66}},"generated_from_span":null},"id":6780,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":13},"end":{"line":212,"col":29}},"generated_from_span":null},"id":6781,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":13},"end":{"line":212,"col":29}},"generated_from_span":null},"id":6782,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":4408}},{"Field":[{"Tuple":4},0]}]},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":31},"end":{"line":212,"col":32}},"generated_from_span":null},"id":6783,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":31},"end":{"line":212,"col":32}},"generated_from_span":null},"id":6784,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":4408}},{"Field":[{"Tuple":4},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":34},"end":{"line":212,"col":35}},"generated_from_span":null},"id":6785,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":34},"end":{"line":212,"col":35}},"generated_from_span":null},"id":6786,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":4408}},{"Field":[{"Tuple":4},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":37},"end":{"line":212,"col":38}},"generated_from_span":null},"id":6787,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":37},"end":{"line":212,"col":38}},"generated_from_span":null},"id":6788,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":4408}},{"Field":[{"Tuple":4},3]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":212,"col":66},"end":{"line":212,"col":67}},"generated_from_span":null},"id":6789,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":34}},"generated_from_span":null},"id":6790,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":27}},"generated_from_span":null},"id":6791,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":27}},"generated_from_span":null},"id":6792,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":11},"end":{"line":214,"col":34}},"generated_from_span":null},"id":6793,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":8},"end":{"line":218,"col":9}},"generated_from_span":null},"id":6815,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":8},"end":{"line":218,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":214,"col":33},"end":{"line":214,"col":34}},"generated_from_span":null},"id":6794,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":17},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6795,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":36},"end":{"line":215,"col":40}},"generated_from_span":null},"id":6796,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":36},"end":{"line":215,"col":40}},"generated_from_span":null},"id":6797,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":4328}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4167}},"Deref"]},"ty":{"Deduplicated":2116}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":42},"end":{"line":215,"col":43}},"generated_from_span":null},"id":6798,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":42},"end":{"line":215,"col":43}},"generated_from_span":null},"id":6799,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":45},"end":{"line":215,"col":46}},"generated_from_span":null},"id":6800,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":45},"end":{"line":215,"col":46}},"generated_from_span":null},"id":6801,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":48},"end":{"line":215,"col":49}},"generated_from_span":null},"id":6802,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":48},"end":{"line":215,"col":49}},"generated_from_span":null},"id":6803,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":17},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6804,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":4328}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":49},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6805,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":49},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6806,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":49},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6807,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":49},"end":{"line":215,"col":50}},"generated_from_span":null},"id":6808,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":12},"end":{"line":215,"col":51}},"generated_from_span":null},"id":6809,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4405}},{"Aggregate":[{"Adt":[{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},1,null]},[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1955}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":215,"col":50},"end":{"line":215,"col":51}},"generated_from_span":null},"id":6810,"kind":{"StorageDead":10},"comments_before":[]}]},{"span":{"data":{"file_id":7,"beg":{"line":214,"col":8},"end":{"line":218,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":214,"col":33},"end":{"line":214,"col":34}},"generated_from_span":null},"id":6812,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":217,"col":12},"end":{"line":217,"col":16}},"generated_from_span":null},"id":6813,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4405}},{"Aggregate":[{"Adt":[{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":218,"col":8},"end":{"line":218,"col":9}},"generated_from_span":null},"id":6816,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6817,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6818,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6819,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":4},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6820,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":219,"col":5},"end":{"line":219,"col":5}},"generated_from_span":null},"id":6821,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":82,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":57}},{"Ident":["try_from",0]}],"span":{"data":{"file_id":7,"beg":{"line":263,"col":4},"end":{"line":265,"col":5}},"generated_from_span":null},"source_text":"fn try_from(slice: &[u8]) -> Result {\n Self::from_slice(slice)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10530,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2239},"Shared"]}]}],"output":{"HashConsedValue":[4430,{"Adt":{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":2116},{"HashConsedValue":[2275,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":57,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":10530},{"Deduplicated":2275}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":263,"col":4},"end":{"line":265,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":263,"col":33},"end":{"line":263,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":4430}},{"index":1,"name":"slice","span":{"data":{"file_id":7,"beg":{"line":263,"col":16},"end":{"line":263,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[4432,{"Ref":[{"Body":1},{"Deduplicated":2239},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":264,"col":25},"end":{"line":264,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[2880,{"Ref":[{"Body":2},{"Deduplicated":2239},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":264,"col":25},"end":{"line":265,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":264,"col":25},"end":{"line":264,"col":30}},"generated_from_span":null},"id":6822,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":264,"col":25},"end":{"line":264,"col":30}},"generated_from_span":null},"id":6823,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2880}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":264,"col":8},"end":{"line":264,"col":31}},"generated_from_span":null},"id":6824,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":86}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":2880}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":4430}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":264,"col":30},"end":{"line":264,"col":31}},"generated_from_span":null},"id":6825,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":265,"col":5},"end":{"line":265,"col":5}},"generated_from_span":null},"id":6826,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":83,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":60}},{"Ident":["clone",0]}],"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10534,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1955},"Shared"]}]}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":60,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":3931}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"id":6827,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":388,"col":20},"end":{"line":388,"col":20}},"generated_from_span":null},"id":6828,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":84,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":61}},{"Ident":["identity",0]}],"span":{"data":{"file_id":7,"beg":{"line":402,"col":4},"end":{"line":407,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> CompressedEdwardsY {\n CompressedEdwardsY([\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ])\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":2116}},"src":{"TraitImpl":{"impl_ref":{"id":61,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":402,"col":4},"end":{"line":407,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":402,"col":21},"end":{"line":402,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2116}},{"index":1,"name":null,"span":{"data":{"file_id":7,"beg":{"line":403,"col":27},"end":{"line":406,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":2114}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":403,"col":8},"end":{"line":407,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":403,"col":27},"end":{"line":406,"col":9}},"generated_from_span":null},"id":6829,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":403,"col":27},"end":{"line":406,"col":9}},"generated_from_span":null},"id":6830,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":2114}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","1"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":403,"col":8},"end":{"line":406,"col":10}},"generated_from_span":null},"id":6831,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2116}},{"Aggregate":[{"Adt":[{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":406,"col":9},"end":{"line":406,"col":10}},"generated_from_span":null},"id":6832,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":407,"col":5},"end":{"line":407,"col":5}},"generated_from_span":null},"id":6833,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":85,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":62}},{"Ident":["default",0]}],"span":{"data":{"file_id":7,"beg":{"line":411,"col":4},"end":{"line":413,"col":5}},"generated_from_span":null},"source_text":"fn default() -> CompressedEdwardsY {\n CompressedEdwardsY::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":2116}},"src":{"TraitImpl":{"impl_ref":{"id":62,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":411,"col":4},"end":{"line":413,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":411,"col":20},"end":{"line":411,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":2116}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":413,"col":5},"end":{"line":413,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":412,"col":8},"end":{"line":412,"col":38}},"generated_from_span":null},"id":6834,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":84}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":2116}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":413,"col":5},"end":{"line":413,"col":5}},"generated_from_span":null},"id":6835,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":86,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2116},"kind":"InherentImplBlock"}}},{"Ident":["from_slice",0]}],"span":{"data":{"file_id":7,"beg":{"line":423,"col":4},"end":{"line":425,"col":5}},"generated_from_span":null},"source_text":"pub fn from_slice(bytes: &[u8]) -> Result {\n bytes.try_into().map(CompressedEdwardsY)\n }","attr_info":{"attributes":[{"DocComment":" Construct a `CompressedEdwardsY` from a slice of bytes."},{"DocComment":""},{"DocComment":" # Errors"},{"DocComment":""},{"DocComment":" Returns [`TryFromSliceError`] if the input `bytes` slice does not have"},{"DocComment":" a length of 32."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10530}],"output":{"Deduplicated":4430}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":87,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":63}},{"Ident":["identity",0]}],"span":{"data":{"file_id":7,"beg":{"line":429,"col":4},"end":{"line":436,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n T: FieldElement::ZERO,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":63,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":429,"col":4},"end":{"line":436,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":429,"col":21},"end":{"line":429,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":430,"col":8},"end":{"line":436,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":430,"col":8},"end":{"line":435,"col":9}},"generated_from_span":null},"id":6836,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":436,"col":5},"end":{"line":436,"col":5}},"generated_from_span":null},"id":6837,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":88,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":64}},{"Ident":["default",0]}],"span":{"data":{"file_id":7,"beg":{"line":440,"col":4},"end":{"line":442,"col":5}},"generated_from_span":null},"source_text":"fn default() -> EdwardsPoint {\n EdwardsPoint::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":64,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":440,"col":4},"end":{"line":442,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":440,"col":20},"end":{"line":440,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":442,"col":5},"end":{"line":442,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":441,"col":8},"end":{"line":441,"col":32}},"generated_from_span":null},"id":6838,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":87}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":442,"col":5},"end":{"line":442,"col":5}},"generated_from_span":null},"id":6839,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":89,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}},{"Ident":["is_valid",0]}],"span":{"data":{"file_id":7,"beg":{"line":474,"col":4},"end":{"line":479,"col":5}},"generated_from_span":null},"source_text":"fn is_valid(&self) -> bool {\n let point_on_curve = self.as_projective().is_valid();\n let on_segre_image = (&self.X * &self.Y) == (&self.Z * &self.T);\n\n point_on_curve && on_segre_image\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":65,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":474,"col":4},"end":{"line":479,"col":5}},"generated_from_span":null},"bound_body_regions":26,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":474,"col":26},"end":{"line":474,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":474,"col":16},"end":{"line":474,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"point_on_curve","span":{"data":{"file_id":7,"beg":{"line":475,"col":12},"end":{"line":475,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"ty":{"HashConsedValue":[4434,{"Ref":[{"Body":3},{"Deduplicated":1819},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[4435,{"Ref":[{"Body":4},{"Deduplicated":1955},"Shared"]}]}},{"index":6,"name":"on_segre_image","span":{"data":{"file_id":7,"beg":{"line":476,"col":12},"end":{"line":476,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":30},"end":{"line":476,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":53},"end":{"line":476,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1470}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":475,"col":12},"end":{"line":479,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":475,"col":12},"end":{"line":475,"col":26}},"generated_from_span":null},"id":6840,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6841,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6842,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":33}},"generated_from_span":null},"id":6843,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":33}},"generated_from_span":null},"id":6844,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6845,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":94}},"generics":{"regions":[{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6846,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4434}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":48},"end":{"line":475,"col":49}},"generated_from_span":null},"id":6847,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":29},"end":{"line":475,"col":60}},"generated_from_span":null},"id":6848,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":50}},"generics":{"regions":[{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4434}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":59},"end":{"line":475,"col":60}},"generated_from_span":null},"id":6849,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":475,"col":60},"end":{"line":475,"col":61}},"generated_from_span":null},"id":6850,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":12},"end":{"line":476,"col":26}},"generated_from_span":null},"id":6851,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6852,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6853,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":30},"end":{"line":476,"col":37}},"generated_from_span":null},"id":6854,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":30},"end":{"line":476,"col":37}},"generated_from_span":null},"id":6855,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"id":6856,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"id":6857,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"id":6858,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":40},"end":{"line":476,"col":47}},"generated_from_span":null},"id":6859,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6860,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":18},{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6861,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":47},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6862,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":47},"end":{"line":476,"col":48}},"generated_from_span":null},"id":6863,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6864,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6865,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":53},"end":{"line":476,"col":60}},"generated_from_span":null},"id":6866,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":53},"end":{"line":476,"col":60}},"generated_from_span":null},"id":6867,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"id":6868,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"id":6869,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"id":6870,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":63},"end":{"line":476,"col":70}},"generated_from_span":null},"id":6871,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6872,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":20},{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":52},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6873,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":70},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6874,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":70},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6875,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":29},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6876,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[{"Body":24},{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":70},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6877,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":70},"end":{"line":476,"col":71}},"generated_from_span":null},"id":6878,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":71},"end":{"line":476,"col":72}},"generated_from_span":null},"id":6879,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":71},"end":{"line":476,"col":72}},"generated_from_span":null},"id":6880,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":71},"end":{"line":476,"col":72}},"generated_from_span":null},"id":6881,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":476,"col":71},"end":{"line":476,"col":72}},"generated_from_span":null},"id":6882,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":22}},"generated_from_span":null},"id":6883,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":22}},"generated_from_span":null},"id":6884,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1470}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":40}},"generated_from_span":null},"id":6889,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":40}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":478,"col":26},"end":{"line":478,"col":40}},"generated_from_span":null},"id":6885,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1470}},{"Use":[{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]}]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":40}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":478,"col":8},"end":{"line":478,"col":40}},"generated_from_span":null},"id":6887,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":false}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":478,"col":39},"end":{"line":478,"col":40}},"generated_from_span":null},"id":6890,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":479,"col":4},"end":{"line":479,"col":5}},"generated_from_span":null},"id":6891,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":479,"col":4},"end":{"line":479,"col":5}},"generated_from_span":null},"id":6892,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":479,"col":5},"end":{"line":479,"col":5}},"generated_from_span":null},"id":6893,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":90,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":7,"beg":{"line":487,"col":4},"end":{"line":494,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(a: &EdwardsPoint, b: &EdwardsPoint, choice: Choice) -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::conditional_select(&a.X, &b.X, choice),\n Y: FieldElement::conditional_select(&a.Y, &b.Y, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T: FieldElement::conditional_select(&a.T, &b.T, choice),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":10525},{"Deduplicated":1496}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":66,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":487,"col":4},"end":{"line":494,"col":5}},"generated_from_span":null},"bound_body_regions":36,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":487,"col":81},"end":{"line":487,"col":93}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a","span":{"data":{"file_id":7,"beg":{"line":487,"col":26},"end":{"line":487,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"b","span":{"data":{"file_id":7,"beg":{"line":487,"col":44},"end":{"line":487,"col":45}},"generated_from_span":null},"ty":{"HashConsedValue":[4436,{"Ref":[{"Body":2},{"Deduplicated":1955},"Shared"]}]}},{"index":3,"name":"choice","span":{"data":{"file_id":7,"beg":{"line":487,"col":62},"end":{"line":487,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":15},"end":{"line":489,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":489,"col":60},"end":{"line":489,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":15},"end":{"line":490,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":490,"col":60},"end":{"line":490,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":15},"end":{"line":491,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":491,"col":60},"end":{"line":491,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":15},"end":{"line":492,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":23,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":24,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":25,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":26,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":27,"name":null,"span":{"data":{"file_id":7,"beg":{"line":492,"col":60},"end":{"line":492,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":488,"col":8},"end":{"line":494,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":489,"col":15},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6894,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"id":6895,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"id":6896,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"id":6897,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":48},"end":{"line":489,"col":52}},"generated_from_span":null},"id":6898,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"id":6899,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"id":6900,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"id":6901,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":54},"end":{"line":489,"col":58}},"generated_from_span":null},"id":6902,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":60},"end":{"line":489,"col":66}},"generated_from_span":null},"id":6903,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":60},"end":{"line":489,"col":66}},"generated_from_span":null},"id":6904,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":15},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6905,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":22},{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":66},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6906,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":66},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6907,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":489,"col":66},"end":{"line":489,"col":67}},"generated_from_span":null},"id":6908,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":15},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6909,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"id":6910,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"id":6911,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"id":6912,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":48},"end":{"line":490,"col":52}},"generated_from_span":null},"id":6913,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"id":6914,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"id":6915,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"id":6916,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":54},"end":{"line":490,"col":58}},"generated_from_span":null},"id":6917,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":60},"end":{"line":490,"col":66}},"generated_from_span":null},"id":6918,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":60},"end":{"line":490,"col":66}},"generated_from_span":null},"id":6919,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":15},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6920,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":26},{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":66},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6921,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":66},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6922,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":490,"col":66},"end":{"line":490,"col":67}},"generated_from_span":null},"id":6923,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":15},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6924,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"id":6925,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"id":6926,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"id":6927,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":48},"end":{"line":491,"col":52}},"generated_from_span":null},"id":6928,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"id":6929,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"id":6930,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"id":6931,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":54},"end":{"line":491,"col":58}},"generated_from_span":null},"id":6932,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":60},"end":{"line":491,"col":66}},"generated_from_span":null},"id":6933,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":60},"end":{"line":491,"col":66}},"generated_from_span":null},"id":6934,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":15},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6935,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2893}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":66},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6936,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":66},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6937,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":491,"col":66},"end":{"line":491,"col":67}},"generated_from_span":null},"id":6938,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":15},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6939,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"id":6940,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"id":6941,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"id":6942,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":48},"end":{"line":492,"col":52}},"generated_from_span":null},"id":6943,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":2898}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"id":6944,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"id":6945,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"id":6946,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":54},"end":{"line":492,"col":58}},"generated_from_span":null},"id":6947,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2900}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":60},"end":{"line":492,"col":66}},"generated_from_span":null},"id":6948,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":60},"end":{"line":492,"col":66}},"generated_from_span":null},"id":6949,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":15},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6950,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2899}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":66},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6951,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":66},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6952,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":492,"col":66},"end":{"line":492,"col":67}},"generated_from_span":null},"id":6953,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":488,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6954,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6955,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6956,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6957,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6958,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6959,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6960,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6961,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6962,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6963,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6964,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6965,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":493,"col":8},"end":{"line":493,"col":9}},"generated_from_span":null},"id":6966,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":494,"col":5},"end":{"line":494,"col":5}},"generated_from_span":null},"id":6967,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":91,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":67}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":502,"col":4},"end":{"line":511,"col":5}},"generated_from_span":null},"source_text":"fn ct_eq(&self, other: &EdwardsPoint) -> Choice {\n // We would like to check that the point (X/Z, Y/Z) is equal to\n // the point (X'/Z', Y'/Z') without converting into affine\n // coordinates (x, y) and (x', y'), which requires two inversions.\n // We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to\n // (xZ)Z' = (x'Z')Z, and similarly for the y-coordinate.\n\n (&self.X * &other.Z).ct_eq(&(&other.X * &self.Z))\n & (&self.Y * &other.Z).ct_eq(&(&other.Y * &self.Z))\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":10525}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":67,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":502,"col":4},"end":{"line":511,"col":5}},"generated_from_span":null},"bound_body_regions":38,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":502,"col":45},"end":{"line":502,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":502,"col":13},"end":{"line":502,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":502,"col":20},"end":{"line":502,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":9},"end":{"line":509,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":36},"end":{"line":509,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":37},"end":{"line":509,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":15},"end":{"line":510,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":23,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":42},"end":{"line":510,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":24,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":43},"end":{"line":510,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":25,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":26,"name":null,"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":2902}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":511,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":57}},"generated_from_span":null},"id":6968,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6969,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6970,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":9},"end":{"line":509,"col":16}},"generated_from_span":null},"id":6971,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":9},"end":{"line":509,"col":16}},"generated_from_span":null},"id":6972,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["We would like to check that the point (X/Z, Y/Z) is equal to","the point (X'/Z', Y'/Z') without converting into affine","coordinates (x, y) and (x', y'), which requires two inversions.","We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to","(xZ)Z' = (x'Z')Z, and similarly for the y-coordinate."]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"id":6973,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"id":6974,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"id":6975,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":19},"end":{"line":509,"col":27}},"generated_from_span":null},"id":6976,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6977,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":22},{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6978,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":27},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6979,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":27},"end":{"line":509,"col":28}},"generated_from_span":null},"id":6980,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6981,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6982,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":36},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6983,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":37},"end":{"line":509,"col":45}},"generated_from_span":null},"id":6984,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":37},"end":{"line":509,"col":45}},"generated_from_span":null},"id":6985,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"id":6986,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"id":6987,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"id":6988,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":48},"end":{"line":509,"col":55}},"generated_from_span":null},"id":6989,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":36},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6990,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":24},{"Body":25}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2892}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":55},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6991,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":55},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6992,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6993,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":35},"end":{"line":509,"col":56}},"generated_from_span":null},"id":6994,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":509,"col":57}},"generated_from_span":null},"id":6995,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":28},{"Body":29}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":56},"end":{"line":509,"col":57}},"generated_from_span":null},"id":6996,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":56},"end":{"line":509,"col":57}},"generated_from_span":null},"id":6997,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":63}},"generated_from_span":null},"id":6998,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"id":6999,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7000,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":15},"end":{"line":510,"col":22}},"generated_from_span":null},"id":7001,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":15},"end":{"line":510,"col":22}},"generated_from_span":null},"id":7002,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"id":7003,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"id":7004,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"id":7005,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":25},"end":{"line":510,"col":33}},"generated_from_span":null},"id":7006,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":2897}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7007,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":2895}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2896}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7008,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Local":17},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":33},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7009,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":33},"end":{"line":510,"col":34}},"generated_from_span":null},"id":7010,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7011,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7012,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":42},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7013,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":43},"end":{"line":510,"col":51}},"generated_from_span":null},"id":7014,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":43},"end":{"line":510,"col":51}},"generated_from_span":null},"id":7015,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"id":7016,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"id":7017,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"id":7018,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":54},"end":{"line":510,"col":61}},"generated_from_span":null},"id":7019,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":42},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7020,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":61},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7021,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":61},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7022,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7023,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":41},"end":{"line":510,"col":62}},"generated_from_span":null},"id":7024,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":14},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7025,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":36},{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2894}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7026,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7027,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":509,"col":8},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7028,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":196}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7029,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7030,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7031,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7032,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7033,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7034,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7035,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7036,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7037,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7038,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7039,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":510,"col":62},"end":{"line":510,"col":63}},"generated_from_span":null},"id":7040,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":511,"col":5},"end":{"line":511,"col":5}},"generated_from_span":null},"id":7041,"kind":"Return","comments_before":[]}]},"comments":[[508,["We would like to check that the point (X/Z, Y/Z) is equal to","the point (X'/Z', Y'/Z') without converting into affine","coordinates (x, y) and (x', y'), which requires two inversions.","We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to","(xZ)Z' = (x'Z')Z, and similarly for the y-coordinate."]]]}}},{"def_id":92,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}},{"Ident":["eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":515,"col":4},"end":{"line":517,"col":5}},"generated_from_span":null},"source_text":"fn eq(&self, other: &EdwardsPoint) -> bool {\n self.ct_eq(other).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":10525}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":68,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":515,"col":4},"end":{"line":517,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":515,"col":42},"end":{"line":515,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":515,"col":10},"end":{"line":515,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":515,"col":17},"end":{"line":515,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[4454,{"Ref":[{"Body":3},{"Deduplicated":1955},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":516,"col":19},"end":{"line":516,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":517,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":25}},"generated_from_span":null},"id":7042,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":12}},"generated_from_span":null},"id":7043,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":12}},"generated_from_span":null},"id":7044,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":19},"end":{"line":516,"col":24}},"generated_from_span":null},"id":7045,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":19},"end":{"line":516,"col":24}},"generated_from_span":null},"id":7046,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":25}},"generated_from_span":null},"id":7047,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":91}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":24},"end":{"line":516,"col":25}},"generated_from_span":null},"id":7048,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":24},"end":{"line":516,"col":25}},"generated_from_span":null},"id":7049,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":8},"end":{"line":516,"col":32}},"generated_from_span":null},"id":7050,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":516,"col":31},"end":{"line":516,"col":32}},"generated_from_span":null},"id":7051,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":517,"col":5},"end":{"line":517,"col":5}},"generated_from_span":null},"id":7052,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":93,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective_niels",0]}],"span":{"data":{"file_id":7,"beg":{"line":528,"col":4},"end":{"line":535,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn as_projective_niels(&self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: &self.Y + &self.X,\n Y_minus_X: &self.Y - &self.X,\n Z: self.Z,\n T2d: &self.T * &constants::EDWARDS_D2,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert to a ProjectiveNielsPoint"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1865}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":528,"col":4},"end":{"line":535,"col":5}},"generated_from_span":null},"bound_body_regions":21,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":528,"col":48},"end":{"line":528,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":528,"col":38},"end":{"line":528,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":532,"col":15},"end":{"line":532,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":533,"col":28},"end":{"line":533,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":531,"col":40}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7053,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7054,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":29}},"generated_from_span":null},"id":7055,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":29}},"generated_from_span":null},"id":7056,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7057,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7058,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7059,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":32},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7060,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":22},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7061,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":13},{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":38},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7062,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":530,"col":38},"end":{"line":530,"col":39}},"generated_from_span":null},"id":7063,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7064,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":30}},"generated_from_span":null},"id":7065,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":30}},"generated_from_span":null},"id":7066,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7067,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7068,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7069,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":33},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7070,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":23},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7071,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7072,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7073,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":28},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7074,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":28},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7075,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":86,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7076,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7077,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2898}},{"Use":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2901}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":39},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7078,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":531,"col":39},"end":{"line":531,"col":40}},"generated_from_span":null},"id":7079,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":532,"col":15},"end":{"line":532,"col":21}},"generated_from_span":null},"id":7080,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":532,"col":15},"end":{"line":532,"col":21}},"generated_from_span":null},"id":7081,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7082,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":24}},"generated_from_span":null},"id":7083,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":24}},"generated_from_span":null},"id":7084,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7085,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7086,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7087,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Use":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2898}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7088,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":27},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7089,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":17},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7090,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":18},{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":48},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7091,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":533,"col":48},"end":{"line":533,"col":49}},"generated_from_span":null},"id":7092,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":529,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7093,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1865}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7094,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7095,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7096,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7097,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7098,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7099,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":534,"col":8},"end":{"line":534,"col":9}},"generated_from_span":null},"id":7100,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":535,"col":5},"end":{"line":535,"col":5}},"generated_from_span":null},"id":7101,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":94,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_projective",0]}],"span":{"data":{"file_id":7,"beg":{"line":541,"col":4},"end":{"line":547,"col":5}},"generated_from_span":null},"source_text":"pub(crate) const fn as_projective(&self) -> ProjectivePoint {\n ProjectivePoint {\n X: self.X,\n Y: self.Y,\n Z: self.Z,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert the representation of this point from extended"},{"DocComment":" coordinates to projective coordinates."},{"DocComment":""},{"DocComment":" Free."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1819}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":541,"col":4},"end":{"line":547,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":541,"col":48},"end":{"line":541,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":541,"col":38},"end":{"line":541,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":543,"col":15},"end":{"line":543,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":544,"col":15},"end":{"line":544,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":545,"col":15},"end":{"line":545,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":542,"col":8},"end":{"line":547,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":543,"col":15},"end":{"line":543,"col":21}},"generated_from_span":null},"id":7102,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":543,"col":15},"end":{"line":543,"col":21}},"generated_from_span":null},"id":7103,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":544,"col":15},"end":{"line":544,"col":21}},"generated_from_span":null},"id":7104,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":544,"col":15},"end":{"line":544,"col":21}},"generated_from_span":null},"id":7105,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":545,"col":15},"end":{"line":545,"col":21}},"generated_from_span":null},"id":7106,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":545,"col":15},"end":{"line":545,"col":21}},"generated_from_span":null},"id":7107,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":542,"col":8},"end":{"line":546,"col":9}},"generated_from_span":null},"id":7108,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Aggregate":[{"Adt":[{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":546,"col":8},"end":{"line":546,"col":9}},"generated_from_span":null},"id":7109,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":546,"col":8},"end":{"line":546,"col":9}},"generated_from_span":null},"id":7110,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":546,"col":8},"end":{"line":546,"col":9}},"generated_from_span":null},"id":7111,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":547,"col":5},"end":{"line":547,"col":5}},"generated_from_span":null},"id":7112,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":95,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["as_affine_niels",0]}],"span":{"data":{"file_id":7,"beg":{"line":551,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn as_affine_niels(&self) -> AffineNielsPoint {\n let recip = self.Z.invert();\n let x = &self.X * &recip;\n let y = &self.Y * &recip;\n let xy2d = &(&x * &y) * &constants::EDWARDS_D2;\n AffineNielsPoint {\n y_plus_x: &y + &x,\n y_minus_x: &y - &x,\n xy2d,\n }\n }","attr_info":{"attributes":[{"DocComment":" Dehomogenize to a `AffineNielsPoint`."},{"DocComment":" Mainly for testing."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1842}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":551,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"bound_body_regions":39,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":551,"col":44},"end":{"line":551,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1842}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":551,"col":34},"end":{"line":551,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"recip","span":{"data":{"file_id":7,"beg":{"line":552,"col":12},"end":{"line":552,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":552,"col":20},"end":{"line":552,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":"x","span":{"data":{"file_id":7,"beg":{"line":553,"col":12},"end":{"line":553,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":553,"col":16},"end":{"line":553,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":"y","span":{"data":{"file_id":7,"beg":{"line":554,"col":12},"end":{"line":554,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":554,"col":16},"end":{"line":554,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":"xy2d","span":{"data":{"file_id":7,"beg":{"line":555,"col":12},"end":{"line":555,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":19},"end":{"line":555,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":20},"end":{"line":555,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":21},"end":{"line":555,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2894}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2895}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2896}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2897}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2898}},{"index":23,"name":null,"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2899}},{"index":24,"name":null,"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":25,"name":null,"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2900}},{"index":26,"name":null,"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":27,"name":null,"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":28,"name":null,"span":{"data":{"file_id":7,"beg":{"line":559,"col":12},"end":{"line":559,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":29,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2903}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2912}},{"index":31,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":32,"name":null,"span":{"data":{"file_id":7,"beg":{"line":555,"col":33},"end":{"line":555,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":552,"col":12},"end":{"line":555,"col":29}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":552,"col":12},"end":{"line":552,"col":17}},"generated_from_span":null},"id":7113,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":12},"end":{"line":552,"col":17}},"generated_from_span":null},"id":7114,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":20},"end":{"line":552,"col":26}},"generated_from_span":null},"id":7115,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":20},"end":{"line":552,"col":26}},"generated_from_span":null},"id":7116,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":20},"end":{"line":552,"col":35}},"generated_from_span":null},"id":7117,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":552,"col":34},"end":{"line":552,"col":35}},"generated_from_span":null},"id":7118,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":12},"end":{"line":553,"col":13}},"generated_from_span":null},"id":7119,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":16},"end":{"line":553,"col":23}},"generated_from_span":null},"id":7120,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":16},"end":{"line":553,"col":23}},"generated_from_span":null},"id":7121,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7122,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7123,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7124,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":26},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7125,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":16},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7126,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":25},{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":31},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7127,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":31},"end":{"line":553,"col":32}},"generated_from_span":null},"id":7128,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":553,"col":32},"end":{"line":553,"col":33}},"generated_from_span":null},"id":7129,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":12},"end":{"line":554,"col":13}},"generated_from_span":null},"id":7130,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":16},"end":{"line":554,"col":23}},"generated_from_span":null},"id":7131,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":16},"end":{"line":554,"col":23}},"generated_from_span":null},"id":7132,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7133,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7134,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7135,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":26},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7136,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":16},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7137,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":27},{"Body":28}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":31},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7138,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":31},"end":{"line":554,"col":32}},"generated_from_span":null},"id":7139,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":554,"col":32},"end":{"line":554,"col":33}},"generated_from_span":null},"id":7140,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":12},"end":{"line":555,"col":16}},"generated_from_span":null},"id":7141,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":19},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7142,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":20},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7143,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":21},"end":{"line":555,"col":23}},"generated_from_span":null},"id":7144,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":21},"end":{"line":555,"col":23}},"generated_from_span":null},"id":7145,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"id":7146,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"id":7147,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"id":7148,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2894}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":26},"end":{"line":555,"col":28}},"generated_from_span":null},"id":7149,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2894}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":20},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7150,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":29},{"Body":30}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2892}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7151,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7152,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":33},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7153,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":33},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7154,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Global":{"id":86,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7155,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Local":32},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7156,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":2912}},{"Use":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":2919}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":28},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7157,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":28},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7158,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":19},"end":{"line":555,"col":29}},"generated_from_span":null},"id":7159,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7160,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7161,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7162,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2903}},{"Use":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":2912}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7163,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":2903}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":32},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7164,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":2895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":2896}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":19},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7165,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":2895}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":53},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7166,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":53},"end":{"line":555,"col":54}},"generated_from_span":null},"id":7167,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":54},"end":{"line":555,"col":55}},"generated_from_span":null},"id":7168,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":54},"end":{"line":555,"col":55}},"generated_from_span":null},"id":7169,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":555,"col":54},"end":{"line":555,"col":55}},"generated_from_span":null},"id":7170,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7171,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":24}},"generated_from_span":null},"id":7172,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":24}},"generated_from_span":null},"id":7173,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":2897}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7174,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7175,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7176,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2899}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":27},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7177,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2898}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":23},"ty":{"Deduplicated":2899}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":22},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7178,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":34},{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":2897}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":2898}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":28},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7179,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":557,"col":28},"end":{"line":557,"col":29}},"generated_from_span":null},"id":7180,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7181,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":25}},"generated_from_span":null},"id":7182,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":25}},"generated_from_span":null},"id":7183,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2900}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7184,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7185,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7186,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":28},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7187,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":27},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":23},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7188,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":36},{"Body":37}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":2900}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2901}}}],"dest":{"kind":{"Local":24},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":29},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7189,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":558,"col":29},"end":{"line":558,"col":30}},"generated_from_span":null},"id":7190,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":559,"col":12},"end":{"line":559,"col":16}},"generated_from_span":null},"id":7191,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":559,"col":12},"end":{"line":559,"col":16}},"generated_from_span":null},"id":7192,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":556,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7193,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1842}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7194,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7195,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7196,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7197,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":560,"col":8},"end":{"line":560,"col":9}},"generated_from_span":null},"id":7198,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7199,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7200,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7201,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":4},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7202,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":561,"col":5},"end":{"line":561,"col":5}},"generated_from_span":null},"id":7203,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":96,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["to_affine",0]}],"span":{"data":{"file_id":7,"beg":{"line":564,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn to_affine(self) -> AffinePoint {\n let recip = self.Z.invert();\n let x = &self.X * &recip;\n let y = &self.Y * &recip;\n AffinePoint { x, y }\n }","attr_info":{"attributes":[{"DocComment":" Dehomogenize to `AffinePoint`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955}],"output":{"Deduplicated":4121}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":564,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"bound_body_regions":14,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":564,"col":37},"end":{"line":564,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":564,"col":28},"end":{"line":564,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"recip","span":{"data":{"file_id":7,"beg":{"line":565,"col":12},"end":{"line":565,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":565,"col":20},"end":{"line":565,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":4,"name":"x","span":{"data":{"file_id":7,"beg":{"line":566,"col":12},"end":{"line":566,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":566,"col":16},"end":{"line":566,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":8,"name":"y","span":{"data":{"file_id":7,"beg":{"line":567,"col":12},"end":{"line":567,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":567,"col":16},"end":{"line":567,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":568,"col":22},"end":{"line":568,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":568,"col":25},"end":{"line":568,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":565,"col":12},"end":{"line":569,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":565,"col":12},"end":{"line":565,"col":17}},"generated_from_span":null},"id":7204,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":565,"col":20},"end":{"line":565,"col":26}},"generated_from_span":null},"id":7205,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":565,"col":20},"end":{"line":565,"col":26}},"generated_from_span":null},"id":7206,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2793}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":565,"col":20},"end":{"line":565,"col":35}},"generated_from_span":null},"id":7207,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":9}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2793}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":565,"col":34},"end":{"line":565,"col":35}},"generated_from_span":null},"id":7208,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":12},"end":{"line":566,"col":13}},"generated_from_span":null},"id":7209,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":16},"end":{"line":566,"col":23}},"generated_from_span":null},"id":7210,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":16},"end":{"line":566,"col":23}},"generated_from_span":null},"id":7211,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7212,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7213,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7214,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":26},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7215,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2796}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":16},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7216,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":10},{"Body":11}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2794}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":31},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7217,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":31},"end":{"line":566,"col":32}},"generated_from_span":null},"id":7218,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":566,"col":32},"end":{"line":566,"col":33}},"generated_from_span":null},"id":7219,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":12},"end":{"line":567,"col":13}},"generated_from_span":null},"id":7220,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":16},"end":{"line":567,"col":23}},"generated_from_span":null},"id":7221,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":16},"end":{"line":567,"col":23}},"generated_from_span":null},"id":7222,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7223,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7224,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7225,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":26},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7226,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":16},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7227,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2886}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2887}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":31},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7228,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":31},"end":{"line":567,"col":32}},"generated_from_span":null},"id":7229,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":567,"col":32},"end":{"line":567,"col":33}},"generated_from_span":null},"id":7230,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":22},"end":{"line":568,"col":23}},"generated_from_span":null},"id":7231,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":22},"end":{"line":568,"col":23}},"generated_from_span":null},"id":7232,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":25},"end":{"line":568,"col":26}},"generated_from_span":null},"id":7233,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":25},"end":{"line":568,"col":26}},"generated_from_span":null},"id":7234,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":8},"end":{"line":568,"col":28}},"generated_from_span":null},"id":7235,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4121}},{"Aggregate":[{"Adt":[{"id":{"Adt":10},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":27},"end":{"line":568,"col":28}},"generated_from_span":null},"id":7236,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":568,"col":27},"end":{"line":568,"col":28}},"generated_from_span":null},"id":7237,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":569,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"id":7238,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":569,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"id":7239,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":569,"col":4},"end":{"line":569,"col":5}},"generated_from_span":null},"id":7240,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":569,"col":5},"end":{"line":569,"col":5}},"generated_from_span":null},"id":7241,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":97,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["to_montgomery",0]}],"span":{"data":{"file_id":7,"beg":{"line":580,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"source_text":"pub fn to_montgomery(&self) -> MontgomeryPoint {\n // We have u = (1+y)/(1-y) = (Z+Y)/(Z-Y).\n //\n // The denominator is zero only when y=1, the identity point of\n // the Edwards curve. Since 0.invert() = 0, in this case we\n // compute the 2-torsion point (0,0).\n let U = &self.Z + &self.Y;\n let W = &self.Z - &self.Y;\n let u = &U * &W.invert();\n MontgomeryPoint(u.to_bytes())\n }","attr_info":{"attributes":[{"DocComment":" Convert this `EdwardsPoint` on the Edwards model to the"},{"DocComment":" corresponding `MontgomeryPoint` on the Montgomery model."},{"DocComment":""},{"DocComment":" This function has one exceptional case; the identity point of"},{"DocComment":" the Edwards curve is sent to the 2-torsion point \\\\((0,0)\\\\)"},{"DocComment":" on the Montgomery curve."},{"DocComment":""},{"DocComment":" Note that this is a one-way conversion, since the Montgomery"},{"DocComment":" model does not retain sign information."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"HashConsedValue":[4514,{"Adt":{"id":{"Adt":32},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":580,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"bound_body_regions":21,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":580,"col":35},"end":{"line":580,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":4514}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":580,"col":25},"end":{"line":580,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"U","span":{"data":{"file_id":7,"beg":{"line":586,"col":12},"end":{"line":586,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":586,"col":16},"end":{"line":586,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":"W","span":{"data":{"file_id":7,"beg":{"line":587,"col":12},"end":{"line":587,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":587,"col":16},"end":{"line":587,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":"u","span":{"data":{"file_id":7,"beg":{"line":588,"col":12},"end":{"line":588,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":16},"end":{"line":588,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":14,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2893}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1391}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":586,"col":12},"end":{"line":590,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":586,"col":12},"end":{"line":586,"col":13}},"generated_from_span":null},"id":7242,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":16},"end":{"line":586,"col":23}},"generated_from_span":null},"id":7243,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":16},"end":{"line":586,"col":23}},"generated_from_span":null},"id":7244,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["We have u = (1+y)/(1-y) = (Z+Y)/(Z-Y).","","The denominator is zero only when y=1, the identity point of","the Edwards curve. Since 0.invert() = 0, in this case we","compute the 2-torsion point (0,0)."]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7245,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7246,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7247,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":26},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7248,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":16},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7249,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":22}},"generics":{"regions":[{"Body":13},{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":32},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7250,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":32},"end":{"line":586,"col":33}},"generated_from_span":null},"id":7251,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":586,"col":33},"end":{"line":586,"col":34}},"generated_from_span":null},"id":7252,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":12},"end":{"line":587,"col":13}},"generated_from_span":null},"id":7253,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":16},"end":{"line":587,"col":23}},"generated_from_span":null},"id":7254,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":16},"end":{"line":587,"col":23}},"generated_from_span":null},"id":7255,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7256,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7257,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7258,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":26},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7259,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":16},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7260,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":24}},"generics":{"regions":[{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":32},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7261,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":32},"end":{"line":587,"col":33}},"generated_from_span":null},"id":7262,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":587,"col":33},"end":{"line":587,"col":34}},"generated_from_span":null},"id":7263,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":12},"end":{"line":588,"col":13}},"generated_from_span":null},"id":7264,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":16},"end":{"line":588,"col":18}},"generated_from_span":null},"id":7265,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":16},"end":{"line":588,"col":18}},"generated_from_span":null},"id":7266,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7267,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7268,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7269,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":23}},"generated_from_span":null},"id":7270,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":23}},"generated_from_span":null},"id":7271,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2893}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":22},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7272,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2893}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":31},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7273,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7274,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":21},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7275,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":16},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7276,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":19},{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2890}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2891}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":31},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7277,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":31},"end":{"line":588,"col":32}},"generated_from_span":null},"id":7278,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":32},"end":{"line":588,"col":33}},"generated_from_span":null},"id":7279,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":588,"col":32},"end":{"line":588,"col":33}},"generated_from_span":null},"id":7280,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":36}},"generated_from_span":null},"id":7281,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":25}},"generated_from_span":null},"id":7282,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":25}},"generated_from_span":null},"id":7283,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":24},"end":{"line":589,"col":36}},"generated_from_span":null},"id":7284,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":35},"end":{"line":589,"col":36}},"generated_from_span":null},"id":7285,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":8},"end":{"line":589,"col":37}},"generated_from_span":null},"id":7286,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4514}},{"Aggregate":[{"Adt":[{"id":{"Adt":32},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":589,"col":36},"end":{"line":589,"col":37}},"generated_from_span":null},"id":7287,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":590,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"id":7288,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":590,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"id":7289,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":590,"col":4},"end":{"line":590,"col":5}},"generated_from_span":null},"id":7290,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":590,"col":5},"end":{"line":590,"col":5}},"generated_from_span":null},"id":7291,"kind":"Return","comments_before":[]}]},"comments":[[586,["We have u = (1+y)/(1-y) = (Z+Y)/(Z-Y).","","The denominator is zero only when y=1, the identity point of","the Edwards curve. Since 0.invert() = 0, in this case we","compute the 2-torsion point (0,0)."]]]}}},{"def_id":98,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["compress",0]}],"span":{"data":{"file_id":7,"beg":{"line":615,"col":4},"end":{"line":617,"col":5}},"generated_from_span":null},"source_text":"pub fn compress(&self) -> CompressedEdwardsY {\n self.to_affine().compress()\n }","attr_info":{"attributes":[{"DocComment":" Compress this point to `CompressedEdwardsY` format."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":2116}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":615,"col":4},"end":{"line":617,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":615,"col":30},"end":{"line":615,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2116}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":615,"col":20},"end":{"line":615,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":617,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":24}},"generated_from_span":null},"id":7292,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":12}},"generated_from_span":null},"id":7293,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":12}},"generated_from_span":null},"id":7294,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":24}},"generated_from_span":null},"id":7295,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":96}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":4121}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":23},"end":{"line":616,"col":24}},"generated_from_span":null},"id":7296,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":8},"end":{"line":616,"col":35}},"generated_from_span":null},"id":7297,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":173}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4121}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":2116}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":616,"col":34},"end":{"line":616,"col":35}},"generated_from_span":null},"id":7298,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":617,"col":5},"end":{"line":617,"col":5}},"generated_from_span":null},"id":7299,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":99,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["double",0]}],"span":{"data":{"file_id":7,"beg":{"line":774,"col":4},"end":{"line":776,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn double(&self) -> EdwardsPoint {\n self.as_projective().double().as_extended()\n }","attr_info":{"attributes":[{"DocComment":" Add this point to itself."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":774,"col":4},"end":{"line":776,"col":5}},"generated_from_span":null},"bound_body_regions":13,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":774,"col":35},"end":{"line":774,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":774,"col":25},"end":{"line":774,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[4516,{"Ref":[{"Body":3},{"Deduplicated":1831},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[4518,{"Ref":[{"Body":5},{"Deduplicated":1819},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[4519,{"Ref":[{"Body":6},{"Deduplicated":1955},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":776,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7300,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7301,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7302,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7303,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":12}},"generated_from_span":null},"id":7304,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":12}},"generated_from_span":null},"id":7305,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7306,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":94}},"generics":{"regions":[{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7307,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4518}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":27},"end":{"line":775,"col":28}},"generated_from_span":null},"id":7308,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7309,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":61}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4518}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7310,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":4516}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":36},"end":{"line":775,"col":37}},"generated_from_span":null},"id":7311,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":8},"end":{"line":775,"col":51}},"generated_from_span":null},"id":7312,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4516}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":50},"end":{"line":775,"col":51}},"generated_from_span":null},"id":7313,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":50},"end":{"line":775,"col":51}},"generated_from_span":null},"id":7314,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":775,"col":50},"end":{"line":775,"col":51}},"generated_from_span":null},"id":7315,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":776,"col":5},"end":{"line":776,"col":5}},"generated_from_span":null},"id":7316,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":100,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}},{"Ident":["add",0]}],"span":{"data":{"file_id":7,"beg":{"line":785,"col":4},"end":{"line":787,"col":5}},"generated_from_span":null},"source_text":"fn add(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self + &other.as_projective_niels()).as_extended()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10525},{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":70,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":785,"col":4},"end":{"line":787,"col":5}},"generated_from_span":null},"bound_body_regions":15,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":785,"col":45},"end":{"line":785,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":785,"col":11},"end":{"line":785,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":785,"col":17},"end":{"line":785,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"ty":{"HashConsedValue":[4520,{"Ref":[{"Body":4},{"Deduplicated":1831},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":9},"end":{"line":786,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[4521,{"Ref":[{"Body":5},{"Deduplicated":1955},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":16},"end":{"line":786,"col":44}},"generated_from_span":null},"ty":{"HashConsedValue":[4523,{"Ref":[{"Body":7},{"Deduplicated":1865},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[4524,{"Ref":[{"Body":8},{"Deduplicated":1955},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":787,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7317,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7318,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":9},"end":{"line":786,"col":13}},"generated_from_span":null},"id":7319,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":9},"end":{"line":786,"col":13}},"generated_from_span":null},"id":7320,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4521}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":16},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7321,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7322,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":22}},"generated_from_span":null},"id":7323,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":22}},"generated_from_span":null},"id":7324,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4524}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":17},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7325,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":93}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4524}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":43},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7326,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":16},"end":{"line":786,"col":44}},"generated_from_span":null},"id":7327,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4523}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1865}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7328,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":62}},"generics":{"regions":[{"Body":11},{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4521}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4523}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7329,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4520}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":44},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7330,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":44},"end":{"line":786,"col":45}},"generated_from_span":null},"id":7331,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":8},"end":{"line":786,"col":59}},"generated_from_span":null},"id":7332,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4520}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":58},"end":{"line":786,"col":59}},"generated_from_span":null},"id":7333,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":58},"end":{"line":786,"col":59}},"generated_from_span":null},"id":7334,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":786,"col":58},"end":{"line":786,"col":59}},"generated_from_span":null},"id":7335,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":787,"col":5},"end":{"line":787,"col":5}},"generated_from_span":null},"id":7336,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":101,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}},{"Ident":["add",0]}],"span":{"data":{"file_id":8,"beg":{"line":19,"col":12},"end":{"line":21,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":71,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":19,"col":12},"end":{"line":21,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":793,"col":13},"end":{"line":793,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":19,"col":19},"end":{"line":19,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":19,"col":25},"end":{"line":19,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":20,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":20,"col":24},"end":{"line":20,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":21,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":20,"col":21}},"generated_from_span":null},"id":7337,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":20,"col":21}},"generated_from_span":null},"id":7338,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":24},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7339,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":24},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7340,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":16},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7341,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":100}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":26},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7342,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":20,"col":26},"end":{"line":20,"col":27}},"generated_from_span":null},"id":7343,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":21,"col":13},"end":{"line":21,"col":13}},"generated_from_span":null},"id":7344,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":102,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}},{"Ident":["add",0]}],"span":{"data":{"file_id":8,"beg":{"line":26,"col":12},"end":{"line":28,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":72,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10534},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":26,"col":12},"end":{"line":28,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":793,"col":13},"end":{"line":793,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":26,"col":19},"end":{"line":26,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":26,"col":25},"end":{"line":26,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":27,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":27,"col":23},"end":{"line":27,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":28,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":27,"col":20}},"generated_from_span":null},"id":7345,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":27,"col":20}},"generated_from_span":null},"id":7346,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":23},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7347,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":23},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7348,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":16},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7349,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":100}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":26},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7350,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":27,"col":26},"end":{"line":27,"col":27}},"generated_from_span":null},"id":7351,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":28,"col":13},"end":{"line":28,"col":13}},"generated_from_span":null},"id":7352,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":103,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}},{"Ident":["add",0]}],"span":{"data":{"file_id":8,"beg":{"line":33,"col":12},"end":{"line":35,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":73,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":33,"col":12},"end":{"line":35,"col":13}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":793,"col":13},"end":{"line":793,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":33,"col":19},"end":{"line":33,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":33,"col":25},"end":{"line":33,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":34,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":34,"col":24},"end":{"line":34,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4436}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":35,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":34,"col":21}},"generated_from_span":null},"id":7353,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":34,"col":21}},"generated_from_span":null},"id":7354,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3931}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":24},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7355,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":24},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7356,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":16},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7357,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":100}},"generics":{"regions":[{"Body":3},{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3931}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":27},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7358,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":34,"col":27},"end":{"line":34,"col":28}},"generated_from_span":null},"id":7359,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":35,"col":13},"end":{"line":35,"col":13}},"generated_from_span":null},"id":7360,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":104,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}},{"Ident":["add_assign",0]}],"span":{"data":{"file_id":7,"beg":{"line":797,"col":4},"end":{"line":799,"col":5}},"generated_from_span":null},"source_text":"fn add_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) + _rhs;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10679,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1955},"Mut"]}]},{"Deduplicated":10534}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":74,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10534}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":797,"col":4},"end":{"line":799,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":797,"col":52},"end":{"line":797,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":797,"col":18},"end":{"line":797,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[4529,{"Ref":[{"Body":1},{"Deduplicated":1955},"Mut"]}]}},{"index":2,"name":"_rhs","span":{"data":{"file_id":7,"beg":{"line":797,"col":29},"end":{"line":797,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":798,"col":42},"end":{"line":798,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":4519}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7361,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7362,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"id":7363,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"id":7364,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":17},"end":{"line":798,"col":21}},"generated_from_span":null},"id":7365,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4521}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":39}},"generated_from_span":null},"id":7366,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":4521}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":42},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7367,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":42},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7368,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":16},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7369,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":100}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":45},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7370,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":45},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7371,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":8},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7372,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":45},"end":{"line":798,"col":46}},"generated_from_span":null},"id":7373,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":798,"col":46},"end":{"line":798,"col":47}},"generated_from_span":null},"id":7374,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":797,"col":53},"end":{"line":799,"col":5}},"generated_from_span":null},"id":7375,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":799,"col":5},"end":{"line":799,"col":5}},"generated_from_span":null},"id":7376,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":105,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}},{"Ident":["add_assign",0]}],"span":{"data":{"file_id":8,"beg":{"line":44,"col":12},"end":{"line":46,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10680,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1955},"Mut"]}]},{"Deduplicated":1955}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":75,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":44,"col":12},"end":{"line":46,"col":13}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":8,"beg":{"line":44,"col":47},"end":{"line":44,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":44,"col":26},"end":{"line":44,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":44,"col":37},"end":{"line":44,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[4530,{"Ref":[{"Body":2},{"Deduplicated":1955},"Mut"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":8,"beg":{"line":45,"col":25},"end":{"line":45,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7377,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7378,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":21}},"generated_from_span":null},"id":7379,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":21}},"generated_from_span":null},"id":7380,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4530}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":25},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7381,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":25},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7382,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":16},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7383,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":104}},"generics":{"regions":[{"Body":5},{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4530}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":28},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7384,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":28},"end":{"line":45,"col":29}},"generated_from_span":null},"id":7385,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":45,"col":29},"end":{"line":45,"col":30}},"generated_from_span":null},"id":7386,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":44,"col":48},"end":{"line":46,"col":13}},"generated_from_span":null},"id":7387,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":46,"col":13},"end":{"line":46,"col":13}},"generated_from_span":null},"id":7388,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":106,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}},{"Ident":["sub",0]}],"span":{"data":{"file_id":7,"beg":{"line":806,"col":4},"end":{"line":808,"col":5}},"generated_from_span":null},"source_text":"fn sub(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self - &other.as_projective_niels()).as_extended()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10525},{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":76,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":806,"col":4},"end":{"line":808,"col":5}},"generated_from_span":null},"bound_body_regions":15,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":806,"col":45},"end":{"line":806,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":806,"col":11},"end":{"line":806,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"other","span":{"data":{"file_id":7,"beg":{"line":806,"col":17},"end":{"line":806,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":4520}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":9},"end":{"line":807,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":16},"end":{"line":807,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4523}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4524}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":808,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7389,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7390,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":9},"end":{"line":807,"col":13}},"generated_from_span":null},"id":7391,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":9},"end":{"line":807,"col":13}},"generated_from_span":null},"id":7392,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4521}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":16},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7393,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7394,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":22}},"generated_from_span":null},"id":7395,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":22}},"generated_from_span":null},"id":7396,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4524}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":17},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7397,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":93}},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4524}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":43},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7398,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":16},"end":{"line":807,"col":44}},"generated_from_span":null},"id":7399,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4523}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1865}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7400,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":63}},"generics":{"regions":[{"Body":11},{"Body":12}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4521}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4523}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7401,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4520}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":44},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7402,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":44},"end":{"line":807,"col":45}},"generated_from_span":null},"id":7403,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":8},"end":{"line":807,"col":59}},"generated_from_span":null},"id":7404,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4520}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":58},"end":{"line":807,"col":59}},"generated_from_span":null},"id":7405,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":58},"end":{"line":807,"col":59}},"generated_from_span":null},"id":7406,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":807,"col":58},"end":{"line":807,"col":59}},"generated_from_span":null},"id":7407,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":808,"col":5},"end":{"line":808,"col":5}},"generated_from_span":null},"id":7408,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":107,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}},{"Ident":["sub",0]}],"span":{"data":{"file_id":8,"beg":{"line":56,"col":12},"end":{"line":58,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":77,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":56,"col":12},"end":{"line":58,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":814,"col":13},"end":{"line":814,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":56,"col":19},"end":{"line":56,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":56,"col":25},"end":{"line":56,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":57,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":57,"col":24},"end":{"line":57,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":58,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":57,"col":21}},"generated_from_span":null},"id":7409,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":57,"col":21}},"generated_from_span":null},"id":7410,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":24},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7411,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":24},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7412,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":16},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7413,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":106}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":26},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7414,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":57,"col":26},"end":{"line":57,"col":27}},"generated_from_span":null},"id":7415,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":58,"col":13},"end":{"line":58,"col":13}},"generated_from_span":null},"id":7416,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":108,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}},{"Ident":["sub",0]}],"span":{"data":{"file_id":8,"beg":{"line":63,"col":12},"end":{"line":65,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":78,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10534},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":63,"col":12},"end":{"line":65,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":814,"col":13},"end":{"line":814,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":63,"col":19},"end":{"line":63,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":63,"col":25},"end":{"line":63,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":64,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":64,"col":23},"end":{"line":64,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":65,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":64,"col":20}},"generated_from_span":null},"id":7417,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":64,"col":20}},"generated_from_span":null},"id":7418,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":23},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7419,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":23},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7420,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":16},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7421,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":106}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":26},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7422,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":64,"col":26},"end":{"line":64,"col":27}},"generated_from_span":null},"id":7423,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":65,"col":13},"end":{"line":65,"col":13}},"generated_from_span":null},"id":7424,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":109,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}},{"Ident":["sub",0]}],"span":{"data":{"file_id":8,"beg":{"line":70,"col":12},"end":{"line":72,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":79,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":70,"col":12},"end":{"line":72,"col":13}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":814,"col":13},"end":{"line":814,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":70,"col":19},"end":{"line":70,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":70,"col":25},"end":{"line":70,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":71,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":71,"col":24},"end":{"line":71,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4436}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":72,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":71,"col":21}},"generated_from_span":null},"id":7425,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":71,"col":21}},"generated_from_span":null},"id":7426,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3931}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":24},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7427,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":24},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7428,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":16},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7429,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":106}},"generics":{"regions":[{"Body":3},{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3931}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":27},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7430,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":71,"col":27},"end":{"line":71,"col":28}},"generated_from_span":null},"id":7431,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":72,"col":13},"end":{"line":72,"col":13}},"generated_from_span":null},"id":7432,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":110,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}},{"Ident":["sub_assign",0]}],"span":{"data":{"file_id":7,"beg":{"line":818,"col":4},"end":{"line":820,"col":5}},"generated_from_span":null},"source_text":"fn sub_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) - _rhs;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10679},{"Deduplicated":10534}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":80,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10534}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":818,"col":4},"end":{"line":820,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":818,"col":52},"end":{"line":818,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":818,"col":18},"end":{"line":818,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"_rhs","span":{"data":{"file_id":7,"beg":{"line":818,"col":29},"end":{"line":818,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":819,"col":42},"end":{"line":819,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":4519}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7433,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7434,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"id":7435,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"id":7436,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":17},"end":{"line":819,"col":21}},"generated_from_span":null},"id":7437,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4521}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":39}},"generated_from_span":null},"id":7438,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":4521}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":42},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7439,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":42},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7440,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":16},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7441,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":106}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":45},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7442,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":45},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7443,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":8},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7444,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":45},"end":{"line":819,"col":46}},"generated_from_span":null},"id":7445,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":819,"col":46},"end":{"line":819,"col":47}},"generated_from_span":null},"id":7446,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":818,"col":53},"end":{"line":820,"col":5}},"generated_from_span":null},"id":7447,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":820,"col":5},"end":{"line":820,"col":5}},"generated_from_span":null},"id":7448,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":111,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}},{"Ident":["sub_assign",0]}],"span":{"data":{"file_id":8,"beg":{"line":81,"col":12},"end":{"line":83,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10680},{"Deduplicated":1955}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":81,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":81,"col":12},"end":{"line":83,"col":13}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":8,"beg":{"line":81,"col":47},"end":{"line":81,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":81,"col":26},"end":{"line":81,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":81,"col":37},"end":{"line":81,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4530}},{"index":5,"name":null,"span":{"data":{"file_id":8,"beg":{"line":82,"col":25},"end":{"line":82,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7449,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7450,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":21}},"generated_from_span":null},"id":7451,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":21}},"generated_from_span":null},"id":7452,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4530}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":25},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7453,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":25},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7454,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":16},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7455,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":110}},"generics":{"regions":[{"Body":5},{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4530}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":28},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7456,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":28},"end":{"line":82,"col":29}},"generated_from_span":null},"id":7457,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":82,"col":29},"end":{"line":82,"col":30}},"generated_from_span":null},"id":7458,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":81,"col":48},"end":{"line":83,"col":13}},"generated_from_span":null},"id":7459,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":83,"col":13},"end":{"line":83,"col":13}},"generated_from_span":null},"id":7460,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":112,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":82}},{"Ident":["sum",0]}],"span":{"data":{"file_id":7,"beg":{"line":829,"col":4},"end":{"line":834,"col":5}},"generated_from_span":null},"source_text":"fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(EdwardsPoint::identity(), |acc, item| acc + item.borrow())\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":827,"col":7},"end":{"line":827,"col":27}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":7,"beg":{"line":831,"col":11},"end":{"line":831,"col":29}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10512}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":82,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10535,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":113,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}},{"Ident":["neg",0]}],"span":{"data":{"file_id":7,"beg":{"line":844,"col":4},"end":{"line":851,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> EdwardsPoint {\n EdwardsPoint {\n X: -(&self.X),\n Y: self.Y,\n Z: self.Z,\n T: -(&self.T),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":83,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":844,"col":4},"end":{"line":851,"col":5}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":844,"col":20},"end":{"line":844,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":844,"col":11},"end":{"line":844,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":846,"col":15},"end":{"line":846,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":846,"col":16},"end":{"line":846,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":847,"col":15},"end":{"line":847,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":848,"col":15},"end":{"line":848,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":849,"col":15},"end":{"line":849,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":849,"col":16},"end":{"line":849,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":2796}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":845,"col":8},"end":{"line":851,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":846,"col":15},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7461,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":846,"col":16},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7462,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":846,"col":16},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7463,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":846,"col":15},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7464,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":846,"col":24},"end":{"line":846,"col":25}},"generated_from_span":null},"id":7465,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":847,"col":15},"end":{"line":847,"col":21}},"generated_from_span":null},"id":7466,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":847,"col":15},"end":{"line":847,"col":21}},"generated_from_span":null},"id":7467,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":848,"col":15},"end":{"line":848,"col":21}},"generated_from_span":null},"id":7468,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":848,"col":15},"end":{"line":848,"col":21}},"generated_from_span":null},"id":7469,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":15},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7470,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":16},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7471,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":16},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7472,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":15},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7473,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":27}},"generics":{"regions":[{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2796}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":849,"col":24},"end":{"line":849,"col":25}},"generated_from_span":null},"id":7474,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":845,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7475,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":850,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7476,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":850,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7477,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":850,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7478,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":850,"col":8},"end":{"line":850,"col":9}},"generated_from_span":null},"id":7479,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":851,"col":5},"end":{"line":851,"col":5}},"generated_from_span":null},"id":7480,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":114,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}},{"Ident":["neg",0]}],"span":{"data":{"file_id":7,"beg":{"line":857,"col":4},"end":{"line":859,"col":5}},"generated_from_span":null},"source_text":"fn neg(self) -> EdwardsPoint {\n -&self\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":84,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":857,"col":4},"end":{"line":859,"col":5}},"generated_from_span":null},"bound_body_regions":3,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":857,"col":20},"end":{"line":857,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":857,"col":11},"end":{"line":857,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":858,"col":9},"end":{"line":858,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":3931}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":858,"col":9},"end":{"line":859,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":858,"col":9},"end":{"line":858,"col":14}},"generated_from_span":null},"id":7481,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":858,"col":9},"end":{"line":858,"col":14}},"generated_from_span":null},"id":7482,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":3931}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":858,"col":8},"end":{"line":858,"col":14}},"generated_from_span":null},"id":7483,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":113}},"generics":{"regions":[{"Body":2}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":3931}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":858,"col":13},"end":{"line":858,"col":14}},"generated_from_span":null},"id":7484,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":859,"col":5},"end":{"line":859,"col":5}},"generated_from_span":null},"id":7485,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":115,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}},{"Ident":["mul_assign",0]}],"span":{"data":{"file_id":7,"beg":{"line":867,"col":4},"end":{"line":870,"col":5}},"generated_from_span":null},"source_text":"fn mul_assign(&mut self, scalar: &'a Scalar) {\n let result = (self as &EdwardsPoint) * scalar;\n *self = result;\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10679},{"HashConsedValue":[10537,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2689},"Shared"]}]}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":85,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10537}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":867,"col":4},"end":{"line":870,"col":5}},"generated_from_span":null},"bound_body_regions":10,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":867,"col":48},"end":{"line":867,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":867,"col":18},"end":{"line":867,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"scalar","span":{"data":{"file_id":7,"beg":{"line":867,"col":29},"end":{"line":867,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[6592,{"Ref":[{"Body":3},{"Deduplicated":2689},"Shared"]}]}},{"index":3,"name":"result","span":{"data":{"file_id":7,"beg":{"line":868,"col":12},"end":{"line":868,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4519}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":868,"col":47},"end":{"line":868,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[6593,{"Ref":[{"Body":7},{"Deduplicated":2689},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":869,"col":16},"end":{"line":869,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7486,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":12},"end":{"line":868,"col":18}},"generated_from_span":null},"id":7487,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"id":7488,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"id":7489,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":22},"end":{"line":868,"col":26}},"generated_from_span":null},"id":7490,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":44}},"generated_from_span":null},"id":7491,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":4519}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":47},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7492,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":47},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7493,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6593}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":6592}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":21},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7494,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":8},{"Body":9}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4521}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":52},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7495,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":52},"end":{"line":868,"col":53}},"generated_from_span":null},"id":7496,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":868,"col":53},"end":{"line":868,"col":54}},"generated_from_span":null},"id":7497,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":869,"col":16},"end":{"line":869,"col":22}},"generated_from_span":null},"id":7498,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":869,"col":16},"end":{"line":869,"col":22}},"generated_from_span":null},"id":7499,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":869,"col":8},"end":{"line":869,"col":22}},"generated_from_span":null},"id":7500,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":869,"col":21},"end":{"line":869,"col":22}},"generated_from_span":null},"id":7501,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":867,"col":49},"end":{"line":870,"col":5}},"generated_from_span":null},"id":7502,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":870,"col":4},"end":{"line":870,"col":5}},"generated_from_span":null},"id":7503,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":870,"col":5},"end":{"line":870,"col":5}},"generated_from_span":null},"id":7504,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":116,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}},{"Ident":["mul_assign",0]}],"span":{"data":{"file_id":8,"beg":{"line":118,"col":12},"end":{"line":120,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10680},{"Deduplicated":2689}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":86,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":2689}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":118,"col":12},"end":{"line":120,"col":13}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":8,"beg":{"line":118,"col":47},"end":{"line":118,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":118,"col":26},"end":{"line":118,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":4529}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":118,"col":37},"end":{"line":118,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1443}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4530}},{"index":5,"name":null,"span":{"data":{"file_id":8,"beg":{"line":119,"col":25},"end":{"line":119,"col":29}},"generated_from_span":null},"ty":{"HashConsedValue":[6595,{"Ref":[{"Body":4},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":7505,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7506,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":21}},"generated_from_span":null},"id":7507,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":21}},"generated_from_span":null},"id":7508,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4530}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4529}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":25},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7509,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":25},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7510,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6595}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":16},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7511,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":115}},"generics":{"regions":[{"Body":5},{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4530}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6595}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1443}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":28},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7512,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":28},"end":{"line":119,"col":29}},"generated_from_span":null},"id":7513,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":119,"col":29},"end":{"line":119,"col":30}},"generated_from_span":null},"id":7514,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":118,"col":48},"end":{"line":120,"col":13}},"generated_from_span":null},"id":7515,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1443}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":120,"col":13},"end":{"line":120,"col":13}},"generated_from_span":null},"id":7516,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":117,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":93,"col":12},"end":{"line":95,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":10537}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":87,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10537},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":93,"col":12},"end":{"line":95,"col":13}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":875,"col":64},"end":{"line":875,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":93,"col":19},"end":{"line":93,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":93,"col":25},"end":{"line":93,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[6598,{"Ref":[{"Body":1},{"Deduplicated":2689},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":6595}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":95,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"id":7517,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"id":7518,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7519,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7520,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6595}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7521,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":5},{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4454}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6595}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":26},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7522,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":26},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7523,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":95,"col":13},"end":{"line":95,"col":13}},"generated_from_span":null},"id":7524,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":118,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":100,"col":12},"end":{"line":102,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":2689}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":88,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10534},{"Deduplicated":2689},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":100,"col":12},"end":{"line":102,"col":13}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":875,"col":64},"end":{"line":875,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":100,"col":19},"end":{"line":100,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":100,"col":25},"end":{"line":100,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":6595}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":102,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"id":7525,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"id":7526,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4436}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7527,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7528,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6595}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7529,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":5},{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4436}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6595}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":26},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7530,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":26},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7531,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":102,"col":13},"end":{"line":102,"col":13}},"generated_from_span":null},"id":7532,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":119,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":107,"col":12},"end":{"line":109,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":2689}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":89,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":2689},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":107,"col":12},"end":{"line":109,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":875,"col":64},"end":{"line":875,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":107,"col":19},"end":{"line":107,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":107,"col":25},"end":{"line":107,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":6592}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":109,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"id":7533,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"id":7534,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3931}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7535,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7536,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6592}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7537,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3931}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6592}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7538,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7539,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":109,"col":13},"end":{"line":109,"col":13}},"generated_from_span":null},"id":7540,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":120,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":93,"col":12},"end":{"line":95,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2689},{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":90,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":93,"col":12},"end":{"line":95,"col":13}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":876,"col":64},"end":{"line":876,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":93,"col":19},"end":{"line":93,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":93,"col":25},"end":{"line":93,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":6592}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":95,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"id":7541,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":21}},"generated_from_span":null},"id":7542,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":6592}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7543,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":24},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7544,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":16},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7545,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":5},{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":6592}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":26},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7546,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":94,"col":26},"end":{"line":94,"col":27}},"generated_from_span":null},"id":7547,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":95,"col":13},"end":{"line":95,"col":13}},"generated_from_span":null},"id":7548,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":121,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":100,"col":12},"end":{"line":102,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":91,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10537},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":100,"col":12},"end":{"line":102,"col":13}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":876,"col":64},"end":{"line":876,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":100,"col":19},"end":{"line":100,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":100,"col":25},"end":{"line":100,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[6591,{"Ref":[{"Body":2},{"Deduplicated":2689},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":4435}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":102,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"id":7549,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":20}},"generated_from_span":null},"id":7550,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":6591}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7551,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":23},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7552,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":16},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7553,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":5},{"Body":6}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":6591}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":26},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7554,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":101,"col":26},"end":{"line":101,"col":27}},"generated_from_span":null},"id":7555,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":102,"col":13},"end":{"line":102,"col":13}},"generated_from_span":null},"id":7556,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":122,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}},{"Ident":["mul",0]}],"span":{"data":{"file_id":8,"beg":{"line":107,"col":12},"end":{"line":109,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2689},{"Deduplicated":1955}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":92,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":8,"beg":{"line":107,"col":12},"end":{"line":109,"col":13}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":876,"col":64},"end":{"line":876,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":8,"beg":{"line":107,"col":19},"end":{"line":107,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":2,"name":"rhs","span":{"data":{"file_id":8,"beg":{"line":107,"col":25},"end":{"line":107,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":3,"name":null,"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":4,"name":null,"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":109,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"id":7557,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":21}},"generated_from_span":null},"id":7558,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":6598}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7559,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":24},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7560,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":16},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7561,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":6598}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7562,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"id":7563,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":8,"beg":{"line":109,"col":13},"end":{"line":109,"col":13}},"generated_from_span":null},"id":7564,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":123,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}},{"Ident":["mul",0]}],"span":{"data":{"file_id":7,"beg":{"line":884,"col":4},"end":{"line":886,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, scalar: &'a Scalar) -> EdwardsPoint {\n crate::backend::variable_base_mul(self, scalar)\n }","attr_info":{"attributes":[{"DocComment":" Scalar multiplication: compute `scalar * self`."},{"DocComment":""},{"DocComment":" For scalar multiplication of a basepoint,"},{"DocComment":" `EdwardsBasepointTable` is approximately 4x faster."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10525},{"Deduplicated":10537}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":93,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10537},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":884,"col":4},"end":{"line":886,"col":5}},"generated_from_span":null},"bound_body_regions":10,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":884,"col":40},"end":{"line":884,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":884,"col":11},"end":{"line":884,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"scalar","span":{"data":{"file_id":7,"beg":{"line":884,"col":17},"end":{"line":884,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":6592}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":885,"col":42},"end":{"line":885,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":885,"col":48},"end":{"line":885,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[6600,{"Ref":[{"Body":5},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":885,"col":42},"end":{"line":886,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":885,"col":42},"end":{"line":885,"col":46}},"generated_from_span":null},"id":7565,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":42},"end":{"line":885,"col":46}},"generated_from_span":null},"id":7566,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":48},"end":{"line":885,"col":54}},"generated_from_span":null},"id":7567,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":48},"end":{"line":885,"col":54}},"generated_from_span":null},"id":7568,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":6592}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":8},"end":{"line":885,"col":55}},"generated_from_span":null},"id":7569,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":276}},"generics":{"regions":[{"Body":8},{"Body":9}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6600}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":54},"end":{"line":885,"col":55}},"generated_from_span":null},"id":7570,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":885,"col":54},"end":{"line":885,"col":55}},"generated_from_span":null},"id":7571,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":886,"col":5},"end":{"line":886,"col":5}},"generated_from_span":null},"id":7572,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":124,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}},{"Ident":["mul",0]}],"span":{"data":{"file_id":7,"beg":{"line":896,"col":4},"end":{"line":898,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, point: &'a EdwardsPoint) -> EdwardsPoint {\n point * self\n }","attr_info":{"attributes":[{"DocComment":" Scalar multiplication: compute `scalar * self`."},{"DocComment":""},{"DocComment":" For scalar multiplication of a basepoint,"},{"DocComment":" `EdwardsBasepointTable` is approximately 4x faster."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10538,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2689},"Shared"]}]},{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":94,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10538},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":896,"col":4},"end":{"line":898,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":896,"col":45},"end":{"line":896,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":896,"col":11},"end":{"line":896,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"point","span":{"data":{"file_id":7,"beg":{"line":896,"col":17},"end":{"line":896,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":897,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":897,"col":16},"end":{"line":897,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":6600}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":898,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":897,"col":13}},"generated_from_span":null},"id":7573,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":897,"col":13}},"generated_from_span":null},"id":7574,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":4435}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":16},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7575,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":16},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7576,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6600}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":8},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7577,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":123}},"generics":{"regions":[{"Body":6},{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6600}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":19},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7578,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":897,"col":19},"end":{"line":897,"col":20}},"generated_from_span":null},"id":7579,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":898,"col":5},"end":{"line":898,"col":5}},"generated_from_span":null},"id":7580,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":125,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_base",0]}],"span":{"data":{"file_id":7,"beg":{"line":906,"col":4},"end":{"line":916,"col":5}},"generated_from_span":null},"source_text":"pub fn mul_base(scalar: &Scalar) -> Self {\n #[cfg(not(feature = \"precomputed-tables\"))]\n {\n scalar * constants::ED25519_BASEPOINT_POINT\n }\n\n #[cfg(feature = \"precomputed-tables\")]\n {\n scalar * constants::ED25519_BASEPOINT_TABLE\n }\n }","attr_info":{"attributes":[{"DocComment":" Fixed-base scalar multiplication by the Ed25519 base point."},{"DocComment":""},{"DocComment":" Uses precomputed basepoint tables when the `precomputed-tables` feature"},{"DocComment":" is enabled, trading off increased code size for ~4x better performance."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":906,"col":4},"end":{"line":916,"col":5}},"generated_from_span":null},"bound_body_regions":4,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":906,"col":40},"end":{"line":906,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"scalar","span":{"data":{"file_id":7,"beg":{"line":906,"col":20},"end":{"line":906,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":909,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":6591}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":916,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":909,"col":18}},"generated_from_span":null},"id":7581,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":909,"col":18}},"generated_from_span":null},"id":7582,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":6591}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":909,"col":12},"end":{"line":909,"col":55}},"generated_from_span":null},"id":7583,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":121}},"generics":{"regions":[{"Body":3}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":6591}}},{"Copy":{"kind":{"Global":{"id":67,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":909,"col":54},"end":{"line":909,"col":55}},"generated_from_span":null},"id":7584,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":916,"col":5},"end":{"line":916,"col":5}},"generated_from_span":null},"id":7585,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":126,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_clamped",0]}],"span":{"data":{"file_id":7,"beg":{"line":920,"col":4},"end":{"line":932,"col":5}},"generated_from_span":null},"source_text":"pub fn mul_clamped(self, bytes: [u8; 32]) -> Self {\n // We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant\n // #2. But #2 is not necessary for correctness of variable-base multiplication. All that\n // needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed\n // by clamping.\n // Further, we don't do any reduction or arithmetic with this clamped value, so there's no\n // issues arising from the fact that the curve point is not necessarily in the prime-order\n // subgroup.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n s * self\n }","attr_info":{"attributes":[{"DocComment":" Multiply this point by `clamp_integer(bytes)`. For a description of clamping, see"},{"DocComment":" [`clamp_integer`]."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1955},{"Deduplicated":2114}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":920,"col":4},"end":{"line":932,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":920,"col":49},"end":{"line":920,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":920,"col":23},"end":{"line":920,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":2,"name":"bytes","span":{"data":{"file_id":7,"beg":{"line":920,"col":29},"end":{"line":920,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":3,"name":"s","span":{"data":{"file_id":7,"beg":{"line":928,"col":12},"end":{"line":928,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":929,"col":19},"end":{"line":929,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":929,"col":33},"end":{"line":929,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":931,"col":8},"end":{"line":931,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":931,"col":12},"end":{"line":931,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":928,"col":12},"end":{"line":932,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":928,"col":12},"end":{"line":928,"col":13}},"generated_from_span":null},"id":7586,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":19},"end":{"line":929,"col":39}},"generated_from_span":null},"id":7587,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":33},"end":{"line":929,"col":38}},"generated_from_span":null},"id":7588,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":33},"end":{"line":929,"col":38}},"generated_from_span":null},"id":7589,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":["We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant","#2. But #2 is not necessary for correctness of variable-base multiplication. All that","needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed","by clamping.","Further, we don't do any reduction or arithmetic with this clamped value, so there's no","issues arising from the fact that the curve point is not necessarily in the prime-order","subgroup."]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":19},"end":{"line":929,"col":39}},"generated_from_span":null},"id":7590,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":277}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2114}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":929,"col":38},"end":{"line":929,"col":39}},"generated_from_span":null},"id":7591,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":928,"col":16},"end":{"line":930,"col":9}},"generated_from_span":null},"id":7592,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2689}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":930,"col":8},"end":{"line":930,"col":9}},"generated_from_span":null},"id":7593,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":8},"end":{"line":931,"col":9}},"generated_from_span":null},"id":7594,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":8},"end":{"line":931,"col":9}},"generated_from_span":null},"id":7595,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2689}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":2689}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":12},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7596,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":12},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7597,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":8},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7598,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":122}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2689}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":15},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7599,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":931,"col":15},"end":{"line":931,"col":16}},"generated_from_span":null},"id":7600,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":932,"col":4},"end":{"line":932,"col":5}},"generated_from_span":null},"id":7601,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":932,"col":5},"end":{"line":932,"col":5}},"generated_from_span":null},"id":7602,"kind":"Return","comments_before":[]}]},"comments":[[928,["We have to construct a Scalar that is not reduced mod l, which breaks scalar invariant","#2. But #2 is not necessary for correctness of variable-base multiplication. All that","needs to hold is invariant #1, i.e., the scalar is less than 2^255. This is guaranteed","by clamping.","Further, we don't do any reduction or arithmetic with this clamped value, so there's no","issues arising from the fact that the curve point is not necessarily in the prime-order","subgroup."]]]}}},{"def_id":127,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_base_clamped",0]}],"span":{"data":{"file_id":7,"beg":{"line":936,"col":4},"end":{"line":944,"col":5}},"generated_from_span":null},"source_text":"pub fn mul_base_clamped(bytes: [u8; 32]) -> Self {\n // See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We\n // note that fixed-base multiplication is also defined for all values of `bytes` less than\n // 2^255.\n let s = Scalar {\n bytes: clamp_integer(bytes),\n };\n Self::mul_base(&s)\n }","attr_info":{"attributes":[{"DocComment":" Multiply the basepoint by `clamp_integer(bytes)`. For a description of clamping, see"},{"DocComment":" [`clamp_integer`]."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2114}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":936,"col":4},"end":{"line":944,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":936,"col":48},"end":{"line":936,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"bytes","span":{"data":{"file_id":7,"beg":{"line":936,"col":28},"end":{"line":936,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":2,"name":"s","span":{"data":{"file_id":7,"beg":{"line":940,"col":12},"end":{"line":940,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":941,"col":19},"end":{"line":941,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":941,"col":33},"end":{"line":941,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":6591}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":940,"col":12},"end":{"line":944,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":940,"col":12},"end":{"line":940,"col":13}},"generated_from_span":null},"id":7603,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":19},"end":{"line":941,"col":39}},"generated_from_span":null},"id":7604,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":33},"end":{"line":941,"col":38}},"generated_from_span":null},"id":7605,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":33},"end":{"line":941,"col":38}},"generated_from_span":null},"id":7606,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":["See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We","note that fixed-base multiplication is also defined for all values of `bytes` less than","2^255."]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":19},"end":{"line":941,"col":39}},"generated_from_span":null},"id":7607,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":277}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2114}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":941,"col":38},"end":{"line":941,"col":39}},"generated_from_span":null},"id":7608,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":940,"col":16},"end":{"line":942,"col":9}},"generated_from_span":null},"id":7609,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2689}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":942,"col":8},"end":{"line":942,"col":9}},"generated_from_span":null},"id":7610,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"id":7611,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"id":7612,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"id":7613,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6591}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":23},"end":{"line":943,"col":25}},"generated_from_span":null},"id":7614,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6598}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":6591}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":8},"end":{"line":943,"col":26}},"generated_from_span":null},"id":7615,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":125}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6598}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":25},"end":{"line":943,"col":26}},"generated_from_span":null},"id":7616,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":943,"col":25},"end":{"line":943,"col":26}},"generated_from_span":null},"id":7617,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":944,"col":4},"end":{"line":944,"col":5}},"generated_from_span":null},"id":7618,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":944,"col":5},"end":{"line":944,"col":5}},"generated_from_span":null},"id":7619,"kind":"Return","comments_before":[]}]},"comments":[[940,["See reasoning in Self::mul_clamped why it is OK to make an unreduced Scalar here. We","note that fixed-base multiplication is also defined for all values of `bytes` less than","2^255."]]]}}},{"def_id":128,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["vartime_double_scalar_mul_basepoint",0]}],"span":{"data":{"file_id":7,"beg":{"line":1068,"col":4},"end":{"line":1074,"col":5}},"generated_from_span":null},"source_text":"pub fn vartime_double_scalar_mul_basepoint(\n a: &Scalar,\n A: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n crate::backend::vartime_double_base_mul(a, A, b)\n }","attr_info":{"attributes":[{"DocComment":" Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"HashConsedValue":[10681,{"Ref":[{"Var":{"Free":2}},{"Deduplicated":2689},"Shared"]}]}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1068,"col":4},"end":{"line":1074,"col":5}},"generated_from_span":null},"bound_body_regions":14,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1072,"col":9},"end":{"line":1072,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a","span":{"data":{"file_id":7,"beg":{"line":1069,"col":8},"end":{"line":1069,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A","span":{"data":{"file_id":7,"beg":{"line":1070,"col":8},"end":{"line":1070,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"b","span":{"data":{"file_id":7,"beg":{"line":1071,"col":8},"end":{"line":1071,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1073,"col":48},"end":{"line":1073,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":6600}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1073,"col":51},"end":{"line":1073,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4519}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1073,"col":54},"end":{"line":1073,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":6593}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":48},"end":{"line":1074,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":48},"end":{"line":1073,"col":49}},"generated_from_span":null},"id":7620,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":48},"end":{"line":1073,"col":49}},"generated_from_span":null},"id":7621,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":51},"end":{"line":1073,"col":52}},"generated_from_span":null},"id":7622,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":51},"end":{"line":1073,"col":52}},"generated_from_span":null},"id":7623,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":54},"end":{"line":1073,"col":55}},"generated_from_span":null},"id":7624,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":54},"end":{"line":1073,"col":55}},"generated_from_span":null},"id":7625,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":8},"end":{"line":1073,"col":56}},"generated_from_span":null},"id":7626,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":278}},"generics":{"regions":[{"Body":11},{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":6600}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4519}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":55},"end":{"line":1073,"col":56}},"generated_from_span":null},"id":7627,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":55},"end":{"line":1073,"col":56}},"generated_from_span":null},"id":7628,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1073,"col":55},"end":{"line":1073,"col":56}},"generated_from_span":null},"id":7629,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1074,"col":5},"end":{"line":1074,"col":5}},"generated_from_span":null},"id":7630,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":129,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["vartime_triple_scalar_mul_basepoint",0]}],"span":{"data":{"file_id":7,"beg":{"line":1099,"col":4},"end":{"line":1107,"col":5}},"generated_from_span":null},"source_text":"pub fn vartime_triple_scalar_mul_basepoint(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n ) -> EdwardsPoint {\n crate::backend::vartime_triple_base_mul_128_128_256(a1, A1, a2, A2, b)\n }","attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":""},{"DocComment":" This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\),"},{"DocComment":" and falls back to general scalar multiplication for full-width scalars."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use curve25519::scalar::Scalar;"},{"DocComment":" use curve25519::constants::ED25519_BASEPOINT_POINT;"},{"DocComment":" use curve25519::edwards::EdwardsPoint;"},{"DocComment":""},{"DocComment":" let a1 = Scalar::from(123u64);"},{"DocComment":" let a2 = Scalar::from(456u64);"},{"DocComment":" let b = Scalar::from(789u64);"},{"DocComment":""},{"DocComment":" let A1 = &ED25519_BASEPOINT_POINT * &Scalar::from(2u64);"},{"DocComment":" let A2 = &ED25519_BASEPOINT_POINT * &Scalar::from(3u64);"},{"DocComment":""},{"DocComment":" // Compute a1*A1 + a2*A2 + b*B efficiently"},{"DocComment":" let result = EdwardsPoint::vartime_triple_scalar_mul_basepoint(&a1, &A1, &a2, &A2, &b);"},{"DocComment":" ```"},{"Unknown":{"path":"allow","args":"non_snake_case"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"Deduplicated":10681},{"HashConsedValue":[10682,{"Ref":[{"Var":{"Free":3}},{"Deduplicated":1955},"Shared"]}]},{"HashConsedValue":[10683,{"Ref":[{"Var":{"Free":4}},{"Deduplicated":2689},"Shared"]}]}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1099,"col":4},"end":{"line":1107,"col":5}},"generated_from_span":null},"bound_body_regions":22,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1105,"col":9},"end":{"line":1105,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a1","span":{"data":{"file_id":7,"beg":{"line":1100,"col":8},"end":{"line":1100,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A1","span":{"data":{"file_id":7,"beg":{"line":1101,"col":8},"end":{"line":1101,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"a2","span":{"data":{"file_id":7,"beg":{"line":1102,"col":8},"end":{"line":1102,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":"A2","span":{"data":{"file_id":7,"beg":{"line":1103,"col":8},"end":{"line":1103,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":5,"name":"b","span":{"data":{"file_id":7,"beg":{"line":1104,"col":8},"end":{"line":1104,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[6640,{"Ref":[{"Body":6},{"Deduplicated":2689},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":60},"end":{"line":1106,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":6593}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":64},"end":{"line":1106,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":4524}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":68},"end":{"line":1106,"col":70}},"generated_from_span":null},"ty":{"HashConsedValue":[6641,{"Ref":[{"Body":9},{"Deduplicated":2689},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":72},"end":{"line":1106,"col":74}},"generated_from_span":null},"ty":{"HashConsedValue":[6642,{"Ref":[{"Body":10},{"Deduplicated":1955},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1106,"col":76},"end":{"line":1106,"col":77}},"generated_from_span":null},"ty":{"HashConsedValue":[6643,{"Ref":[{"Body":11},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":60},"end":{"line":1107,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":60},"end":{"line":1106,"col":62}},"generated_from_span":null},"id":7631,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":60},"end":{"line":1106,"col":62}},"generated_from_span":null},"id":7632,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":64},"end":{"line":1106,"col":66}},"generated_from_span":null},"id":7633,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":64},"end":{"line":1106,"col":66}},"generated_from_span":null},"id":7634,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":4524}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":68},"end":{"line":1106,"col":70}},"generated_from_span":null},"id":7635,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":68},"end":{"line":1106,"col":70}},"generated_from_span":null},"id":7636,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":6641}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":72},"end":{"line":1106,"col":74}},"generated_from_span":null},"id":7637,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":72},"end":{"line":1106,"col":74}},"generated_from_span":null},"id":7638,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":6642}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":76},"end":{"line":1106,"col":77}},"generated_from_span":null},"id":7639,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":76},"end":{"line":1106,"col":77}},"generated_from_span":null},"id":7640,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":6643}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":8},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7641,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":279}},"generics":{"regions":[{"Body":17},{"Body":18},{"Body":19},{"Body":20},{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":6593}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":4524}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":6641}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":6642}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":6643}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7642,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7643,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7644,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7645,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1106,"col":77},"end":{"line":1106,"col":78}},"generated_from_span":null},"id":7646,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1107,"col":5},"end":{"line":1107,"col":5}},"generated_from_span":null},"id":7647,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":130,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_by_cofactor",0]}],"span":{"data":{"file_id":7,"beg":{"line":1386,"col":4},"end":{"line":1388,"col":5}},"generated_from_span":null},"source_text":"pub fn mul_by_cofactor(&self) -> EdwardsPoint {\n self.mul_by_pow_2(3)\n }","attr_info":{"attributes":[{"DocComment":" Multiply by the cofactor: return \\\\(\\[8\\]P\\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1386,"col":4},"end":{"line":1388,"col":5}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1386,"col":37},"end":{"line":1386,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1386,"col":27},"end":{"line":1386,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1387,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":4436}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1388,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1387,"col":12}},"generated_from_span":null},"id":7648,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1387,"col":12}},"generated_from_span":null},"id":7649,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":8},"end":{"line":1387,"col":28}},"generated_from_span":null},"id":7650,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":131}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4436}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","3"]}}},"ty":{"Deduplicated":2925}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1387,"col":27},"end":{"line":1387,"col":28}},"generated_from_span":null},"id":7651,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1388,"col":5},"end":{"line":1388,"col":5}},"generated_from_span":null},"id":7652,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":131,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["mul_by_pow_2",0]}],"span":{"data":{"file_id":7,"beg":{"line":1391,"col":4},"end":{"line":1401,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn mul_by_pow_2(&self, k: u32) -> EdwardsPoint {\n debug_assert!(k > 0);\n let mut r: CompletedPoint;\n let mut s = self.as_projective();\n for _ in 0..(k - 1) {\n r = s.double();\n s = r.as_projective();\n }\n // Unroll last iteration so we can go directly as_extended()\n s.double().as_extended()\n }","attr_info":{"attributes":[{"DocComment":" Compute \\\\([2\\^k] P \\\\) by successive doublings. Requires \\\\( k > 0 \\\\)."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":2925}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1391,"col":4},"end":{"line":1401,"col":5}},"generated_from_span":null},"bound_body_regions":24,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1391,"col":49},"end":{"line":1391,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1391,"col":31},"end":{"line":1391,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"k","span":{"data":{"file_id":7,"beg":{"line":1391,"col":38},"end":{"line":1391,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":3,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":5,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":6,"name":"r","span":{"data":{"file_id":7,"beg":{"line":1393,"col":12},"end":{"line":1393,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":7,"name":"s","span":{"data":{"file_id":7,"beg":{"line":1394,"col":12},"end":{"line":1394,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1394,"col":20},"end":{"line":1394,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6657,{"Adt":{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}]}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":6657}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":21},"end":{"line":1395,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":2925}},{"index":14,"name":"iter","span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":6657}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6660,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}]}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6663,{"Ref":[{"Body":4},{"Deduplicated":6657},"Mut"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6664,{"Ref":[{"Body":5},{"Deduplicated":6657},"Mut"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[6666,{"Ref":[{"Body":7},{"Deduplicated":1819},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[6668,{"Ref":[{"Body":9},{"Deduplicated":1831},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"ty":{"HashConsedValue":[6669,{"Ref":[{"Body":10},{"Deduplicated":1831},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":24,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[6670,{"Ref":[{"Body":11},{"Deduplicated":1819},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":7653,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":7657,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":7658,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":7676,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7660,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":23}},"generated_from_span":null},"id":7661,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":23}},"generated_from_span":null},"id":7662,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2925}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7663,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1470}},{"BinaryOp":["Gt",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7668,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":22},"end":{"line":1392,"col":27}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":26},"end":{"line":1392,"col":27}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":26},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7665,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":7667,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1392,"col":26},"end":{"line":1392,"col":27}},"generated_from_span":null},"id":7669,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":7671,"kind":{"StorageDead":4},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":7677,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1393,"col":12},"end":{"line":1393,"col":17}},"generated_from_span":null},"id":7679,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":12},"end":{"line":1394,"col":17}},"generated_from_span":null},"id":7680,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":20},"end":{"line":1394,"col":24}},"generated_from_span":null},"id":7681,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":20},"end":{"line":1394,"col":24}},"generated_from_span":null},"id":7682,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":20},"end":{"line":1394,"col":40}},"generated_from_span":null},"id":7683,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":94}},"generics":{"regions":[{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1394,"col":39},"end":{"line":1394,"col":40}},"generated_from_span":null},"id":7684,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7686,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7687,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7688,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":21},"end":{"line":1395,"col":22}},"generated_from_span":null},"id":7689,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":21},"end":{"line":1395,"col":22}},"generated_from_span":null},"id":7690,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2925}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7691,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2925}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":2925}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":2925}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":20},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7693,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2925}},{"Use":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2925}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":26},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7694,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7695,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":6657}},{"Aggregate":[{"Adt":[{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":2925}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2925}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":26},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7696,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7697,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":146}},"generics":{"regions":[],"types":[{"Deduplicated":6657},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10684,{"kind":{"TraitImpl":{"id":121,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[{"HashConsedValue":[6712,{"kind":{"TraitImpl":{"id":130,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":6657},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":6657}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":6657}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":26},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7698,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7699,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7700,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":6657}},{"Use":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":6657}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7734,"kind":{"Loop":{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7702,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7703,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7704,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7705,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":6664}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":6657}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7706,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":6663}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":6664}},"Deref"]},"ty":{"Deduplicated":6657}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7707,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":147}},"generics":{"regions":[{"Body":15}],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[{"Deduplicated":6712}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":6663}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":6660}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":26},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7708,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7713,"kind":{"Switch":{"Match":[{"kind":{"Local":15},"ty":{"Deduplicated":6660}},[[[0],{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"id":7710,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":17},"end":{"line":1395,"col":27}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7714,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":17}},"generated_from_span":null},"id":7715,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":17}},"generated_from_span":null},"id":7716,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":6666}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":16},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7717,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":61}},"generics":{"regions":[{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":6666}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":25},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7718,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":12},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7719,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1831}},{"Use":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1831}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1396,"col":25},"end":{"line":1396,"col":26}},"generated_from_span":null},"id":7720,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7721,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":17}},"generated_from_span":null},"id":7722,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":17}},"generated_from_span":null},"id":7723,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":6668}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":16},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7724,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":59}},"generics":{"regions":[{"Body":21}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":6668}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":32},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7725,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":12},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7726,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1819}},{"Use":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1819}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1397,"col":32},"end":{"line":1397,"col":33}},"generated_from_span":null},"id":7727,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7729,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7730,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1395,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7733,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7736,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7737,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7739,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1398,"col":8},"end":{"line":1398,"col":9}},"generated_from_span":null},"id":7740,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7742,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7743,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":9}},"generated_from_span":null},"id":7744,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":9}},"generated_from_span":null},"id":7745,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":6670}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Unroll last iteration so we can go directly as_extended()"]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7746,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":61}},"generics":{"regions":[{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":6670}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7747,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":6669}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":17},"end":{"line":1400,"col":18}},"generated_from_span":null},"id":7748,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":8},"end":{"line":1400,"col":32}},"generated_from_span":null},"id":7749,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":6669}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":31},"end":{"line":1400,"col":32}},"generated_from_span":null},"id":7750,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1400,"col":31},"end":{"line":1400,"col":32}},"generated_from_span":null},"id":7751,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1401,"col":4},"end":{"line":1401,"col":5}},"generated_from_span":null},"id":7752,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1401,"col":4},"end":{"line":1401,"col":5}},"generated_from_span":null},"id":7753,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1401,"col":5},"end":{"line":1401,"col":5}},"generated_from_span":null},"id":7754,"kind":"Return","comments_before":[]}]},"comments":[[1400,["Unroll last iteration so we can go directly as_extended()"]]]}}},{"def_id":132,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["is_small_order",0]}],"span":{"data":{"file_id":7,"beg":{"line":1426,"col":4},"end":{"line":1428,"col":5}},"generated_from_span":null},"source_text":"pub fn is_small_order(&self) -> bool {\n self.mul_by_cofactor().is_identity()\n }","attr_info":{"attributes":[{"DocComment":" Determine if this point is of small order."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" * `true` if `self` is in the torsion subgroup \\\\( \\mathcal E\\[8\\] \\\\);"},{"DocComment":" * `false` if `self` is not in the torsion subgroup \\\\( \\mathcal E\\[8\\] \\\\)."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use curve25519::constants;"},{"DocComment":""},{"DocComment":" // Generator of the prime-order subgroup"},{"DocComment":" let P = constants::ED25519_BASEPOINT_POINT;"},{"DocComment":" // Generator of the torsion subgroup"},{"DocComment":" let Q = constants::EIGHT_TORSION[1];"},{"DocComment":""},{"DocComment":" // P has large order"},{"DocComment":" assert_eq!(P.is_small_order(), false);"},{"DocComment":""},{"DocComment":" // Q has small order"},{"DocComment":" assert_eq!(Q.is_small_order(), true);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1470}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1426,"col":4},"end":{"line":1428,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1426,"col":36},"end":{"line":1426,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1426,"col":26},"end":{"line":1426,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1428,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7755,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7756,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":12}},"generated_from_span":null},"id":7757,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":12}},"generated_from_span":null},"id":7758,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7759,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":130}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7760,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":29},"end":{"line":1427,"col":30}},"generated_from_span":null},"id":7761,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":8},"end":{"line":1427,"col":44}},"generated_from_span":null},"id":7762,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":280}},"generics":{"regions":[{"Body":7}],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2313,{"kind":{"TraitImpl":{"id":67,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[6733,{"kind":{"TraitImpl":{"id":63,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":43},"end":{"line":1427,"col":44}},"generated_from_span":null},"id":7763,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1427,"col":43},"end":{"line":1427,"col":44}},"generated_from_span":null},"id":7764,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1428,"col":5},"end":{"line":1428,"col":5}},"generated_from_span":null},"id":7765,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":133,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1955},"kind":"InherentImplBlock"}}},{"Ident":["is_torsion_free",0]}],"span":{"data":{"file_id":7,"beg":{"line":1456,"col":4},"end":{"line":1458,"col":5}},"generated_from_span":null},"source_text":"pub fn is_torsion_free(&self) -> bool {\n (self * constants::BASEPOINT_ORDER).is_identity()\n }","attr_info":{"attributes":[{"DocComment":" Determine if this point is “torsion-free”, i.e., is contained in"},{"DocComment":" the prime-order subgroup."},{"DocComment":""},{"DocComment":" # Return"},{"DocComment":""},{"DocComment":" * `true` if `self` has zero torsion component and is in the"},{"DocComment":" prime-order subgroup;"},{"DocComment":" * `false` if `self` has a nonzero torsion component and is not"},{"DocComment":" in the prime-order subgroup."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use curve25519::constants;"},{"DocComment":""},{"DocComment":" // Generator of the prime-order subgroup"},{"DocComment":" let P = constants::ED25519_BASEPOINT_POINT;"},{"DocComment":" // Generator of the torsion subgroup"},{"DocComment":" let Q = constants::EIGHT_TORSION[1];"},{"DocComment":""},{"DocComment":" // P is torsion-free"},{"DocComment":" assert_eq!(P.is_torsion_free(), true);"},{"DocComment":""},{"DocComment":" // P + Q is not torsion-free"},{"DocComment":" assert_eq!((P+Q).is_torsion_free(), false);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1470}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1456,"col":4},"end":{"line":1458,"col":5}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1456,"col":37},"end":{"line":1456,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1456,"col":27},"end":{"line":1456,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1457,"col":9},"end":{"line":1457,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":4454}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1458,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7766,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7767,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":9},"end":{"line":1457,"col":13}},"generated_from_span":null},"id":7768,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":9},"end":{"line":1457,"col":13}},"generated_from_span":null},"id":7769,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4454}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":3931}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7770,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":118}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4454}}},{"Copy":{"kind":{"Global":{"id":68,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":2689}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7771,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":42},"end":{"line":1457,"col":43}},"generated_from_span":null},"id":7772,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":8},"end":{"line":1457,"col":57}},"generated_from_span":null},"id":7773,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":280}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[{"Deduplicated":2313},{"Deduplicated":6733}]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":56},"end":{"line":1457,"col":57}},"generated_from_span":null},"id":7774,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1457,"col":56},"end":{"line":1457,"col":57}},"generated_from_span":null},"id":7775,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1458,"col":5},"end":{"line":1458,"col":5}},"generated_from_span":null},"id":7776,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":134,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":7,"beg":{"line":1466,"col":4},"end":{"line":1472,"col":5}},"generated_from_span":null},"source_text":"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"EdwardsPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":95,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":7,"beg":{"line":1466,"col":4},"end":{"line":1472,"col":5}},"generated_from_span":null},"bound_body_regions":120,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1466,"col":55},"end":{"line":1466,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":7,"beg":{"line":1466,"col":11},"end":{"line":1466,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"f","span":{"data":{"file_id":7,"beg":{"line":1466,"col":18},"end":{"line":1466,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1468,"col":12},"end":{"line":1468,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":3038}},{"index":5,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4022}},{"index":6,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":4023}},{"index":7,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2913}},{"index":8,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4024}},{"index":9,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2916}},{"index":10,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":4025}},{"index":11,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":2919}},{"index":12,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":3954}},{"index":13,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2922}},{"index":14,"name":"args","span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4031}},{"index":15,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1469,"col":34},"end":{"line":1469,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":4032}},{"index":16,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":4033}},{"index":17,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1469,"col":46},"end":{"line":1469,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":4034}},{"index":18,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":4036}},{"index":19,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1469,"col":58},"end":{"line":1469,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":3967}},{"index":20,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":4038}},{"index":21,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1469,"col":70},"end":{"line":1469,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":4039}},{"index":22,"name":null,"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":4041}},{"index":23,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[6754,{"Ref":[{"Body":58},{"HashConsedValue":[6752,{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","48"]}}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[6755,{"Ref":[{"Body":59},{"Deduplicated":6752},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4055}},{"index":26,"name":null,"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":4058}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":6752}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9314,{"Ref":[{"Body":112},{"Deduplicated":6752},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":7,"beg":{"line":1468,"col":12},"end":{"line":1470,"col":46}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":7,"beg":{"line":1468,"col":12},"end":{"line":1468,"col":13}},"generated_from_span":null},"id":7777,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1468,"col":12},"end":{"line":1468,"col":13}},"generated_from_span":null},"id":7778,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"Deduplicated":4059}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7779,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7780,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7781,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7782,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7783,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7784,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4023}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":2913}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7785,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7786,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7787,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2916}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7788,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4024}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":2916}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7789,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7790,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7791,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2919}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},2]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7792,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":4025}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":2919}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7793,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7794,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7795,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2922}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},{"Field":[{"Adt":[7,null]},3]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7796,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3954}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":2922}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7797,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4023}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4024}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":4025}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":3954}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7798,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7799,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7800,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7801,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7802,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":34},"end":{"line":1469,"col":38}},"generated_from_span":null},"id":7803,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7804,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":12},"end":{"line":1470,"col":19}},"generated_from_span":null},"id":7805,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":4033}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},0]}]},"ty":{"Deduplicated":4061}},"Deref"]},"ty":{"Deduplicated":3991}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":34},"end":{"line":1469,"col":38}},"generated_from_span":null},"id":7806,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":70},{"Body":77}],"types":[{"Deduplicated":4064}],"const_generics":[],"trait_refs":[{"Deduplicated":8764}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":4033}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":37},"end":{"line":1469,"col":38}},"generated_from_span":null},"id":7807,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":46},"end":{"line":1469,"col":50}},"generated_from_span":null},"id":7808,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7809,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":21},"end":{"line":1470,"col":28}},"generated_from_span":null},"id":7810,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":4036}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},1]}]},"ty":{"Deduplicated":4068}},"Deref"]},"ty":{"Deduplicated":4001}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":46},"end":{"line":1469,"col":50}},"generated_from_span":null},"id":7811,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":81},{"Body":88}],"types":[{"Deduplicated":4071}],"const_generics":[],"trait_refs":[{"Deduplicated":8765}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":4036}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":49},"end":{"line":1469,"col":50}},"generated_from_span":null},"id":7812,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":58},"end":{"line":1469,"col":62}},"generated_from_span":null},"id":7813,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7814,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":30},"end":{"line":1470,"col":37}},"generated_from_span":null},"id":7815,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4038}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},2]}]},"ty":{"Deduplicated":4075}},"Deref"]},"ty":{"Deduplicated":4076}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":58},"end":{"line":1469,"col":62}},"generated_from_span":null},"id":7816,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":92},{"Body":99}],"types":[{"Deduplicated":4082}],"const_generics":[],"trait_refs":[{"Deduplicated":8766}]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":4038}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":61},"end":{"line":1469,"col":62}},"generated_from_span":null},"id":7817,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":70},"end":{"line":1469,"col":74}},"generated_from_span":null},"id":7818,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7819,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1470,"col":39},"end":{"line":1470,"col":46}},"generated_from_span":null},"id":7820,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":4041}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":4022}},{"Field":[{"Tuple":4},3]}]},"ty":{"Deduplicated":4086}},"Deref"]},"ty":{"Deduplicated":4087}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":70},"end":{"line":1469,"col":74}},"generated_from_span":null},"id":7821,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":142}},"generics":{"regions":[{"Body":103},{"Body":110}],"types":[{"Deduplicated":4093}],"const_generics":[],"trait_refs":[{"Deduplicated":8767}]}}},"args":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":4041}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1469,"col":73},"end":{"line":1469,"col":74}},"generated_from_span":null},"id":7822,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7823,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":4031}},{"Aggregate":[{"Array":[{"Deduplicated":4096},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}]},[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":4032}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":4034}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":3967}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":4039}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7824,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7825,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7826,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7827,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7828,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7829,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7830,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7831,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":6752}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","48"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","18"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","69"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","119"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","97"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","114"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","100"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","115"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","80"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","111"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","105"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","110"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","116"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","123"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","89"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","90"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","6"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","44"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","9"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","84"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","58"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","32"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","192"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","2"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","10"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","125"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7832,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7833,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":9314}},{"Ref":{"place":{"kind":{"Local":27},"ty":{"Deduplicated":6752}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7834,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":6755}},{"Use":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":9314}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7835,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":6754}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":6755}},"Deref"]},"ty":{"Deduplicated":6752}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7836,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7837,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7838,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":4031}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7839,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":4055}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":4058}},"Deref"]},"ty":{"Deduplicated":4099}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":23},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7840,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":143}},"generics":{"regions":[{"Body":114}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","48"]}}},"ty":{"Deduplicated":1551}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":6754}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":4055}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7841,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7842,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7843,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":52},"end":{"line":605,"col":53}},"generated_from_span":null},"id":7844,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":8},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7845,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":144}},"generics":{"regions":[{"Body":115},{"Body":118},{"Body":119}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":3038}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7846,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7847,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7848,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7849,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7850,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7851,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7852,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":605,"col":53},"end":{"line":605,"col":54}},"generated_from_span":null},"id":7853,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":7,"beg":{"line":1472,"col":5},"end":{"line":1472,"col":5}},"generated_from_span":null},"id":7854,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":135,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Impl":{"Trait":108}},{"Ident":["into",0]}],"span":{"data":{"file_id":21,"beg":{"line":777,"col":4},"end":{"line":777,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Calls `U::from(self)`."},{"DocComment":""},{"DocComment":" That is, this conversion is whatever the implementation of"},{"DocComment":" [From]<T> for U chooses to do."}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"U"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":21,"beg":{"line":769,"col":7},"end":{"line":769,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"Deduplicated":10512}},"src":{"TraitImpl":{"impl_ref":{"id":108,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10543,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":136,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":110}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":11,"beg":{"line":313,"col":4},"end":{"line":313,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Check whether two slices of `ConstantTimeEq` types are equal."},{"DocComment":""},{"DocComment":" # Note"},{"DocComment":""},{"DocComment":" This function short-circuits if the lengths of the input slices"},{"DocComment":" are different. Otherwise, it should execute in time independent"},{"DocComment":" of the slice contents."},{"DocComment":""},{"DocComment":" Since arrays coerce to slices, this function works with fixed-size arrays:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # use subtle::ConstantTimeEq;"},{"DocComment":" #"},{"DocComment":" let a: [u8; 8] = [0,1,2,3,4,5,6,7];"},{"DocComment":" let b: [u8; 8] = [0,1,2,3,0,1,2,3];"},{"DocComment":""},{"DocComment":" let a_eq_a = a.ct_eq(&a);"},{"DocComment":" let a_eq_b = a.ct_eq(&b);"},{"DocComment":""},{"DocComment":" assert_eq!(a_eq_a.unwrap_u8(), 1);"},{"DocComment":" assert_eq!(a_eq_b.unwrap_u8(), 0);"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":11,"beg":{"line":289,"col":8},"end":{"line":289,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10685,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10544,{"Slice":{"Deduplicated":10511}}]},"Shared"]}]},{"HashConsedValue":[10686,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10544},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":110,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10545,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":137,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]},{"Ident":["default",0]}],"span":{"data":{"file_id":12,"beg":{"line":139,"col":4},"end":{"line":139,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the \"default value\" for a type."},{"DocComment":""},{"DocComment":" Default values are often some kind of initial value, identity value, or anything else that"},{"DocComment":" may make sense as a default."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Using built-in default values:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let i: i8 = Default::default();"},{"DocComment":" let (x, y): (Option, f64) = Default::default();"},{"DocComment":" let (a, b, (c, d)): (i32, u32, (bool, bool)) = Default::default();"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Making your own:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"default_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":138,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}},{"Ident":["bitor",0]}],"span":{"data":{"file_id":11,"beg":{"line":177,"col":4},"end":{"line":177,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1496},{"Deduplicated":1496}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":113,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1496},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":139,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":13,"beg":{"line":1062,"col":0},"end":{"line":1062,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10661}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":140,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]},{"Ident":["fmt",0]}],"span":{"data":{"file_id":15,"beg":{"line":1084,"col":4},"end":{"line":1084,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":"Formats the value using the given formatter.\n\n# Errors\n\nThis function should return [`Err`] if, and only if, the provided [`Formatter`] returns [`Err`].\nString formatting is considered an infallible operation; this function only\nreturns a [`Result`] because writing to the underlying stream might fail and it must\nprovide a way to propagate the fact that an error has occurred back up the stack.\n"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fmt;"},{"DocComment":""},{"DocComment":" struct Position {"},{"DocComment":" longitude: f32,"},{"DocComment":" latitude: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl fmt::Debug for Position {"},{"DocComment":" fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" f.debug_tuple(\"\")"},{"DocComment":" .field(&self.longitude)"},{"DocComment":" .field(&self.latitude)"},{"DocComment":" .finish()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let position = Position { longitude: 1.987, latitude: 2.983 };"},{"DocComment":" assert_eq!(format!(\"{position:?}\"), \"(1.987, 2.983)\");"},{"DocComment":""},{"DocComment":" assert_eq!(format!(\"{position:#?}\"), \"("},{"DocComment":" 1.987,"},{"DocComment":" 2.983,"},{"DocComment":" )\");"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitDecl":{"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":141,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}},{"Ident":["index",0]}],"span":{"data":{"file_id":22,"beg":{"line":390,"col":4},"end":{"line":390,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":385,"col":9},"end":{"line":385,"col":25}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10544},{"Deduplicated":10512},{"HashConsedValue":[10547,{"TypeVar":{"Free":2}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10687,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10546,{"Array":[{"Deduplicated":10511},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]},{"Deduplicated":10512}],"output":{"HashConsedValue":[10688,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10547},"Shared"]}]}},"src":{"TraitImpl":{"impl_ref":{"id":114,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10548,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10544},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10546},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":142,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["rt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3353},"kind":"InherentImplBlock"}}},{"Ident":["new_debug",0]}],"span":{"data":{"file_id":32,"beg":{"line":93,"col":4},"end":{"line":93,"col":59}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":32,"beg":{"line":93,"col":30},"end":{"line":93,"col":35}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10637}],"output":{"HashConsedValue":[10689,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":143,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3420},"kind":"InherentImplBlock"}}},{"Ident":["new",0]}],"span":{"data":{"file_id":15,"beg":{"line":729,"col":4},"end":{"line":732,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}},{"index":1,"name":"M","ty":{"Deduplicated":1551}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[10691,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10690,{"Array":[{"Deduplicated":2113},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]},{"HashConsedValue":[10694,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10693,{"Array":[{"HashConsedValue":[10692,{"Adt":{"id":{"Adt":19},"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":1551}}]}]},"Shared"]}]}],"output":{"HashConsedValue":[10695,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":144,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3469},"kind":"InherentImplBlock"}}},{"Ident":["write_fmt",0]}],"span":{"data":{"file_id":15,"beg":{"line":2128,"col":4},"end":{"line":2128,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Glue for usage of the [`write!`] macro with implementors of this trait."},{"DocComment":""},{"DocComment":" This method should generally not be invoked manually, but rather through"},{"DocComment":" the [`write!`] macro itself."},{"DocComment":""},{"DocComment":" Writes some formatted information into this instance."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fmt;"},{"DocComment":""},{"DocComment":" struct Foo(i32);"},{"DocComment":""},{"DocComment":" impl fmt::Display for Foo {"},{"DocComment":" fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" formatter.write_fmt(format_args!(\"Foo {}\", self.0))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(format!(\"{}\", Foo(-1)), \"Foo -1\");"},{"DocComment":" assert_eq!(format!(\"{:0>8}\", Foo(2)), \"Foo 2\");"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10697,{"Ref":[{"Var":{"Free":1}},{"HashConsedValue":[10696,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]},{"HashConsedValue":[10698,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Var":{"Free":2}}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"output":{"Deduplicated":3010}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":145,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]},{"Ident":["add_assign",0]}],"span":{"data":{"file_id":16,"beg":{"line":779,"col":4},"end":{"line":779,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `+=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x += 1;"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10661},{"Deduplicated":10512}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":146,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}},{"Ident":["into_iter",0]}],"span":{"data":{"file_id":38,"beg":{"line":322,"col":4},"end":{"line":322,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":317,"col":14},"end":{"line":317,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"Deduplicated":10511}},"src":{"TraitImpl":{"impl_ref":{"id":120,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10553,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":147,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}},{"Ident":["next",0]}],"span":{"data":{"file_id":39,"beg":{"line":984,"col":4},"end":{"line":984,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"A"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":39,"beg":{"line":980,"col":8},"end":{"line":980,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10699,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10554,{"Adt":{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"HashConsedValue":[10613,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":121,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10555,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10554},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":148,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]},{"Ident":["add",0]}],"span":{"data":{"file_id":16,"beg":{"line":91,"col":4},"end":{"line":91,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `+` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 + 1, 13);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"add"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"src":{"TraitDecl":{"trait_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":149,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]},{"Ident":["sub_assign",0]}],"span":{"data":{"file_id":16,"beg":{"line":850,"col":4},"end":{"line":850,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `-=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x -= 1;"},{"DocComment":" assert_eq!(x, 11);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10661},{"Deduplicated":10512}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":150,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]},{"Ident":["sub",0]}],"span":{"data":{"file_id":16,"beg":{"line":203,"col":4},"end":{"line":203,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `-` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 - 1, 11);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"sub"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"src":{"TraitDecl":{"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":151,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]},{"Ident":["mul_assign",0]}],"span":{"data":{"file_id":16,"beg":{"line":912,"col":4},"end":{"line":912,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `*=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x *= 2;"},{"DocComment":" assert_eq!(x, 24);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10661},{"Deduplicated":10512}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":152,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":16,"beg":{"line":337,"col":4},"end":{"line":337,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `*` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 * 2, 24);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"mul"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"src":{"TraitDecl":{"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":153,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["m",0]}],"span":{"data":{"file_id":5,"beg":{"line":115,"col":8},"end":{"line":115,"col":66}},"generated_from_span":null},"source_text":"fn m(x: u64, y: u64) -> u128 { (x as u128) * (y as u128) }","attr_info":{"attributes":[{"DocComment":" Helper function to multiply two 64-bit integers with 128"},{"DocComment":" bits of output."}],"inline":"Always","rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1550},{"Deduplicated":1550}],"output":{"Deduplicated":3746}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":115,"col":8},"end":{"line":115,"col":66}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":32},"end":{"line":115,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":1,"name":"x","span":{"data":{"file_id":5,"beg":{"line":115,"col":13},"end":{"line":115,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":"y","span":{"data":{"file_id":5,"beg":{"line":115,"col":21},"end":{"line":115,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":40},"end":{"line":115,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":53},"end":{"line":115,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":54},"end":{"line":115,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":3746}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":66}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":50}},"generated_from_span":null},"id":7855,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":50}},"generated_from_span":null},"id":7856,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":40},"end":{"line":115,"col":41}},"generated_from_span":null},"id":7857,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":40},"end":{"line":115,"col":41}},"generated_from_span":null},"id":7858,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":50}},"generated_from_span":null},"id":7859,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":49},"end":{"line":115,"col":50}},"generated_from_span":null},"id":7860,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":53},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7861,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":54},"end":{"line":115,"col":55}},"generated_from_span":null},"id":7862,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":54},"end":{"line":115,"col":55}},"generated_from_span":null},"id":7863,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":53},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7864,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":63},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7865,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7866,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":39},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7868,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":63},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7869,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":63},"end":{"line":115,"col":64}},"generated_from_span":null},"id":7870,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":115,"col":66},"end":{"line":115,"col":66}},"generated_from_span":null},"id":7871,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":154,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]},{"Ident":["neg",0]}],"span":{"data":{"file_id":16,"beg":{"line":706,"col":4},"end":{"line":706,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the unary `-` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: i32 = 12;"},{"DocComment":" assert_eq!(-x, -12);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"neg"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"Deduplicated":10512}},"src":{"TraitDecl":{"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":155,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":11,"beg":{"line":513,"col":12},"end":{"line":513,"col":77}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10700,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1550},"Shared"]}]},{"HashConsedValue":[10701,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1550},"Shared"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1550}},"src":{"TraitImpl":{"impl_ref":{"id":123,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":156,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":11,"beg":{"line":521,"col":12},"end":{"line":521,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10702,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1550},"Mut"]}]},{"Deduplicated":10701},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":123,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":157,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":11,"beg":{"line":529,"col":12},"end":{"line":529,"col":75}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10702},{"HashConsedValue":[10703,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1550},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":123,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":158,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ZERO",0]}],"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"source_text":"pub const ZERO: FieldElement51 = FieldElement51::from_limbs([0, 0, 0, 0, 0]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( 0 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":9,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":259,"col":20},"end":{"line":259,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":259,"col":64},"end":{"line":259,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":259,"col":64},"end":{"line":259,"col":79}},"generated_from_span":null},"id":7872,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":259,"col":64},"end":{"line":259,"col":79}},"generated_from_span":null},"id":7873,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":259,"col":37},"end":{"line":259,"col":80}},"generated_from_span":null},"id":7874,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":259,"col":79},"end":{"line":259,"col":80}},"generated_from_span":null},"id":7875,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"id":7876,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":159,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ONE",0]}],"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"source_text":"pub const ONE: FieldElement51 = FieldElement51::from_limbs([1, 0, 0, 0, 0]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( 1 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":10,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":261,"col":19},"end":{"line":261,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":261,"col":63},"end":{"line":261,"col":78}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":261,"col":63},"end":{"line":261,"col":78}},"generated_from_span":null},"id":7877,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":261,"col":63},"end":{"line":261,"col":78}},"generated_from_span":null},"id":7878,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":261,"col":36},"end":{"line":261,"col":79}},"generated_from_span":null},"id":7879,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":261,"col":78},"end":{"line":261,"col":79}},"generated_from_span":null},"id":7880,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"id":7881,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":160,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["MINUS_ONE",0]}],"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"source_text":"pub const MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n ]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( -1 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":11,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":263,"col":25},"end":{"line":263,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":263,"col":69},"end":{"line":269,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":263,"col":69},"end":{"line":269,"col":5}},"generated_from_span":null},"id":7882,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":263,"col":69},"end":{"line":269,"col":5}},"generated_from_span":null},"id":7883,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685228"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685247"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685247"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685247"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2251799813685247"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":263,"col":42},"end":{"line":269,"col":6}},"generated_from_span":null},"id":7884,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":269,"col":5},"end":{"line":269,"col":6}},"generated_from_span":null},"id":7885,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"id":7886,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":161,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["from_bytes",0]},{"Ident":["load8_at",0]}],"span":{"data":{"file_id":5,"beg":{"line":335,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"source_text":"const fn load8_at(input: &[u8], i: usize) -> u64 {\n (input[i] as u64)\n | ((input[i + 1] as u64) << 8)\n | ((input[i + 2] as u64) << 16)\n | ((input[i + 3] as u64) << 24)\n | ((input[i + 4] as u64) << 32)\n | ((input[i + 5] as u64) << 40)\n | ((input[i + 6] as u64) << 48)\n | ((input[i + 7] as u64) << 56)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10530},{"Deduplicated":1551}],"output":{"Deduplicated":1550}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":335,"col":8},"end":{"line":344,"col":9}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":335,"col":53},"end":{"line":335,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":1,"name":"input","span":{"data":{"file_id":5,"beg":{"line":335,"col":26},"end":{"line":335,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":4432}},{"index":2,"name":"i","span":{"data":{"file_id":5,"beg":{"line":335,"col":40},"end":{"line":335,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":341,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":340,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":339,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":338,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":8,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":337,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":9,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":336,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":10,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":11,"name":null,"span":{"data":{"file_id":5,"beg":{"line":336,"col":22},"end":{"line":336,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":14},"end":{"line":337,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":13,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":15},"end":{"line":337,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":14,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":15,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":16,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":17,"name":null,"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":14},"end":{"line":338,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":15},"end":{"line":338,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":21,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":14},"end":{"line":339,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":25,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":15},"end":{"line":339,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":26,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":27,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":29,"name":null,"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":14},"end":{"line":340,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":31,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":15},"end":{"line":340,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":32,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":33,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":34,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":35,"name":null,"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":36,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":14},"end":{"line":341,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":15},"end":{"line":341,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":39,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":41,"name":null,"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":42,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":14},"end":{"line":342,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":43,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":15},"end":{"line":342,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":44,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":45,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":46,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":47,"name":null,"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":48,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":14},"end":{"line":343,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":49,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":15},"end":{"line":343,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":50,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":51,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":52,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":53,"name":null,"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9410,{"Ref":["Erased",{"Deduplicated":2239},"Shared"]}]}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9410}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9410}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9410}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9410}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9410}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":66,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9410}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9410}},{"index":69,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":344,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7889,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7894,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7899,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7904,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7909,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7914,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7919,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":7924,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":341,"col":43}},"generated_from_span":null},"id":7925,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":340,"col":43}},"generated_from_span":null},"id":7926,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":339,"col":43}},"generated_from_span":null},"id":7927,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7928,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7929,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":336,"col":32}},"generated_from_span":null},"id":7930,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":7931,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":22},"end":{"line":336,"col":23}},"generated_from_span":null},"id":7932,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":22},"end":{"line":336,"col":23}},"generated_from_span":null},"id":7933,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":10661,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":10662,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":9410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":10663,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":10664,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":9410}}},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":55},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":16},"end":{"line":336,"col":24}},"generated_from_span":null},"id":7937,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":55},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":336,"col":32}},"generated_from_span":null},"id":7938,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":31},"end":{"line":336,"col":32}},"generated_from_span":null},"id":7939,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":14},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7940,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":15},"end":{"line":337,"col":36}},"generated_from_span":null},"id":7941,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":7942,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"id":7943,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":23}},"generated_from_span":null},"id":7944,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":23}},"generated_from_span":null},"id":7945,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"id":7946,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":16},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":22},"end":{"line":337,"col":27}},"generated_from_span":null},"id":7948,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":26},"end":{"line":337,"col":27}},"generated_from_span":null},"id":7949,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":10665,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":10666,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":9410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":10667,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":10668,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":9410}}},{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":57},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":16},"end":{"line":337,"col":28}},"generated_from_span":null},"id":7953,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":15},"end":{"line":337,"col":36}},"generated_from_span":null},"id":7954,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":35},"end":{"line":337,"col":36}},"generated_from_span":null},"id":7955,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":14},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7959,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","8"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":41},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7960,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7961,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":41},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7962,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":337,"col":41},"end":{"line":337,"col":42}},"generated_from_span":null},"id":7963,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":14},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7964,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":15},"end":{"line":338,"col":36}},"generated_from_span":null},"id":7965,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":7966,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"id":7967,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":23}},"generated_from_span":null},"id":7968,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":23}},"generated_from_span":null},"id":7969,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"id":7970,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":22},"end":{"line":338,"col":27}},"generated_from_span":null},"id":7972,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":26},"end":{"line":338,"col":27}},"generated_from_span":null},"id":7973,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":10669,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":10670,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":9410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":10671,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":10672,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":9410}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":59},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":16},"end":{"line":338,"col":28}},"generated_from_span":null},"id":7977,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":15},"end":{"line":338,"col":36}},"generated_from_span":null},"id":7978,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":35},"end":{"line":338,"col":36}},"generated_from_span":null},"id":7979,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":14},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7983,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","16"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":42},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7984,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7985,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":42},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7986,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":338,"col":42},"end":{"line":338,"col":43}},"generated_from_span":null},"id":7987,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":14},"end":{"line":339,"col":43}},"generated_from_span":null},"id":7988,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":15},"end":{"line":339,"col":36}},"generated_from_span":null},"id":7989,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":7990,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"id":7991,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":23}},"generated_from_span":null},"id":7992,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":23}},"generated_from_span":null},"id":7993,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"id":7994,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","3"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":22},"end":{"line":339,"col":27}},"generated_from_span":null},"id":7996,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":26},"end":{"line":339,"col":27}},"generated_from_span":null},"id":7997,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":10673,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":10674,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":9410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":10675,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":10676,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":9410}}},{"Copy":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":16},"end":{"line":339,"col":28}},"generated_from_span":null},"id":8001,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":15},"end":{"line":339,"col":36}},"generated_from_span":null},"id":8002,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":35},"end":{"line":339,"col":36}},"generated_from_span":null},"id":8003,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":14},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8007,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","24"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":42},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8008,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8009,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":42},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8010,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":339,"col":42},"end":{"line":339,"col":43}},"generated_from_span":null},"id":8011,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":14},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8012,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":15},"end":{"line":340,"col":36}},"generated_from_span":null},"id":8013,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":8014,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"id":8015,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":23}},"generated_from_span":null},"id":8016,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":23}},"generated_from_span":null},"id":8017,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"id":8018,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":22},"end":{"line":340,"col":27}},"generated_from_span":null},"id":8020,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":26},"end":{"line":340,"col":27}},"generated_from_span":null},"id":8021,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":10677,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":10678,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":9410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":10679,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":10680,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":9410}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":63},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":16},"end":{"line":340,"col":28}},"generated_from_span":null},"id":8025,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":15},"end":{"line":340,"col":36}},"generated_from_span":null},"id":8026,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":35},"end":{"line":340,"col":36}},"generated_from_span":null},"id":8027,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":14},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8031,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","32"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":42},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8032,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8033,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":42},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8034,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":340,"col":42},"end":{"line":340,"col":43}},"generated_from_span":null},"id":8035,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":14},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8036,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":15},"end":{"line":341,"col":36}},"generated_from_span":null},"id":8037,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":8038,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"id":8039,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":23}},"generated_from_span":null},"id":8040,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":23}},"generated_from_span":null},"id":8041,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"id":8042,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":22},"end":{"line":341,"col":27}},"generated_from_span":null},"id":8044,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":26},"end":{"line":341,"col":27}},"generated_from_span":null},"id":8045,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":10681,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":10682,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":9410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":10683,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":10684,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":9410}}},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":65},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":16},"end":{"line":341,"col":28}},"generated_from_span":null},"id":8049,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":65},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":15},"end":{"line":341,"col":36}},"generated_from_span":null},"id":8050,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":35},"end":{"line":341,"col":36}},"generated_from_span":null},"id":8051,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":14},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8055,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","40"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":42},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8056,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8057,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":42},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8058,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":341,"col":42},"end":{"line":341,"col":43}},"generated_from_span":null},"id":8059,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":14},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8060,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":15},"end":{"line":342,"col":36}},"generated_from_span":null},"id":8061,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":8062,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"id":8063,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":23}},"generated_from_span":null},"id":8064,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":23}},"generated_from_span":null},"id":8065,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"id":8066,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":46},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","6"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":22},"end":{"line":342,"col":27}},"generated_from_span":null},"id":8068,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":26},"end":{"line":342,"col":27}},"generated_from_span":null},"id":8069,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":10685,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":10686,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":9410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":10687,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":10688,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":9410}}},{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":16},"end":{"line":342,"col":28}},"generated_from_span":null},"id":8073,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":67},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":15},"end":{"line":342,"col":36}},"generated_from_span":null},"id":8074,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":35},"end":{"line":342,"col":36}},"generated_from_span":null},"id":8075,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":14},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8079,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","48"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":42},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8080,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8081,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":42},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8082,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":342,"col":42},"end":{"line":342,"col":43}},"generated_from_span":null},"id":8083,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":14},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8084,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":15},"end":{"line":343,"col":36}},"generated_from_span":null},"id":8085,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":8086,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"id":8087,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":23}},"generated_from_span":null},"id":8088,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":23}},"generated_from_span":null},"id":8089,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"id":8090,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":22},"end":{"line":343,"col":27}},"generated_from_span":null},"id":8092,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":26},"end":{"line":343,"col":27}},"generated_from_span":null},"id":8093,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":10689,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":10690,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":9410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"Deref"]},"ty":{"Deduplicated":2239}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4432}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":10691,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":10692,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":9410}}},{"Copy":{"kind":{"Local":51},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":69},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":16},"end":{"line":343,"col":28}},"generated_from_span":null},"id":8097,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":69},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":15},"end":{"line":343,"col":36}},"generated_from_span":null},"id":8098,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":35},"end":{"line":343,"col":36}},"generated_from_span":null},"id":8099,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":14},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8103,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","56"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8104,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":336,"col":15},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8105,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8106,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8107,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8108,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8109,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8110,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8111,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8112,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8113,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8114,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":343,"col":42},"end":{"line":343,"col":43}},"generated_from_span":null},"id":8115,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":344,"col":9},"end":{"line":344,"col":9}},"generated_from_span":null},"id":8116,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":162,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["m",0]}],"span":{"data":{"file_id":5,"beg":{"line":456,"col":8},"end":{"line":458,"col":9}},"generated_from_span":null},"source_text":"fn m(x: u64, y: u64) -> u128 {\n (x as u128) * (y as u128)\n }","attr_info":{"attributes":[{"DocComment":" Multiply two 64-bit integers with 128 bits of output."}],"inline":"Always","rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1550},{"Deduplicated":1550}],"output":{"Deduplicated":3746}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":456,"col":8},"end":{"line":458,"col":9}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":456,"col":32},"end":{"line":456,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":1,"name":"x","span":{"data":{"file_id":5,"beg":{"line":456,"col":13},"end":{"line":456,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":"y","span":{"data":{"file_id":5,"beg":{"line":456,"col":21},"end":{"line":456,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":3,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":4,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":13},"end":{"line":457,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":5,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":26},"end":{"line":457,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":3746}},{"index":6,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":27},"end":{"line":457,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":7,"name":null,"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":3746}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":458,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":23}},"generated_from_span":null},"id":8117,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":23}},"generated_from_span":null},"id":8118,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":13},"end":{"line":457,"col":14}},"generated_from_span":null},"id":8119,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":13},"end":{"line":457,"col":14}},"generated_from_span":null},"id":8120,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":23}},"generated_from_span":null},"id":8121,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":22},"end":{"line":457,"col":23}},"generated_from_span":null},"id":8122,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":26},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8123,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":27},"end":{"line":457,"col":28}},"generated_from_span":null},"id":8124,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":27},"end":{"line":457,"col":28}},"generated_from_span":null},"id":8125,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":26},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8126,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":3746}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U128"}]}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":36},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8127,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8128,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":3746}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":3746}}},{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":3746}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":12},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8130,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":3746}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3746}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":36},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8131,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":457,"col":36},"end":{"line":457,"col":37}},"generated_from_span":null},"id":8132,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":458,"col":9},"end":{"line":458,"col":9}},"generated_from_span":null},"id":8133,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":163,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["Identity",0]},{"Ident":["identity",0]}],"span":{"data":{"file_id":18,"beg":{"line":35,"col":4},"end":{"line":35,"col":26}},"generated_from_span":null},"source_text":"fn identity() -> Self;","attr_info":{"attributes":[{"DocComment":" Returns the identity element of the curve."},{"DocComment":" Can be used as a constructor."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"TraitMethodWithoutDefault"},{"def_id":164,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]},{"Ident":["is_valid",0]}],"span":{"data":{"file_id":18,"beg":{"line":453,"col":4},"end":{"line":453,"col":31}},"generated_from_span":null},"source_text":"fn is_valid(&self) -> bool;","attr_info":{"attributes":[{"DocComment":" Checks whether the point is on the curve. Not CT."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551}],"output":{"Deduplicated":1470}},"src":{"TraitDecl":{"trait_ref":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"TraitMethodWithoutDefault"},{"def_id":165,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":98}},{"Ident":["clone",0]}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10542,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":4121},"Shared"]}]}],"output":{"Deduplicated":4121}},"src":{"TraitImpl":{"impl_ref":{"id":98,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[7267,{"Ref":[{"Body":1},{"Deduplicated":4121},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"id":8134,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4121}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":20},"end":{"line":11,"col":20}},"generated_from_span":null},"id":8135,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":166,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10542},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":99,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"bound_body_regions":61,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3010}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":2,"name":"f","span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3019}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":3021}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[7270,{"Ref":[{"Body":10},{"HashConsedValue":[4274,{"Adt":{"id":{"Builtin":"Str"},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[7271,{"Ref":[{"Body":11},{"Deduplicated":4274},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7272,{"Ref":[{"Body":12},{"Deduplicated":4274},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7273,{"Ref":[{"Body":13},{"Deduplicated":4274},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7279,{"Ref":[{"Body":17},{"HashConsedValue":[7278,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Body":18}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2901}},{"index":10,"name":null,"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2902}},{"index":11,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7280,{"Ref":[{"Body":22},{"Deduplicated":4274},"Shared"]}]}},{"index":12,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7281,{"Ref":[{"Body":23},{"Deduplicated":4274},"Shared"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7283,{"Ref":[{"Body":24},{"HashConsedValue":[7282,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Body":25}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":4021}},{"index":15,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":4023}},{"index":16,"name":null,"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":2913}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":14,"col":30}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8136,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8137,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":3021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":3019}},"Deref"]},"ty":{"HashConsedValue":[10704,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8138,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8139,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8140,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":7271}},{"Use":[{"Const":{"kind":{"Literal":{"Str":"AffinePoint"}},"ty":{"HashConsedValue":[10705,{"Ref":[{"Body":34},{"Deduplicated":4274},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8141,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":7270}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":7271}},"Deref"]},"ty":{"Deduplicated":4274}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":7271}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8142,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8143,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8144,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":7273}},{"Use":[{"Const":{"kind":{"Literal":{"Str":"x"}},"ty":{"HashConsedValue":[10706,{"Ref":[{"Body":35},{"Deduplicated":4274},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8145,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":7272}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":7273}},"Deref"]},"ty":{"Deduplicated":4274}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":7273}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8146,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8147,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8148,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8149,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2902}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8150,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2901}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2902}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":4},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8151,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":7279}},{"UnaryOp":[{"Cast":{"Unsize":[{"Deduplicated":2901},{"HashConsedValue":[10708,{"Ref":[{"Body":36},{"HashConsedValue":[10707,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Body":37}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]},{"VTable":[{"Deduplicated":3988},{"kind":{"Ref":[{"kind":{"Global":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"HashConsedValue":[7289,{"Adt":{"id":{"Adt":13},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},null]},"ty":{"HashConsedValue":[7290,{"Ref":["Static",{"Deduplicated":7289},"Shared"]}]}}]}]}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2901}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":13,"col":29},"end":{"line":13,"col":30}},"generated_from_span":null},"id":8152,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8153,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8154,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8155,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":7281}},{"Use":[{"Const":{"kind":{"Literal":{"Str":"y"}},"ty":{"HashConsedValue":[10709,{"Ref":[{"Body":38},{"Deduplicated":4274},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8156,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":7280}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":7281}},"Deref"]},"ty":{"Deduplicated":4274}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":7281}},"PtrMetadata"]},"ty":{"Deduplicated":1551}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8157,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8158,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8159,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8160,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8161,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2913}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8162,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":4023}},{"Ref":{"place":{"kind":{"Local":16},"ty":{"Deduplicated":2913}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8163,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":4021}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":4023}},"Deref"]},"ty":{"Deduplicated":2920}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":4},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8164,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":7283}},{"UnaryOp":[{"Cast":{"Unsize":[{"Deduplicated":4021},{"HashConsedValue":[10711,{"Ref":[{"Body":40},{"HashConsedValue":[10710,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Body":41}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]},{"VTable":[{"HashConsedValue":[10712,{"kind":{"TraitImpl":{"id":117,"generics":{"regions":[{"Body":44}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2933}],"const_generics":[],"trait_refs":[]}}}}]},{"kind":{"Ref":[{"kind":{"Global":{"id":73,"generics":{"regions":[{"Body":47}],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[{"Deduplicated":3988}]}}},"ty":{"Deduplicated":7289}},null]},"ty":{"Deduplicated":7290}}]}]}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":4021}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":14,"col":29},"end":{"line":14,"col":30}},"generated_from_span":null},"id":8165,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8166,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":332}},"generics":{"regions":[{"Body":48},{"Body":55},{"Body":56},{"Body":57},{"Body":58},{"Body":59},{"Body":60}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":3021}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":7270}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":7272}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":7279}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":7280}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":7283}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":3010}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8167,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8168,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8169,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8170,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8171,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8172,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8173,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8174,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8175,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8176,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8177,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":26},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8178,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":11,"col":27},"end":{"line":11,"col":27}},"generated_from_span":null},"id":8179,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":167,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":100}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":19,"beg":{"line":18,"col":4},"end":{"line":20,"col":5}},"generated_from_span":null},"source_text":"fn ct_eq(&self, other: &Self) -> Choice {\n self.x.ct_eq(&other.x) & self.y.ct_eq(&other.y)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10542},{"HashConsedValue":[10713,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":4121},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":100,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":18,"col":4},"end":{"line":20,"col":5}},"generated_from_span":null},"bound_body_regions":18,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":18,"col":37},"end":{"line":18,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":18,"col":13},"end":{"line":18,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":2,"name":"other","span":{"data":{"file_id":19,"beg":{"line":18,"col":20},"end":{"line":18,"col":25}},"generated_from_span":null},"ty":{"HashConsedValue":[7312,{"Ref":[{"Body":2},{"Deduplicated":4121},"Shared"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":8,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":10,"name":null,"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2890}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":20,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":30}},"generated_from_span":null},"id":8180,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":14}},"generated_from_span":null},"id":8181,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":14}},"generated_from_span":null},"id":8182,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"id":8183,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"id":8184,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"id":8185,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":21},"end":{"line":19,"col":29}},"generated_from_span":null},"id":8186,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2887}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":30}},"generated_from_span":null},"id":8187,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":12},{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2886}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":29},"end":{"line":19,"col":30}},"generated_from_span":null},"id":8188,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":29},"end":{"line":19,"col":30}},"generated_from_span":null},"id":8189,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8190,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":39}},"generated_from_span":null},"id":8191,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":39}},"generated_from_span":null},"id":8192,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"id":8193,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"id":8194,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"id":8195,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":46},"end":{"line":19,"col":54}},"generated_from_span":null},"id":8196,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":33},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8197,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":16},{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2888}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":2889}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8198,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8199,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":8},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8200,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":196}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8201,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8202,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8203,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":19,"col":54},"end":{"line":19,"col":55}},"generated_from_span":null},"id":8204,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":20,"col":5},"end":{"line":20,"col":5}},"generated_from_span":null},"id":8205,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":168,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_select",0]}],"span":{"data":{"file_id":19,"beg":{"line":24,"col":4},"end":{"line":29,"col":5}},"generated_from_span":null},"source_text":"fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n Self {\n x: FieldElement::conditional_select(&a.x, &b.x, choice),\n y: FieldElement::conditional_select(&a.y, &b.y, choice),\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10542},{"Deduplicated":10713},{"Deduplicated":1496}],"output":{"Deduplicated":4121}},"src":{"TraitImpl":{"impl_ref":{"id":101,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":24,"col":4},"end":{"line":29,"col":5}},"generated_from_span":null},"bound_body_regions":20,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":24,"col":65},"end":{"line":24,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":1,"name":"a","span":{"data":{"file_id":19,"beg":{"line":24,"col":26},"end":{"line":24,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":2,"name":"b","span":{"data":{"file_id":19,"beg":{"line":24,"col":36},"end":{"line":24,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":7312}},{"index":3,"name":"choice","span":{"data":{"file_id":19,"beg":{"line":24,"col":46},"end":{"line":24,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":15},"end":{"line":26,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2796}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2886}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2887}},{"index":8,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2888}},{"index":9,"name":null,"span":{"data":{"file_id":19,"beg":{"line":26,"col":60},"end":{"line":26,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":10,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":15},"end":{"line":27,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":11,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2889}},{"index":12,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2890}},{"index":13,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2891}},{"index":14,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":2892}},{"index":15,"name":null,"span":{"data":{"file_id":19,"beg":{"line":27,"col":60},"end":{"line":27,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":1496}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":25,"col":8},"end":{"line":29,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":26,"col":15},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8206,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"id":8207,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"id":8208,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"id":8209,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":48},"end":{"line":26,"col":52}},"generated_from_span":null},"id":8210,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2796}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":2886}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"id":8211,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"id":8212,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"id":8213,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":54},"end":{"line":26,"col":58}},"generated_from_span":null},"id":8214,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2887}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":2888}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":60},"end":{"line":26,"col":66}},"generated_from_span":null},"id":8215,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":60},"end":{"line":26,"col":66}},"generated_from_span":null},"id":8216,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":15},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8217,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":14},{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2796}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2887}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":66},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8218,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":66},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8219,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":26,"col":66},"end":{"line":26,"col":67}},"generated_from_span":null},"id":8220,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":15},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8221,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"id":8222,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"id":8223,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"id":8224,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":48},"end":{"line":27,"col":52}},"generated_from_span":null},"id":8225,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2889}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":2890}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"id":8226,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"id":8227,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"id":8228,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":54},"end":{"line":27,"col":58}},"generated_from_span":null},"id":8229,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":2891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":2892}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":60},"end":{"line":27,"col":66}},"generated_from_span":null},"id":8230,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":60},"end":{"line":27,"col":66}},"generated_from_span":null},"id":8231,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1496}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":15},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8232,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":18},{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2889}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":2891}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":66},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8233,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":66},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8234,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":27,"col":66},"end":{"line":27,"col":67}},"generated_from_span":null},"id":8235,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":25,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8236,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4121}},{"Aggregate":[{"Adt":[{"id":{"Adt":10},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8237,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8238,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8239,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8240,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8241,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":28,"col":8},"end":{"line":28,"col":9}},"generated_from_span":null},"id":8242,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":29,"col":5},"end":{"line":29,"col":5}},"generated_from_span":null},"id":8243,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":169,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":102}},{"Ident":["default",0]}],"span":{"data":{"file_id":19,"beg":{"line":33,"col":4},"end":{"line":35,"col":5}},"generated_from_span":null},"source_text":"fn default() -> AffinePoint {\n AffinePoint::identity()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":4121}},"src":{"TraitImpl":{"impl_ref":{"id":102,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":33,"col":4},"end":{"line":35,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":33,"col":20},"end":{"line":33,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":4121}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":35,"col":5},"end":{"line":35,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":34,"col":8},"end":{"line":34,"col":31}},"generated_from_span":null},"id":8244,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":170}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":4121}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":35,"col":5},"end":{"line":35,"col":5}},"generated_from_span":null},"id":8245,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":170,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":103}},{"Ident":["identity",0]}],"span":{"data":{"file_id":19,"beg":{"line":39,"col":4},"end":{"line":44,"col":5}},"generated_from_span":null},"source_text":"fn identity() -> AffinePoint {\n AffinePoint {\n x: FieldElement::ZERO,\n y: FieldElement::ONE,\n }\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":4121}},"src":{"TraitImpl":{"impl_ref":{"id":103,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":39,"col":4},"end":{"line":44,"col":5}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":39,"col":21},"end":{"line":39,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":4121}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":40,"col":8},"end":{"line":44,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":40,"col":8},"end":{"line":43,"col":9}},"generated_from_span":null},"id":8246,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":4121}},{"Aggregate":[{"Adt":[{"id":{"Adt":10},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Copy":{"kind":{"Global":{"id":9,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":44,"col":5},"end":{"line":44,"col":5}},"generated_from_span":null},"id":8247,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":171,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}},{"Ident":["eq",0]}],"span":{"data":{"file_id":19,"beg":{"line":48,"col":4},"end":{"line":50,"col":5}},"generated_from_span":null},"source_text":"fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10542},{"Deduplicated":10713}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":104,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":4121},{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":48,"col":4},"end":{"line":50,"col":5}},"generated_from_span":null},"bound_body_regions":9,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":48,"col":34},"end":{"line":48,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":48,"col":10},"end":{"line":48,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":2,"name":"other","span":{"data":{"file_id":19,"beg":{"line":48,"col":17},"end":{"line":48,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":7312}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[7313,{"Ref":[{"Body":3},{"Deduplicated":4121},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":49,"col":19},"end":{"line":49,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[7314,{"Ref":[{"Body":4},{"Deduplicated":4121},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":50,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":25}},"generated_from_span":null},"id":8248,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":12}},"generated_from_span":null},"id":8249,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":12}},"generated_from_span":null},"id":8250,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":7313}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":19},"end":{"line":49,"col":24}},"generated_from_span":null},"id":8251,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":19},"end":{"line":49,"col":24}},"generated_from_span":null},"id":8252,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":7314}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7312}},"Deref"]},"ty":{"Deduplicated":4121}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":25}},"generated_from_span":null},"id":8253,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":167}},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":7313}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":7314}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":24},"end":{"line":49,"col":25}},"generated_from_span":null},"id":8254,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":24},"end":{"line":49,"col":25}},"generated_from_span":null},"id":8255,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":8},"end":{"line":49,"col":32}},"generated_from_span":null},"id":8256,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":49,"col":31},"end":{"line":49,"col":32}},"generated_from_span":null},"id":8257,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":50,"col":5},"end":{"line":50,"col":5}},"generated_from_span":null},"id":8258,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":172,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":4121},"kind":"InherentImplBlock"}}},{"Ident":["to_edwards",0]}],"span":{"data":{"file_id":19,"beg":{"line":60,"col":4},"end":{"line":67,"col":5}},"generated_from_span":null},"source_text":"pub fn to_edwards(self) -> EdwardsPoint {\n EdwardsPoint {\n X: self.x,\n Y: self.y,\n Z: FieldElement::ONE,\n T: &self.x * &self.y,\n }\n }","attr_info":{"attributes":[{"DocComment":" Convert to extended coordinates."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":4121}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":60,"col":4},"end":{"line":67,"col":5}},"generated_from_span":null},"bound_body_regions":6,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":60,"col":31},"end":{"line":60,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":60,"col":22},"end":{"line":60,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":2,"name":null,"span":{"data":{"file_id":19,"beg":{"line":62,"col":15},"end":{"line":62,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":63,"col":15},"end":{"line":63,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":2793}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2794}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":2795}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":61,"col":8},"end":{"line":67,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":62,"col":15},"end":{"line":62,"col":21}},"generated_from_span":null},"id":8259,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":62,"col":15},"end":{"line":62,"col":21}},"generated_from_span":null},"id":8260,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":63,"col":15},"end":{"line":63,"col":21}},"generated_from_span":null},"id":8261,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":63,"col":15},"end":{"line":63,"col":21}},"generated_from_span":null},"id":8262,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8263,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":22}},"generated_from_span":null},"id":8264,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":22}},"generated_from_span":null},"id":8265,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2793}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8266,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8267,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8268,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":25},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8269,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2794}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":2795}},"Deref"]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":15},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8270,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":26}},"generics":{"regions":[{"Body":4},{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2793}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2794}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":31},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8271,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":65,"col":31},"end":{"line":65,"col":32}},"generated_from_span":null},"id":8272,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":61,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8273,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Copy":{"kind":{"Global":{"id":10,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":66,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8274,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":66,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8275,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":66,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8276,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":66,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"id":8277,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":67,"col":5},"end":{"line":67,"col":5}},"generated_from_span":null},"id":8278,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":173,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":4121},"kind":"InherentImplBlock"}}},{"Ident":["compress",0]}],"span":{"data":{"file_id":19,"beg":{"line":71,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"source_text":"pub fn compress(self) -> CompressedEdwardsY {\n let mut s = self.y.to_bytes();\n s[31] ^= self.x.is_negative().unwrap_u8() << 7;\n CompressedEdwardsY(s)\n }","attr_info":{"attributes":[{"DocComment":" Compress affine Edwards coordinates into `CompressedEdwardsY` format."}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":4121}],"output":{"Deduplicated":2116}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":71,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"bound_body_regions":8,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":71,"col":29},"end":{"line":71,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2116}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":71,"col":20},"end":{"line":71,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":2,"name":"s","span":{"data":{"file_id":19,"beg":{"line":72,"col":12},"end":{"line":72,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":72,"col":20},"end":{"line":72,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":6,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[7317,{"Ref":[{"Body":1},{"Deduplicated":1496},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":8,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2795}},{"index":9,"name":null,"span":{"data":{"file_id":19,"beg":{"line":73,"col":10},"end":{"line":73,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":19,"beg":{"line":74,"col":27},"end":{"line":74,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":11,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":12,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9403}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":72,"col":12},"end":{"line":75,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":72,"col":12},"end":{"line":72,"col":17}},"generated_from_span":null},"id":8282,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":72,"col":20},"end":{"line":72,"col":26}},"generated_from_span":null},"id":8283,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":72,"col":20},"end":{"line":72,"col":26}},"generated_from_span":null},"id":8284,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1391}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},1]}]},"ty":{"Deduplicated":1391}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":72,"col":20},"end":{"line":72,"col":37}},"generated_from_span":null},"id":8285,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":72,"col":36},"end":{"line":72,"col":37}},"generated_from_span":null},"id":8286,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8287,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":49}},"generated_from_span":null},"id":8288,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8289,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8290,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":23}},"generated_from_span":null},"id":8291,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":23}},"generated_from_span":null},"id":8292,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2795}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":4121}},{"Field":[{"Adt":[10,null]},0]}]},"ty":{"Deduplicated":1391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8293,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":9}},"generics":{"regions":[{"Body":5}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2795}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8294,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":7317}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1496}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":36},"end":{"line":73,"col":37}},"generated_from_span":null},"id":8295,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":49}},"generated_from_span":null},"id":8296,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":333}},"generics":{"regions":[{"Body":7}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":7317}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":2113}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":48},"end":{"line":73,"col":49}},"generated_from_span":null},"id":8297,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":17},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8301,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2113}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","7"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":53},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8302,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":10},"end":{"line":73,"col":12}},"generated_from_span":null},"id":8303,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":10},"end":{"line":73,"col":12}},"generated_from_span":null},"id":8304,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8307,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":10693,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":10694,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":9403}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":10695,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":10696,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":9403}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8308,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitXor",{"Copy":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":10697,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":10698,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":10699,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":10700,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":8},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8309,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"Use":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2113}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":53},"end":{"line":73,"col":54}},"generated_from_span":null},"id":8310,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":54},"end":{"line":73,"col":55}},"generated_from_span":null},"id":8311,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":73,"col":54},"end":{"line":73,"col":55}},"generated_from_span":null},"id":8312,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":74,"col":27},"end":{"line":74,"col":28}},"generated_from_span":null},"id":8313,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":74,"col":27},"end":{"line":74,"col":28}},"generated_from_span":null},"id":8314,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":74,"col":8},"end":{"line":74,"col":29}},"generated_from_span":null},"id":8315,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2116}},{"Aggregate":[{"Adt":[{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":74,"col":28},"end":{"line":74,"col":29}},"generated_from_span":null},"id":8316,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":75,"col":4},"end":{"line":75,"col":5}},"generated_from_span":null},"id":8317,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":75,"col":5},"end":{"line":75,"col":5}},"generated_from_span":null},"id":8318,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":174,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}},{"Ident":["mul",0]}],"span":{"data":{"file_id":19,"beg":{"line":82,"col":4},"end":{"line":84,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, rhs: AffinePoint) -> EdwardsPoint {\n self * &rhs\n }","attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2689},{"Deduplicated":4121}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":106,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":4121},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":82,"col":4},"end":{"line":84,"col":5}},"generated_from_span":null},"bound_body_regions":3,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":82,"col":38},"end":{"line":82,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":82,"col":11},"end":{"line":82,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":2,"name":"rhs","span":{"data":{"file_id":19,"beg":{"line":82,"col":17},"end":{"line":82,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":83,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":83,"col":15},"end":{"line":83,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":7267}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":84,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":83,"col":12}},"generated_from_span":null},"id":8319,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":83,"col":12}},"generated_from_span":null},"id":8320,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2689}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2689}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":15},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8321,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":15},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8322,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":7267}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":4121}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":8},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8323,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":175}},"generics":{"regions":[{"Body":2}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":2689}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":7267}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":18},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8324,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":83,"col":18},"end":{"line":83,"col":19}},"generated_from_span":null},"id":8325,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":84,"col":5},"end":{"line":84,"col":5}},"generated_from_span":null},"id":8326,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":175,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}},{"Ident":["mul",0]}],"span":{"data":{"file_id":19,"beg":{"line":91,"col":4},"end":{"line":93,"col":5}},"generated_from_span":null},"source_text":"fn mul(self, rhs: &AffinePoint) -> EdwardsPoint {\n rhs.to_edwards() * self\n }","attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2689},{"Deduplicated":10542}],"output":{"Deduplicated":1955}},"src":{"TraitImpl":{"impl_ref":{"id":107,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":10542},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":19,"beg":{"line":91,"col":4},"end":{"line":93,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":19,"beg":{"line":91,"col":39},"end":{"line":91,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"self","span":{"data":{"file_id":19,"beg":{"line":91,"col":11},"end":{"line":91,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":2,"name":"rhs","span":{"data":{"file_id":19,"beg":{"line":91,"col":17},"end":{"line":91,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":7267}},{"index":3,"name":null,"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":4,"name":null,"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":4121}},{"index":5,"name":null,"span":{"data":{"file_id":19,"beg":{"line":92,"col":27},"end":{"line":92,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":2689}}]},"body":{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":93,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"id":8327,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":11}},"generated_from_span":null},"id":8328,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":11}},"generated_from_span":null},"id":8329,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4121}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":7267}},"Deref"]},"ty":{"Deduplicated":4121}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"id":8330,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":172}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4121}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":23},"end":{"line":92,"col":24}},"generated_from_span":null},"id":8331,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":27},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8332,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":27},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8333,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2689}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2689}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":8},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8334,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":119}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1955}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2689}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":30},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8335,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":92,"col":30},"end":{"line":92,"col":31}},"generated_from_span":null},"id":8336,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":19,"beg":{"line":93,"col":5},"end":{"line":93,"col":5}},"generated_from_span":null},"id":8337,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":176,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["finish",0]}],"span":{"data":{"file_id":20,"beg":{"line":334,"col":4},"end":{"line":334,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the hash value for the values written so far."},{"DocComment":""},{"DocComment":" Despite its name, the method does not reset the hasher’s internal"},{"DocComment":" state. Additional [`write`]s will continue from the current value."},{"DocComment":" If you need to start a fresh hash value, you will have to create"},{"DocComment":" a new hasher."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" hasher.write(b\"Cool!\");"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`write`]: Hasher::write"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551}],"output":{"Deduplicated":1550}},"src":{"TraitDecl":{"trait_ref":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":177,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]},{"Ident":["write",0]}],"span":{"data":{"file_id":20,"beg":{"line":357,"col":4},"end":{"line":357,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Writes some data into this `Hasher`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" let data = [0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef];"},{"DocComment":""},{"DocComment":" hasher.write(&data);"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Note to Implementers"},{"DocComment":""},{"DocComment":" You generally should not do length-prefixing as part of implementing"},{"DocComment":" this method. It's up to the [`Hash`] implementation to call"},{"DocComment":" [`Hasher::write_length_prefix`] before sequences that need it."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10661},{"HashConsedValue":[10714,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2239},"Shared"]}]}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"def_id":192,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":124}},{"Ident":["hash",0]}],"span":{"data":{"file_id":22,"beg":{"line":349,"col":4},"end":{"line":349,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"H"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":348,"col":8},"end":{"line":348,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":22,"beg":{"line":349,"col":15},"end":{"line":349,"col":27}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10687},{"Deduplicated":10669}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":124,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"HashConsedValue":[10558,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10546}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":193,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["decompress",0]},{"Ident":["step_1",0]}],"span":{"data":{"file_id":7,"beg":{"line":226,"col":4},"end":{"line":237,"col":5}},"generated_from_span":null},"source_text":"pub(super) fn step_1(\n repr: &CompressedEdwardsY,\n ) -> (Choice, FieldElement, FieldElement, FieldElement) {\n let Y = FieldElement::from_bytes(repr.as_bytes());\n let Z = FieldElement::ONE;\n let YY = Y.square();\n let u = &YY - &Z; // u = y²-1\n let v = &(&YY * &constants::EDWARDS_D) + &Z; // v = dy²+1\n let (is_valid_y_coord, X) = FieldElement::sqrt_ratio_i(&u, &v);\n\n (is_valid_y_coord, X, Y, Z)\n }","attr_info":{"attributes":[{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664}],"output":{"Deduplicated":4408}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":194,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["decompress",0]},{"Ident":["step_2",0]}],"span":{"data":{"file_id":7,"beg":{"line":240,"col":4},"end":{"line":257,"col":5}},"generated_from_span":null},"source_text":"pub(super) fn step_2(\n repr: &CompressedEdwardsY,\n mut X: FieldElement,\n Y: FieldElement,\n Z: FieldElement,\n ) -> EdwardsPoint {\n // FieldElement::sqrt_ratio_i always returns the nonnegative square root,\n // so we negate according to the supplied sign bit.\n let compressed_sign_bit = Choice::from(repr.as_bytes()[31] >> 7);\n X.conditional_negate(compressed_sign_bit);\n\n EdwardsPoint {\n X,\n Y,\n Z,\n T: &X * &Y,\n }\n }","attr_info":{"attributes":[{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664},{"Deduplicated":1391},{"Deduplicated":1391},{"Deduplicated":1391}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":195,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["TryFrom",0]},{"Ident":["try_from",0]}],"span":{"data":{"file_id":21,"beg":{"line":702,"col":4},"end":{"line":702,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the conversion."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"try_from_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Error"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10512}],"output":{"HashConsedValue":[10592,{"Adt":{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":196,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}},{"Ident":["bitand",0]}],"span":{"data":{"file_id":11,"beg":{"line":162,"col":4},"end":{"line":162,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1496},{"Deduplicated":1496}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":128,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1496},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":197,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]},{"Ident":["borrow",0]}],"span":{"data":{"file_id":23,"beg":{"line":179,"col":4},"end":{"line":179,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Immutably borrows from an owned value."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::borrow::Borrow;"},{"DocComment":""},{"DocComment":" fn check>(s: T) {"},{"DocComment":" assert_eq!(\"Hello\", s.borrow());"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let s = \"Hello\".to_string();"},{"DocComment":""},{"DocComment":" check(s);"},{"DocComment":""},{"DocComment":" let s = \"Hello\";"},{"DocComment":""},{"DocComment":" check(s);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Borrowed"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551}],"output":{"HashConsedValue":[10715,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10512},"Shared"]}]}},"src":{"TraitDecl":{"trait_ref":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":198,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]},{"Ident":["sum",0]}],"span":{"data":{"file_id":24,"beg":{"line":22,"col":4},"end":{"line":22,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by \"summing up\""},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":24,"beg":{"line":22,"col":14},"end":{"line":22,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10547},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10547}],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":199,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next",0]}],"span":{"data":{"file_id":27,"beg":{"line":78,"col":4},"end":{"line":78,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Advances the iterator and returns the next value."},{"DocComment":""},{"DocComment":" Returns [`None`] when iteration is finished. Individual iterator"},{"DocComment":" implementations may choose to resume iteration, and so calling `next()`"},{"DocComment":" again may or may not eventually start returning [`Some(Item)`] again at some"},{"DocComment":" point."},{"DocComment":""},{"DocComment":" [`Some(Item)`]: Some"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = [1, 2, 3];"},{"DocComment":""},{"DocComment":" let mut iter = a.into_iter();"},{"DocComment":""},{"DocComment":" // A call to next() returns the next value..."},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":""},{"DocComment":" // ... and then None once it's over."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":""},{"DocComment":" // More calls may or may not return `None`. Here, they always will."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"next"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10661}],"output":{"HashConsedValue":[10598,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"def_id":276,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["variable_base_mul",0]}],"span":{"data":{"file_id":4,"beg":{"line":221,"col":0},"end":{"line":227,"col":1}},"generated_from_span":null},"source_text":"pub fn variable_base_mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => vector::scalar_mul::variable_base::spec_avx2::mul(point, scalar),\n BackendKind::Serial => serial::scalar_mul::variable_base::mul(point, scalar),\n }\n}","attr_info":{"attributes":[{"DocComment":" Perform constant-time, variable-base scalar multiplication."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":10538}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":4,"beg":{"line":221,"col":0},"end":{"line":227,"col":1}},"generated_from_span":null},"bound_body_regions":16,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":4,"beg":{"line":221,"col":67},"end":{"line":221,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"point","span":{"data":{"file_id":4,"beg":{"line":221,"col":25},"end":{"line":221,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"scalar","span":{"data":{"file_id":4,"beg":{"line":221,"col":47},"end":{"line":221,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":6592}},{"index":3,"name":null,"span":{"data":{"file_id":4,"beg":{"line":222,"col":10},"end":{"line":222,"col":32}},"generated_from_span":null},"ty":{"HashConsedValue":[7803,{"Adt":{"id":{"Adt":74},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":4,"name":null,"span":{"data":{"file_id":4,"beg":{"line":224,"col":79},"end":{"line":224,"col":84}},"generated_from_span":null},"ty":{"Deduplicated":4435}},{"index":5,"name":null,"span":{"data":{"file_id":4,"beg":{"line":224,"col":86},"end":{"line":224,"col":92}},"generated_from_span":null},"ty":{"Deduplicated":6600}},{"index":6,"name":null,"span":{"data":{"file_id":4,"beg":{"line":225,"col":70},"end":{"line":225,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":4519}},{"index":7,"name":null,"span":{"data":{"file_id":4,"beg":{"line":225,"col":77},"end":{"line":225,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":6593}}]},"body":{"span":{"data":{"file_id":4,"beg":{"line":222,"col":4},"end":{"line":227,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":222,"col":10},"end":{"line":222,"col":32}},"generated_from_span":null},"id":8339,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":222,"col":10},"end":{"line":222,"col":32}},"generated_from_span":null},"id":8340,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":373}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":7803}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":222,"col":4},"end":{"line":225,"col":84}},"generated_from_span":null},"id":8359,"kind":{"Switch":{"Match":[{"kind":{"Local":3},"ty":{"Deduplicated":7803}},[[[0],{"span":{"data":{"file_id":4,"beg":{"line":224,"col":79},"end":{"line":224,"col":93}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":224,"col":79},"end":{"line":224,"col":84}},"generated_from_span":null},"id":8342,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":79},"end":{"line":224,"col":84}},"generated_from_span":null},"id":8343,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4435}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":86},"end":{"line":224,"col":92}},"generated_from_span":null},"id":8344,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":86},"end":{"line":224,"col":92}},"generated_from_span":null},"id":8345,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":6592}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":29},"end":{"line":224,"col":93}},"generated_from_span":null},"id":8346,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":375}},"generics":{"regions":[{"Body":14},{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4435}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6600}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":92},"end":{"line":224,"col":93}},"generated_from_span":null},"id":8347,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":224,"col":92},"end":{"line":224,"col":93}},"generated_from_span":null},"id":8348,"kind":{"StorageDead":4},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":4,"beg":{"line":225,"col":70},"end":{"line":225,"col":84}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":225,"col":70},"end":{"line":225,"col":75}},"generated_from_span":null},"id":8350,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":70},"end":{"line":225,"col":75}},"generated_from_span":null},"id":8351,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":77},"end":{"line":225,"col":83}},"generated_from_span":null},"id":8352,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":77},"end":{"line":225,"col":83}},"generated_from_span":null},"id":8353,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":6592}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":31},"end":{"line":225,"col":84}},"generated_from_span":null},"id":8354,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":374}},"generics":{"regions":[{"Body":10},{"Body":11}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":83},"end":{"line":225,"col":84}},"generated_from_span":null},"id":8355,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":225,"col":83},"end":{"line":225,"col":84}},"generated_from_span":null},"id":8356,"kind":{"StorageDead":6},"comments_before":[]}]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":226,"col":4},"end":{"line":226,"col":5}},"generated_from_span":null},"id":8360,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":227,"col":1},"end":{"line":227,"col":1}},"generated_from_span":null},"id":8361,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":277,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Ident":["clamp_integer",0]}],"span":{"data":{"file_id":28,"beg":{"line":1610,"col":0},"end":{"line":1615,"col":1}},"generated_from_span":null},"source_text":"pub const fn clamp_integer(mut bytes: [u8; 32]) -> [u8; 32] {\n bytes[0] &= 0b1111_1000;\n bytes[31] &= 0b0111_1111;\n bytes[31] |= 0b0100_0000;\n bytes\n}","attr_info":{"attributes":[{"DocComment":" _Clamps_ the given little-endian representation of a 32-byte integer. Clamping the value puts"},{"DocComment":" it in the range:"},{"DocComment":""},{"DocComment":" **n ∈ 2^254 + 8\\*{0, 1, 2, 3, . . ., 2^251 − 1}**"},{"DocComment":""},{"DocComment":" # Explanation of clamping"},{"DocComment":""},{"DocComment":" For Curve25519, h = 8, and multiplying by 8 is the same as a binary left-shift by 3 bits."},{"DocComment":" If you take a secret scalar value between 2^251 and 2^252 – 1 and left-shift by 3 bits"},{"DocComment":" then you end up with a 255-bit number with the most significant bit set to 1 and"},{"DocComment":" the least-significant three bits set to 0."},{"DocComment":""},{"DocComment":" The Curve25519 clamping operation takes **an arbitrary 256-bit random value** and"},{"DocComment":" clears the most-significant bit (making it a 255-bit number), sets the next bit, and then"},{"DocComment":" clears the 3 least-significant bits. In other words, it directly creates a scalar value that is"},{"DocComment":" in the right form and pre-multiplied by the cofactor."},{"DocComment":""},{"DocComment":" See [here](https://neilmadden.blog/2020/05/28/whats-the-curve25519-clamping-all-about/) for"},{"DocComment":" more details."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2114}],"output":{"Deduplicated":2114}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":1610,"col":0},"end":{"line":1615,"col":1}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1610,"col":51},"end":{"line":1610,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":1,"name":"bytes","span":{"data":{"file_id":28,"beg":{"line":1610,"col":27},"end":{"line":1610,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":2114}},{"index":2,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1611,"col":10},"end":{"line":1611,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":3,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1612,"col":10},"end":{"line":1612,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":4,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1613,"col":10},"end":{"line":1613,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":5,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":6,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":7,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":8,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9403}},{"index":9,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":10,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":11,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":12,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9403}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9403}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9409}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9408}}]},"body":{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1615,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":10},"end":{"line":1611,"col":11}},"generated_from_span":null},"id":8365,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":10},"end":{"line":1611,"col":11}},"generated_from_span":null},"id":8366,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":8369,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":10701,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":10702,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":9403}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":10703,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":10704,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":9403}}},{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":8370,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","248"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":10705,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":10706,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":10707,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":10708,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":4},"end":{"line":1611,"col":27}},"generated_from_span":null},"id":8371,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"Use":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":2113}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1611,"col":27},"end":{"line":1611,"col":28}},"generated_from_span":null},"id":8372,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":10},"end":{"line":1612,"col":12}},"generated_from_span":null},"id":8373,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":10},"end":{"line":1612,"col":12}},"generated_from_span":null},"id":8374,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":8377,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":10709,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":10710,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":9403}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":10711,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":10712,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":9403}}},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":8378,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitAnd",{"Copy":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","127"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":10713,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":10714,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":10715,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":10716,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":4},"end":{"line":1612,"col":28}},"generated_from_span":null},"id":8379,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"Use":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2113}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1612,"col":28},"end":{"line":1612,"col":29}},"generated_from_span":null},"id":8380,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":10},"end":{"line":1613,"col":12}},"generated_from_span":null},"id":8381,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":10},"end":{"line":1613,"col":12}},"generated_from_span":null},"id":8382,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","31"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":8385,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":10717,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":10718,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":9403}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":10719,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":10720,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":9403}}},{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":8386,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2113}},{"BinaryOp":["BitOr",{"Copy":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","64"]}}},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":10721,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":10722,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":9409}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":2114}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":10723,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":10724,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":9409}}},{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":9408}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":4},"end":{"line":1613,"col":28}},"generated_from_span":null},"id":8387,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":9408}},"Deref"]},"ty":{"Deduplicated":2113}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2113}}},"No"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1613,"col":28},"end":{"line":1613,"col":29}},"generated_from_span":null},"id":8388,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1614,"col":4},"end":{"line":1614,"col":9}},"generated_from_span":null},"id":8389,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2114}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":2114}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1615,"col":1},"end":{"line":1615,"col":1}},"generated_from_span":null},"id":8390,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":278,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_double_base_mul",0]}],"span":{"data":{"file_id":4,"beg":{"line":231,"col":0},"end":{"line":237,"col":1}},"generated_from_span":null},"source_text":"pub fn vartime_double_base_mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => vector::scalar_mul::vartime_double_base::spec_avx2::mul(a, A, b),\n BackendKind::Serial => serial::scalar_mul::vartime_double_base::mul(a, A, b),\n }\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"Unknown":{"path":"allow","args":"non_snake_case"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"Deduplicated":10681}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":4,"beg":{"line":231,"col":0},"end":{"line":237,"col":1}},"generated_from_span":null},"bound_body_regions":23,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":4,"beg":{"line":231,"col":76},"end":{"line":231,"col":88}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a","span":{"data":{"file_id":4,"beg":{"line":231,"col":31},"end":{"line":231,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A","span":{"data":{"file_id":4,"beg":{"line":231,"col":43},"end":{"line":231,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"b","span":{"data":{"file_id":4,"beg":{"line":231,"col":61},"end":{"line":231,"col":62}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":null,"span":{"data":{"file_id":4,"beg":{"line":232,"col":10},"end":{"line":232,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":7803}},{"index":5,"name":null,"span":{"data":{"file_id":4,"beg":{"line":234,"col":85},"end":{"line":234,"col":86}},"generated_from_span":null},"ty":{"Deduplicated":6600}},{"index":6,"name":null,"span":{"data":{"file_id":4,"beg":{"line":234,"col":88},"end":{"line":234,"col":89}},"generated_from_span":null},"ty":{"Deduplicated":4519}},{"index":7,"name":null,"span":{"data":{"file_id":4,"beg":{"line":234,"col":91},"end":{"line":234,"col":92}},"generated_from_span":null},"ty":{"Deduplicated":6593}},{"index":8,"name":null,"span":{"data":{"file_id":4,"beg":{"line":235,"col":76},"end":{"line":235,"col":77}},"generated_from_span":null},"ty":{"HashConsedValue":[7845,{"Ref":[{"Body":8},{"Deduplicated":2689},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":4,"beg":{"line":235,"col":79},"end":{"line":235,"col":80}},"generated_from_span":null},"ty":{"HashConsedValue":[7846,{"Ref":[{"Body":9},{"Deduplicated":1955},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":4,"beg":{"line":235,"col":82},"end":{"line":235,"col":83}},"generated_from_span":null},"ty":{"HashConsedValue":[7847,{"Ref":[{"Body":10},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":4,"beg":{"line":232,"col":4},"end":{"line":237,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":232,"col":10},"end":{"line":232,"col":32}},"generated_from_span":null},"id":8392,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":232,"col":10},"end":{"line":232,"col":32}},"generated_from_span":null},"id":8393,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":373}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":7803}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":232,"col":4},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8418,"kind":{"Switch":{"Match":[{"kind":{"Local":4},"ty":{"Deduplicated":7803}},[[[0],{"span":{"data":{"file_id":4,"beg":{"line":234,"col":85},"end":{"line":234,"col":93}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":234,"col":85},"end":{"line":234,"col":86}},"generated_from_span":null},"id":8395,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":85},"end":{"line":234,"col":86}},"generated_from_span":null},"id":8396,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":88},"end":{"line":234,"col":89}},"generated_from_span":null},"id":8397,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":88},"end":{"line":234,"col":89}},"generated_from_span":null},"id":8398,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4519}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":91},"end":{"line":234,"col":92}},"generated_from_span":null},"id":8399,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":91},"end":{"line":234,"col":92}},"generated_from_span":null},"id":8400,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":29},"end":{"line":234,"col":93}},"generated_from_span":null},"id":8401,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":378}},"generics":{"regions":[{"Body":20},{"Body":21},{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6600}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4519}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":92},"end":{"line":234,"col":93}},"generated_from_span":null},"id":8402,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":92},"end":{"line":234,"col":93}},"generated_from_span":null},"id":8403,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":234,"col":92},"end":{"line":234,"col":93}},"generated_from_span":null},"id":8404,"kind":{"StorageDead":5},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":4,"beg":{"line":235,"col":76},"end":{"line":235,"col":84}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":235,"col":76},"end":{"line":235,"col":77}},"generated_from_span":null},"id":8406,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":76},"end":{"line":235,"col":77}},"generated_from_span":null},"id":8407,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":7845}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":79},"end":{"line":235,"col":80}},"generated_from_span":null},"id":8408,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":79},"end":{"line":235,"col":80}},"generated_from_span":null},"id":8409,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":7846}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":82},"end":{"line":235,"col":83}},"generated_from_span":null},"id":8410,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":82},"end":{"line":235,"col":83}},"generated_from_span":null},"id":8411,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":7847}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":31},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8412,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":377}},"generics":{"regions":[{"Body":14},{"Body":15},{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":7845}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":7846}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":7847}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":83},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8413,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":83},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8414,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":235,"col":83},"end":{"line":235,"col":84}},"generated_from_span":null},"id":8415,"kind":{"StorageDead":8},"comments_before":[]}]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":236,"col":4},"end":{"line":236,"col":5}},"generated_from_span":null},"id":8419,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":237,"col":1},"end":{"line":237,"col":1}},"generated_from_span":null},"id":8420,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":279,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_triple_base_mul_128_128_256",0]}],"span":{"data":{"file_id":4,"beg":{"line":244,"col":0},"end":{"line":256,"col":1}},"generated_from_span":null},"source_text":"pub fn vartime_triple_base_mul_128_128_256(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n if !scalar_fits_in_128_bits(a1) || !scalar_fits_in_128_bits(a2) {\n return (a1 * A1) + (a2 * A2) + EdwardsPoint::mul_base(b);\n }\n\n vartime_triple_base_mul_128_128_256_prechecked(a1, A1, a2, A2, b)\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":""},{"DocComment":" This function uses an optimized path when \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\),"},{"DocComment":" and falls back to general scalar multiplication otherwise."},{"Unknown":{"path":"allow","args":"non_snake_case"}}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"Deduplicated":10681},{"Deduplicated":10682},{"Deduplicated":10683}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":4,"beg":{"line":244,"col":0},"end":{"line":256,"col":1}},"generated_from_span":null},"bound_body_regions":39,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":4,"beg":{"line":250,"col":5},"end":{"line":250,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a1","span":{"data":{"file_id":4,"beg":{"line":245,"col":4},"end":{"line":245,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A1","span":{"data":{"file_id":4,"beg":{"line":246,"col":4},"end":{"line":246,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"a2","span":{"data":{"file_id":4,"beg":{"line":247,"col":4},"end":{"line":247,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":"A2","span":{"data":{"file_id":4,"beg":{"line":248,"col":4},"end":{"line":248,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":5,"name":"b","span":{"data":{"file_id":4,"beg":{"line":249,"col":4},"end":{"line":249,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":6640}},{"index":6,"name":null,"span":{"data":{"file_id":4,"beg":{"line":251,"col":8},"end":{"line":251,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":7,"name":null,"span":{"data":{"file_id":4,"beg":{"line":251,"col":32},"end":{"line":251,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":6593}},{"index":8,"name":null,"span":{"data":{"file_id":4,"beg":{"line":251,"col":40},"end":{"line":251,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":9,"name":null,"span":{"data":{"file_id":4,"beg":{"line":251,"col":64},"end":{"line":251,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":7845}},{"index":10,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":11,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":12,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":16},"end":{"line":252,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":6641}},{"index":13,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":21},"end":{"line":252,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":6642}},{"index":14,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":27},"end":{"line":252,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":15,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":28},"end":{"line":252,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":6643}},{"index":16,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":33},"end":{"line":252,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[7890,{"Ref":[{"Body":12},{"Deduplicated":1955},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":39},"end":{"line":252,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":18,"name":null,"span":{"data":{"file_id":4,"beg":{"line":252,"col":62},"end":{"line":252,"col":63}},"generated_from_span":null},"ty":{"HashConsedValue":[7891,{"Ref":[{"Body":13},{"Deduplicated":2689},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":51},"end":{"line":255,"col":53}},"generated_from_span":null},"ty":{"HashConsedValue":[7892,{"Ref":[{"Body":14},{"Deduplicated":2689},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":55},"end":{"line":255,"col":57}},"generated_from_span":null},"ty":{"HashConsedValue":[7893,{"Ref":[{"Body":15},{"Deduplicated":1955},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":59},"end":{"line":255,"col":61}},"generated_from_span":null},"ty":{"HashConsedValue":[7894,{"Ref":[{"Body":16},{"Deduplicated":2689},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":63},"end":{"line":255,"col":65}},"generated_from_span":null},"ty":{"HashConsedValue":[7895,{"Ref":[{"Body":17},{"Deduplicated":1955},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":4,"beg":{"line":255,"col":67},"end":{"line":255,"col":68}},"generated_from_span":null},"ty":{"HashConsedValue":[7896,{"Ref":[{"Body":18},{"Deduplicated":2689},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":4,"beg":{"line":251,"col":4},"end":{"line":256,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":8},"end":{"line":251,"col":35}},"generated_from_span":null},"id":8422,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":32},"end":{"line":251,"col":34}},"generated_from_span":null},"id":8423,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":32},"end":{"line":251,"col":34}},"generated_from_span":null},"id":8424,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":8},"end":{"line":251,"col":35}},"generated_from_span":null},"id":8425,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":379}},"generics":{"regions":[{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6593}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":8},"end":{"line":256,"col":1}},"generated_from_span":null},"id":8458,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":34},"end":{"line":256,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":34},"end":{"line":251,"col":35}},"generated_from_span":null},"id":8426,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":40},"end":{"line":251,"col":67}},"generated_from_span":null},"id":8427,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":64},"end":{"line":251,"col":66}},"generated_from_span":null},"id":8428,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":64},"end":{"line":251,"col":66}},"generated_from_span":null},"id":8429,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":7845}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":40},"end":{"line":251,"col":67}},"generated_from_span":null},"id":8430,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":379}},"generics":{"regions":[{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":7845}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":40},"end":{"line":256,"col":1}},"generated_from_span":null},"id":8455,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":66},"end":{"line":256,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":66},"end":{"line":251,"col":67}},"generated_from_span":null},"id":8431,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":253,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"id":8433,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":253,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"id":8434,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":51},"end":{"line":255,"col":53}},"generated_from_span":null},"id":8436,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":51},"end":{"line":255,"col":53}},"generated_from_span":null},"id":8437,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":7892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":55},"end":{"line":255,"col":57}},"generated_from_span":null},"id":8438,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":55},"end":{"line":255,"col":57}},"generated_from_span":null},"id":8439,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":7893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":59},"end":{"line":255,"col":61}},"generated_from_span":null},"id":8440,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":59},"end":{"line":255,"col":61}},"generated_from_span":null},"id":8441,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":7894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":63},"end":{"line":255,"col":65}},"generated_from_span":null},"id":8442,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":63},"end":{"line":255,"col":65}},"generated_from_span":null},"id":8443,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":7895}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":67},"end":{"line":255,"col":68}},"generated_from_span":null},"id":8444,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":67},"end":{"line":255,"col":68}},"generated_from_span":null},"id":8445,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":7896}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":4},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8446,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":380}},"generics":{"regions":[{"Body":30},{"Body":31},{"Body":32},{"Body":33},{"Body":34}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":7892}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":7893}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":7894}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":7895}}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":7896}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8447,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8448,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8449,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8450,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":255,"col":68},"end":{"line":255,"col":69}},"generated_from_span":null},"id":8451,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":256,"col":1},"end":{"line":256,"col":1}},"generated_from_span":null},"id":8452,"kind":"Return","comments_before":[]}]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":66},"end":{"line":253,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":66},"end":{"line":251,"col":67}},"generated_from_span":null},"id":8453,"kind":{"StorageDead":9},"comments_before":[]}]}]}},"comments_before":[]}]},{"span":{"data":{"file_id":4,"beg":{"line":251,"col":34},"end":{"line":253,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":251,"col":34},"end":{"line":251,"col":35}},"generated_from_span":null},"id":8456,"kind":{"StorageDead":7},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8459,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":24}},"generated_from_span":null},"id":8460,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":16},"end":{"line":252,"col":18}},"generated_from_span":null},"id":8461,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":16},"end":{"line":252,"col":18}},"generated_from_span":null},"id":8462,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":6641}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":6598}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":21},"end":{"line":252,"col":23}},"generated_from_span":null},"id":8463,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":21},"end":{"line":252,"col":23}},"generated_from_span":null},"id":8464,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":6642}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":24}},"generated_from_span":null},"id":8465,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":23},{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":6641}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":6642}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":23},"end":{"line":252,"col":24}},"generated_from_span":null},"id":8466,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":23},"end":{"line":252,"col":24}},"generated_from_span":null},"id":8467,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":27},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8468,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":28},"end":{"line":252,"col":30}},"generated_from_span":null},"id":8469,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":28},"end":{"line":252,"col":30}},"generated_from_span":null},"id":8470,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":6643}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":6595}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":33},"end":{"line":252,"col":35}},"generated_from_span":null},"id":8471,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":33},"end":{"line":252,"col":35}},"generated_from_span":null},"id":8472,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":7890}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":4521}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":27},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8473,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":124}},"generics":{"regions":[{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":6643}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":7890}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":35},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8474,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":35},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8475,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8476,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":103}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1955}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":35},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8477,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":35},"end":{"line":252,"col":36}},"generated_from_span":null},"id":8478,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":39},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8479,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":62},"end":{"line":252,"col":63}},"generated_from_span":null},"id":8480,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":62},"end":{"line":252,"col":63}},"generated_from_span":null},"id":8481,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":7891}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":39},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8482,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":125}},"generics":{"regions":[{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":7891}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":63},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8483,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":15},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8484,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":103}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1955}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1955}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":63},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8485,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":252,"col":63},"end":{"line":252,"col":64}},"generated_from_span":null},"id":8486,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":253,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"id":8487,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":253,"col":4},"end":{"line":253,"col":5}},"generated_from_span":null},"id":8488,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":256,"col":1},"end":{"line":256,"col":1}},"generated_from_span":null},"id":8490,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":280,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}},{"Ident":["is_identity",0]}],"span":{"data":{"file_id":18,"beg":{"line":51,"col":4},"end":{"line":53,"col":5}},"generated_from_span":null},"source_text":"fn is_identity(&self) -> bool {\n self.ct_eq(&T::identity()).into()\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":18,"beg":{"line":49,"col":7},"end":{"line":49,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":18,"beg":{"line":49,"col":24},"end":{"line":49,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":131,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10545},{"HashConsedValue":[10564,{"kind":{"Clause":{"Free":1}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":18,"beg":{"line":51,"col":4},"end":{"line":53,"col":5}},"generated_from_span":null},"bound_body_regions":11,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":18,"beg":{"line":51,"col":29},"end":{"line":51,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":1,"name":"self","span":{"data":{"file_id":18,"beg":{"line":51,"col":19},"end":{"line":51,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[10716,{"Ref":[{"Body":1},{"Deduplicated":10511},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1496}},{"index":3,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[10717,{"Ref":[{"Body":2},{"Deduplicated":10511},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[10718,{"Ref":[{"Body":3},{"Deduplicated":10511},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[10719,{"Ref":[{"Body":4},{"Deduplicated":10511},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":18,"beg":{"line":52,"col":20},"end":{"line":52,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":10511}}]},"body":{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":53,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":34}},"generated_from_span":null},"id":8491,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":12}},"generated_from_span":null},"id":8492,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":12}},"generated_from_span":null},"id":8493,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":10717}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":10716}},"Deref"]},"ty":{"Deduplicated":10511}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8494,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8495,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":20},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8496,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":20},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8497,"kind":{"Call":{"func":{"Regular":{"kind":{"Trait":[{"Deduplicated":10564},0,163]},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":10511}}}},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8498,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":10719}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":10511}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":19},"end":{"line":52,"col":33}},"generated_from_span":null},"id":8499,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":10718}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":10719}},"Deref"]},"ty":{"Deduplicated":10511}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":34}},"generated_from_span":null},"id":8500,"kind":{"Call":{"func":{"Regular":{"kind":{"Trait":[{"Deduplicated":10545},0,6]},"generics":{"regions":[{"Body":7},{"Body":8}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":10717}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":10718}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1496}}}},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":33},"end":{"line":52,"col":34}},"generated_from_span":null},"id":8501,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":33},"end":{"line":52,"col":34}},"generated_from_span":null},"id":8502,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":8},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8503,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":135}},"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1470}],"const_generics":[],"trait_refs":[{"Deduplicated":2823}]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1496}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1470}}}},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":40},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8504,"kind":{"Drop":[{"kind":{"Local":6},"ty":{"Deduplicated":10511}},{"kind":{"Trait":[{"HashConsedValue":[10720,{"kind":{"BuiltinOrAuto":{"builtin_data":"UntrackedDestruct","parent_trait_refs":[],"types":[]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]},0,139]},"generics":{"regions":[{"Body":10}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":40},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8505,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":40},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8506,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":52,"col":40},"end":{"line":52,"col":41}},"generated_from_span":null},"id":8507,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":18,"beg":{"line":53,"col":5},"end":{"line":53,"col":5}},"generated_from_span":null},"id":8508,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":281,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]},{"Ident":["from",0]}],"span":{"data":{"file_id":21,"beg":{"line":592,"col":4},"end":{"line":592,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Converts to this type from the input type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10512}],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":282,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":109}},{"Ident":["from",0]}],"span":{"data":{"file_id":11,"beg":{"line":153,"col":4},"end":{"line":153,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Convert the `Choice` wrapper into a `bool`, depending on whether"},{"DocComment":" the underlying `u8` was a `0` or a `1`."},{"DocComment":""},{"DocComment":" # Note"},{"DocComment":""},{"DocComment":" This function exists to avoid having higher-level cryptographic protocol"},{"DocComment":" implementations duplicating this pattern."},{"DocComment":""},{"DocComment":" The intended use case for this conversion is at the _end_ of a"},{"DocComment":" higher-level primitive implementation: for example, in checking a keyed"},{"DocComment":" MAC, where the verification should happen in constant-time (and thus use"},{"DocComment":" a `Choice`) but it is safe to return a `bool` at the end of the"},{"DocComment":" verification."}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1496}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":109,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1470},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":283,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":111}},{"Ident":["ct_eq",0]}],"span":{"data":{"file_id":11,"beg":{"line":348,"col":12},"end":{"line":348,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10721,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2113},"Shared"]}]},{"HashConsedValue":[10722,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2113},"Shared"]}]}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":111,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":284,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":112}},{"Ident":["from",0]}],"span":{"data":{"file_id":11,"beg":{"line":238,"col":4},"end":{"line":238,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2113}],"output":{"Deduplicated":1496}},"src":{"TraitImpl":{"impl_ref":{"id":112,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,{"def_id":288,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["index",0]}],"span":{"data":{"file_id":33,"beg":{"line":73,"col":4},"end":{"line":73,"col":49}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the indexing (`container[index]`) operation."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" May panic if the index is out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Idx"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"Deduplicated":10512}],"output":{"Deduplicated":10688}},"src":{"TraitDecl":{"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":289,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}},{"Ident":["index",0]}],"span":{"data":{"file_id":34,"beg":{"line":18,"col":4},"end":{"line":18,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":34,"beg":{"line":13,"col":7},"end":{"line":13,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10544},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10685},{"Deduplicated":10512}],"output":{"Deduplicated":10688}},"src":{"TraitImpl":{"impl_ref":{"id":115,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10549,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10544},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10544},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":290,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get",0]}],"span":{"data":{"file_id":34,"beg":{"line":171,"col":4},"end":{"line":171,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10715}],"output":{"HashConsedValue":[10723,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10688}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":291,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":176,"col":4},"end":{"line":176,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"HashConsedValue":[10724,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10512},"Mut"]}]}],"output":{"HashConsedValue":[10726,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"HashConsedValue":[10725,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10547},"Mut"]}]}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":292,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked",0]}],"span":{"data":{"file_id":34,"beg":{"line":186,"col":4},"end":{"line":186,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10511},{"HashConsedValue":[10608,{"RawPtr":[{"Deduplicated":10512},"Shared"]}]}],"output":{"HashConsedValue":[10609,{"RawPtr":[{"Deduplicated":10547},"Shared"]}]}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":293,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":196,"col":4},"end":{"line":196,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10511},{"HashConsedValue":[10610,{"RawPtr":[{"Deduplicated":10512},"Mut"]}]}],"output":{"HashConsedValue":[10611,{"RawPtr":[{"Deduplicated":10547},"Mut"]}]}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":3},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":294,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index",0]}],"span":{"data":{"file_id":34,"beg":{"line":202,"col":4},"end":{"line":202,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10715}],"output":{"Deduplicated":10688}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":295,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":208,"col":4},"end":{"line":208,"col":59}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10724}],"output":{"Deduplicated":10725}},"src":{"TraitDecl":{"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":5},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":296,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get",0]}],"span":{"data":{"file_id":34,"beg":{"line":635,"col":4},"end":{"line":635,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":3073},{"Deduplicated":10685}],"output":{"HashConsedValue":[10727,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10685}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10544},{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":297,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":640,"col":4},"end":{"line":640,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":3073},{"HashConsedValue":[10728,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":10544},"Mut"]}]}],"output":{"HashConsedValue":[10729,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10728}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10544},{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":298,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_unchecked",0]}],"span":{"data":{"file_id":34,"beg":{"line":645,"col":4},"end":{"line":645,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":3073},{"HashConsedValue":[10730,{"RawPtr":[{"Deduplicated":10544},"Shared"]}]}],"output":{"Deduplicated":10730}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10544},{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":299,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["get_unchecked_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":650,"col":4},"end":{"line":650,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":3073},{"HashConsedValue":[10731,{"RawPtr":[{"Deduplicated":10544},"Mut"]}]}],"output":{"Deduplicated":10731}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10544},{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":3},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":300,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["index",0]}],"span":{"data":{"file_id":34,"beg":{"line":655,"col":4},"end":{"line":655,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":3073},{"Deduplicated":10685}],"output":{"Deduplicated":10685}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10544},{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":301,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":34,"beg":{"line":660,"col":4},"end":{"line":660,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":3073},{"Deduplicated":10728}],"output":{"Deduplicated":10728}},"src":{"TraitImpl":{"impl_ref":{"id":116,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10544},{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":5},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":302,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":15,"beg":{"line":2872,"col":12},"end":{"line":2872,"col":58}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":2871,"col":31},"end":{"line":2871,"col":34}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10732,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":10551},"Shared"]}]},{"HashConsedValue":[10734,{"Ref":[{"Var":{"Free":2}},{"HashConsedValue":[10733,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Free":3}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":117,"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10552,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":303,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":15,"beg":{"line":3122,"col":4},"end":{"line":3122,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":3121,"col":8},"end":{"line":3121,"col":13}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10685},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":118,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10552}]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":304,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":36,"beg":{"line":85,"col":16},"end":{"line":85,"col":72}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10700},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":119,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,{"def_id":314,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":39,"beg":{"line":49,"col":4},"end":{"line":49,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the bounds on the number of *successor* steps required to get from `start` to `end`"},{"DocComment":" like [`Iterator::size_hint()`][Iterator::size_hint()]."},{"DocComment":""},{"DocComment":" Returns `(usize::MAX, None)` if the number of steps would overflow `usize`, or is infinite."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `b`, and `n`:"},{"DocComment":""},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::forward_checked(&a, n) == Some(b)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::backward_checked(&b, n) == Some(a)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` only if `a <= b`"},{"DocComment":" * Corollary: `steps_between(&a, &b) == (0, Some(0))` if and only if `a == b`"},{"DocComment":" * `steps_between(&a, &b) == (0, None)` if `a > b`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"Deduplicated":10637}],"output":{"HashConsedValue":[4622,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":3512}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":315,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":67,"col":4},"end":{"line":67,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *successor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == Step::forward_checked(a, m).and_then(|x| Step::forward_checked(x, n))`"},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == try { Step::forward_checked(a, n.checked_add(m)) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::forward_checked(&x, 1))`"},{"DocComment":" * Corollary: `Step::forward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":1551}],"output":{"Deduplicated":10613}},"src":{"TraitDecl":{"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":318,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":137,"col":4},"end":{"line":137,"col":67}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *predecessor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == n.checked_add(m).and_then(|x| Step::backward_checked(a, x))`"},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == try { Step::backward_checked(a, n.checked_add(m)?) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::backward_checked(x, 1))`"},{"DocComment":" * Corollary: `Step::backward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":1551}],"output":{"Deduplicated":10613}},"src":{"TraitDecl":{"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":321,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":39,"beg":{"line":271,"col":16},"end":{"line":271,"col":84}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10735,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1551},"Shared"]}]},{"HashConsedValue":[10736,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1551},"Shared"]}]}],"output":{"Deduplicated":4622}},"src":{"TraitImpl":{"impl_ref":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":322,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":282,"col":16},"end":{"line":282,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1551},{"Deduplicated":1551}],"output":{"Deduplicated":3512}},"src":{"TraitImpl":{"impl_ref":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":325,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":290,"col":16},"end":{"line":290,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1551},{"Deduplicated":1551}],"output":{"Deduplicated":3512}},"src":{"TraitImpl":{"impl_ref":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":328,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1550}},"src":"TopLevel","is_global_initializer":57,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":168,"col":31},"end":{"line":168,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1550}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":49}},"generated_from_span":null},"id":8511,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":49}},"generated_from_span":null},"id":8512,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":49}},"generated_from_span":null},"id":8516,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":53}},"generated_from_span":null},"id":8517,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":37},"end":{"line":168,"col":53}},"generated_from_span":null},"id":8519,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":52},"end":{"line":168,"col":53}},"generated_from_span":null},"id":8520,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"id":8521,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":329,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1550}},"src":"TopLevel","is_global_initializer":58,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":287,"col":31},"end":{"line":287,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1550}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":49}},"generated_from_span":null},"id":8524,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":49}},"generated_from_span":null},"id":8525,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":49}},"generated_from_span":null},"id":8529,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":53}},"generated_from_span":null},"id":8530,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":37},"end":{"line":287,"col":53}},"generated_from_span":null},"id":8532,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":52},"end":{"line":287,"col":53}},"generated_from_span":null},"id":8533,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"id":8534,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":330,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1550}},"src":"TopLevel","is_global_initializer":59,"body":{"Structured":{"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":5,"beg":{"line":507,"col":35},"end":{"line":507,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":1,"name":null,"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":2,"name":null,"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1550}}]},"body":{"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":53}},"generated_from_span":null},"id":8537,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":53}},"generated_from_span":null},"id":8538,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":53}},"generated_from_span":null},"id":8542,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","51"]}}},"ty":{"Deduplicated":3751}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":57}},"generated_from_span":null},"id":8543,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":41},"end":{"line":507,"col":57}},"generated_from_span":null},"id":8545,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":56},"end":{"line":507,"col":57}},"generated_from_span":null},"id":8546,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"id":8547,"kind":"Return","comments_before":[]}]},"comments":[]}}},null,{"def_id":332,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Ty":{"params":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":3469},"kind":"InherentImplBlock"}}},{"Ident":["debug_struct_field2_finish",0]}],"span":{"data":{"file_id":15,"beg":{"line":2473,"col":4},"end":{"line":2480,"col":15}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Shrinks `derive(Debug)` code, for faster compilation and smaller"},{"DocComment":" binaries. `debug_struct_fields_finish` is more general, but this is"},{"DocComment":" faster for 2 fields."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":"'b","mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"},{"index":5,"name":null,"mutability":"Unknown"},{"index":6,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10697},{"HashConsedValue":[10737,{"Ref":[{"Var":{"Free":2}},{"Deduplicated":4274},"Shared"]}]},{"HashConsedValue":[10738,{"Ref":[{"Var":{"Free":3}},{"Deduplicated":4274},"Shared"]}]},{"HashConsedValue":[10740,{"Ref":[{"Var":{"Free":4}},{"HashConsedValue":[10739,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Var":{"Free":4}}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]},{"HashConsedValue":[10741,{"Ref":[{"Var":{"Free":5}},{"Deduplicated":4274},"Shared"]}]},{"HashConsedValue":[10743,{"Ref":[{"Var":{"Free":6}},{"HashConsedValue":[10742,{"DynTrait":{"binder":{"params":{"regions":[],"types":[{"index":0,"name":"_dyn"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"Dyn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[{"regions":[],"skip_binder":[{"Deduplicated":1435},{"Var":{"Free":6}}]}],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1436},"kind":"Dyn"}}}]},"Shared"]}]}],"output":{"Deduplicated":3010}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":333,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1496},"kind":"InherentImplBlock"}}},{"Ident":["unwrap_u8",0]}],"span":{"data":{"file_id":11,"beg":{"line":133,"col":4},"end":{"line":133,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Unwrap the `Choice` wrapper to reveal the underlying `u8`."},{"DocComment":""},{"DocComment":" # Note"},{"DocComment":""},{"DocComment":" This function only exists as an **escape hatch** for the rare case"},{"DocComment":" where it's not possible to use one of the `subtle`-provided"},{"DocComment":" trait impls."},{"DocComment":""},{"DocComment":" **To convert a `Choice` to a `bool`, use the `From` implementation instead.**"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10744,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":1496},"Shared"]}]}],"output":{"Deduplicated":2113}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":334,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}},{"Ident":["hash",0]}],"span":{"data":{"file_id":20,"beg":{"line":812,"col":16},"end":{"line":812,"col":56}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":812,"col":27},"end":{"line":812,"col":33}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10721},{"Deduplicated":10662}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":125,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":336,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":22,"beg":{"line":356,"col":4},"end":{"line":356,"col":60}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":355,"col":8},"end":{"line":355,"col":18}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10687},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":126,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10552}]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10546}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":337,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}},{"Ident":["fmt",0]}],"span":{"data":{"file_id":36,"beg":{"line":85,"col":16},"end":{"line":85,"col":72}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10721},{"Deduplicated":10642}],"output":{"Deduplicated":3010}},"src":{"TraitImpl":{"impl_ref":{"id":127,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":340,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["into_iter",0]}],"span":{"data":{"file_id":38,"beg":{"line":312,"col":4},"end":{"line":312,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Creates an iterator from a value."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"into_iter"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Item"},{"index":2,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"Deduplicated":10547}},"src":{"TraitDecl":{"trait_ref":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":341,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["call_mut",0]}],"span":{"data":{"file_id":50,"beg":{"line":166,"col":4},"end":{"line":166,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Clause0_Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":10661},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"src":{"TraitDecl":{"trait_ref":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":342,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["call_once",0]}],"span":{"data":{"file_id":50,"beg":{"line":250,"col":4},"end":{"line":250,"col":70}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"src":{"TraitDecl":{"trait_ref":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":343,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]},{"Ident":["from_iter",0]}],"span":{"data":{"file_id":38,"beg":{"line":152,"col":4},"end":{"line":152,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Creates a value from an iterator."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_iter_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"T"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":34,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":38,"beg":{"line":152,"col":20},"end":{"line":152,"col":42}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10547},{"Deduplicated":10512},{"HashConsedValue":[10745,{"TypeVar":{"Free":3}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10547}],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":34,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":344,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["from_output",0]}],"span":{"data":{"file_id":66,"beg":{"line":192,"col":4},"end":{"line":192,"col":49}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Constructs the type from its `Output` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method"},{"DocComment":" such that applying the `?` operator will get back the original value:"},{"DocComment":" `Try::from_output(x).branch() --> ControlFlow::Continue(x)`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::Try;"},{"DocComment":""},{"DocComment":" assert_eq!( as Try>::from_output(3), Ok(3));"},{"DocComment":" assert_eq!( as Try>::from_output(4), Some(4));"},{"DocComment":" assert_eq!("},{"DocComment":" as Try>::from_output(5),"},{"DocComment":" std::ops::ControlFlow::Continue(5),"},{"DocComment":" );"},{"DocComment":""},{"DocComment":" # fn make_question_mark_work() -> Option<()> {"},{"DocComment":" assert_eq!(Option::from_output(4)?, 4);"},{"DocComment":" # None }"},{"DocComment":" # make_question_mark_work();"},{"DocComment":""},{"DocComment":" // This is used, for example, on the accumulator in `try_fold`:"},{"DocComment":" let r = std::iter::empty().try_fold(4, |_, ()| -> Option<_> { unreachable!() });"},{"DocComment":" assert_eq!(r, Some(4));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_output"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10747,{"TraitType":[{"HashConsedValue":[10746,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]},0,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":345,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["branch",0]}],"span":{"data":{"file_id":66,"beg":{"line":219,"col":4},"end":{"line":219,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used in `?` to decide whether the operator should produce a value"},{"DocComment":" (because this returned [`ControlFlow::Continue`])"},{"DocComment":" or propagate a value back to the caller"},{"DocComment":" (because this returned [`ControlFlow::Break`])."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, Try};"},{"DocComment":""},{"DocComment":" assert_eq!(Ok::<_, String>(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(Err::(3).branch(), ControlFlow::Break(Err(3)));"},{"DocComment":""},{"DocComment":" assert_eq!(Some(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(None::.branch(), ControlFlow::Break(None));"},{"DocComment":""},{"DocComment":" assert_eq!(ControlFlow::::Continue(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::Break(3).branch(),"},{"DocComment":" ControlFlow::Break(ControlFlow::Break(3)),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"branch"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"HashConsedValue":[10749,{"Adt":{"id":{"Adt":70},"generics":{"regions":[],"types":[{"HashConsedValue":[10748,{"TraitType":[{"Deduplicated":10746},1,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]},{"Deduplicated":10747}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":346,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend",0]}],"span":{"data":{"file_id":38,"beg":{"line":416,"col":4},"end":{"line":416,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Extends a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" As this is the only required method for this trait, the [trait-level] docs"},{"DocComment":" contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: Extend"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"abc\");"},{"DocComment":""},{"DocComment":" message.extend(['d', 'e', 'f'].iter());"},{"DocComment":""},{"DocComment":" assert_eq!(\"abcdef\", &message);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"T"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":37,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":38,"beg":{"line":416,"col":17},"end":{"line":416,"col":39}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10547},{"Deduplicated":10512},{"Deduplicated":10745}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10661},{"Deduplicated":10547}],"output":{"Deduplicated":1443}},"src":{"TraitDecl":{"trait_ref":{"id":37,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,{"def_id":350,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["next_back",0]}],"span":{"data":{"file_id":67,"beg":{"line":96,"col":4},"end":{"line":96,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Removes and returns an element from the end of the iterator."},{"DocComment":""},{"DocComment":" Returns `None` when there are no more elements."},{"DocComment":""},{"DocComment":" The [trait-level] docs contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: DoubleEndedIterator"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Remarks"},{"DocComment":""},{"DocComment":" The elements yielded by `DoubleEndedIterator`'s methods may differ from"},{"DocComment":" the ones yielded by [`Iterator`]'s methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let vec = vec![(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b')];"},{"DocComment":" let uniq_by_fst_comp = || {"},{"DocComment":" let mut seen = std::collections::HashSet::new();"},{"DocComment":" vec.iter().copied().filter(move |x| seen.insert(x.0))"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" assert_eq!(uniq_by_fst_comp().last(), Some((2, 'a')));"},{"DocComment":" assert_eq!(uniq_by_fst_comp().next_back(), Some((2, 'b')));"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().fold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(1, 'a'), (2, 'a')]"},{"DocComment":" );"},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().rfold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(2, 'b'), (1, 'c')]"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":38,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10661}],"output":{"Deduplicated":10598}},"src":{"TraitDecl":{"trait_ref":{"id":38,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,{"def_id":358,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["cmp",0]}],"span":{"data":{"file_id":9,"beg":{"line":1000,"col":4},"end":{"line":1000,"col":44}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This method returns an [`Ordering`] between `self` and `other`."},{"DocComment":""},{"DocComment":" By convention, `self.cmp(&other)` returns the ordering matching the expression"},{"DocComment":" `self other` if true."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(5.cmp(&10), Ordering::Less);"},{"DocComment":" assert_eq!(10.cmp(&5), Ordering::Greater);"},{"DocComment":" assert_eq!(5.cmp(&5), Ordering::Equal);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ord_cmp_method"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"Deduplicated":10637}],"output":{"HashConsedValue":[6088,{"Adt":{"id":{"Adt":58},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,{"def_id":362,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]},{"Ident":["product",0]}],"span":{"data":{"file_id":24,"beg":{"line":44,"col":4},"end":{"line":44,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by multiplying"},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":41,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":24,"beg":{"line":44,"col":18},"end":{"line":44,"col":36}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10547},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10547}],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":41,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":363,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":9,"beg":{"line":1395,"col":4},"end":{"line":1395,"col":59}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This method returns an ordering between `self` and `other` values if one exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&2.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Less));"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Equal));"},{"DocComment":""},{"DocComment":" let result = 2.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Greater));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" When comparison is impossible:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let result = f64::NAN.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, None);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"cmp_partialord_cmp"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551},{"Deduplicated":10636}],"output":{"HashConsedValue":[6382,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":6088}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,{"def_id":373,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["get_selected_backend",0]}],"span":{"data":{"file_id":4,"beg":{"line":53,"col":0},"end":{"line":64,"col":1}},"generated_from_span":null},"source_text":"fn get_selected_backend() -> BackendKind {\n #[cfg(target_arch = \"x86_64\")]\n {\n cpufeatures::new!(cpuid_avx2, \"avx2\");\n let token_avx2: cpuid_avx2::InitToken = cpuid_avx2::init();\n if token_avx2.get() {\n return BackendKind::Avx2;\n }\n }\n\n BackendKind::Serial\n}","attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":7803}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":374,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["variable_base",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":79,"beg":{"line":11,"col":0},"end":{"line":48,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn mul(point: &EdwardsPoint, scalar: &Scalar) -> EdwardsPoint {\n // Construct a lookup table of [P,2P,3P,4P,5P,6P,7P,8P]\n let lookup_table = LookupTable::::from(point);\n // Setting s = scalar, compute\n //\n // s = s_0 + s_1*16^1 + ... + s_63*16^63,\n //\n // with `-8 ≤ s_i < 8` for `0 ≤ i < 63` and `-8 ≤ s_63 ≤ 8`.\n // This decomposition requires s < 2^255, which is guaranteed by Scalar invariant #1.\n let scalar_digits = scalar.as_radix_16();\n // Compute s*P as\n //\n // s*P = P*(s_0 + s_1*16^1 + s_2*16^2 + ... + s_63*16^63)\n // s*P = P*s_0 + P*s_1*16^1 + P*s_2*16^2 + ... + P*s_63*16^63\n // s*P = P*s_0 + 16*(P*s_1 + 16*(P*s_2 + 16*( ... + P*s_63)...))\n //\n // We sum right-to-left.\n\n // Unwrap first loop iteration to save computing 16*identity\n let mut tmp2;\n let mut tmp3 = EdwardsPoint::identity();\n let mut tmp1 = &tmp3 + &lookup_table.select(scalar_digits[63]);\n // Now tmp1 = s_63*P in P1xP1 coords\n for i in (0..63).rev() {\n tmp2 = tmp1.as_projective(); // tmp2 = (prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 2*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 2*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 4*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 4*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 8*(prev) in P1xP1 coords\n tmp2 = tmp1.as_projective(); // tmp2 = 8*(prev) in P2 coords\n tmp1 = tmp2.double(); // tmp1 = 16*(prev) in P1xP1 coords\n tmp3 = tmp1.as_extended(); // tmp3 = 16*(prev) in P3 coords\n tmp1 = &tmp3 + &lookup_table.select(scalar_digits[i]);\n // Now tmp1 = s_i*P + 16*(prev) in P1xP1 coords\n }\n tmp1.as_extended()\n}","attr_info":{"attributes":[{"DocComment":" Perform constant-time, variable-base scalar multiplication."},{"Unknown":{"path":"rustfmt::skip","args":null}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":10538}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":375,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["variable_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":81,"beg":{"line":3,"col":0},"end":{"line":3,"col":68}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Perform constant-time, variable-base scalar multiplication."}],"inline":"Always","rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534},{"Deduplicated":10538}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":376,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["ED25519_BASEPOINT_POINT",0]}],"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"source_text":"pub const ED25519_BASEPOINT_POINT: EdwardsPoint = EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1738742601995546,\n 1146398526822698,\n 2070867633025821,\n 562264141797630,\n 587772402128613,\n ]),\n Y: FieldElement51::from_limbs([\n 1801439850948184,\n 1351079888211148,\n 450359962737049,\n 900719925474099,\n 1801439850948198,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1841354044333475,\n 16398895984059,\n 755974180946558,\n 900171276175154,\n 1821297809914039,\n ]),\n};","attr_info":{"attributes":[{"DocComment":" The Ed25519 basepoint, as an `EdwardsPoint`."},{"DocComment":""},{"DocComment":" This is called `_POINT` to distinguish it from"},{"DocComment":" `ED25519_BASEPOINT_TABLE`, which should be used for scalar"},{"DocComment":" multiplication (it's much faster)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":67,"body":{"Structured":{"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":74,"beg":{"line":163,"col":35},"end":{"line":163,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":null,"span":{"data":{"file_id":74,"beg":{"line":164,"col":7},"end":{"line":170,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":2,"name":null,"span":{"data":{"file_id":74,"beg":{"line":164,"col":34},"end":{"line":170,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":3,"name":null,"span":{"data":{"file_id":74,"beg":{"line":171,"col":7},"end":{"line":177,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":4,"name":null,"span":{"data":{"file_id":74,"beg":{"line":171,"col":34},"end":{"line":177,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":5,"name":null,"span":{"data":{"file_id":74,"beg":{"line":178,"col":7},"end":{"line":178,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":6,"name":null,"span":{"data":{"file_id":74,"beg":{"line":178,"col":34},"end":{"line":178,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":7,"name":null,"span":{"data":{"file_id":74,"beg":{"line":179,"col":7},"end":{"line":185,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":8,"name":null,"span":{"data":{"file_id":74,"beg":{"line":179,"col":34},"end":{"line":185,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":74,"beg":{"line":164,"col":7},"end":{"line":170,"col":6}},"generated_from_span":null},"id":8548,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":164,"col":34},"end":{"line":170,"col":5}},"generated_from_span":null},"id":8549,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":164,"col":34},"end":{"line":170,"col":5}},"generated_from_span":null},"id":8550,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1738742601995546"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1146398526822698"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2070867633025821"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","562264141797630"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","587772402128613"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":164,"col":7},"end":{"line":170,"col":6}},"generated_from_span":null},"id":8551,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":1},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":170,"col":5},"end":{"line":170,"col":6}},"generated_from_span":null},"id":8552,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":171,"col":7},"end":{"line":177,"col":6}},"generated_from_span":null},"id":8553,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":171,"col":34},"end":{"line":177,"col":5}},"generated_from_span":null},"id":8554,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":171,"col":34},"end":{"line":177,"col":5}},"generated_from_span":null},"id":8555,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1801439850948184"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1351079888211148"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","450359962737049"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","900719925474099"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1801439850948198"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":171,"col":7},"end":{"line":177,"col":6}},"generated_from_span":null},"id":8556,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":177,"col":5},"end":{"line":177,"col":6}},"generated_from_span":null},"id":8557,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":7},"end":{"line":178,"col":50}},"generated_from_span":null},"id":8558,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":34},"end":{"line":178,"col":49}},"generated_from_span":null},"id":8559,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":34},"end":{"line":178,"col":49}},"generated_from_span":null},"id":8560,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":7},"end":{"line":178,"col":50}},"generated_from_span":null},"id":8561,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":178,"col":49},"end":{"line":178,"col":50}},"generated_from_span":null},"id":8562,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":179,"col":7},"end":{"line":185,"col":6}},"generated_from_span":null},"id":8563,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":179,"col":34},"end":{"line":185,"col":5}},"generated_from_span":null},"id":8564,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":179,"col":34},"end":{"line":185,"col":5}},"generated_from_span":null},"id":8565,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1841354044333475"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","16398895984059"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","755974180946558"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","900171276175154"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1821297809914039"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":179,"col":7},"end":{"line":185,"col":6}},"generated_from_span":null},"id":8566,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":185,"col":5},"end":{"line":185,"col":6}},"generated_from_span":null},"id":8567,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":163,"col":50},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8568,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1955}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1391}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1391}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":186,"col":0},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8569,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":186,"col":0},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8570,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":186,"col":0},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8571,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":186,"col":0},"end":{"line":186,"col":1}},"generated_from_span":null},"id":8572,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"id":8573,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":377,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":84,"beg":{"line":126,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"source_text":"pub fn mul(a: &Scalar, A: &EdwardsPoint, b: &Scalar) -> EdwardsPoint {\n let a_naf = a.non_adjacent_form(5);\n\n #[cfg(feature = \"precomputed-tables\")]\n let b_naf = b.non_adjacent_form(8);\n #[cfg(not(feature = \"precomputed-tables\"))]\n let b_naf = b.non_adjacent_form(5);\n\n // Find starting index (AENEAS-COMPAT: helper, upward fold)\n let i = dsm_top_index(&a_naf, &b_naf);\n\n let table_A = NafLookupTable5::::from(A);\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n let r = dsm_loop(i, &a_naf, &b_naf, &table_A, table_B);\n\n r.as_extended()\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"Deduplicated":10681}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":84,"beg":{"line":126,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"bound_body_regions":48,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":84,"beg":{"line":126,"col":56},"end":{"line":126,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a","span":{"data":{"file_id":84,"beg":{"line":126,"col":11},"end":{"line":126,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A","span":{"data":{"file_id":84,"beg":{"line":126,"col":23},"end":{"line":126,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"b","span":{"data":{"file_id":84,"beg":{"line":126,"col":41},"end":{"line":126,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":"a_naf","span":{"data":{"file_id":84,"beg":{"line":127,"col":8},"end":{"line":127,"col":13}},"generated_from_span":null},"ty":{"HashConsedValue":[8128,{"Array":[{"Deduplicated":4225},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","256"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":5,"name":null,"span":{"data":{"file_id":84,"beg":{"line":127,"col":16},"end":{"line":127,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":6600}},{"index":6,"name":"b_naf","span":{"data":{"file_id":84,"beg":{"line":132,"col":8},"end":{"line":132,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":8128}},{"index":7,"name":null,"span":{"data":{"file_id":84,"beg":{"line":132,"col":16},"end":{"line":132,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":6640}},{"index":8,"name":"i","span":{"data":{"file_id":84,"beg":{"line":135,"col":8},"end":{"line":135,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":9,"name":null,"span":{"data":{"file_id":84,"beg":{"line":135,"col":26},"end":{"line":135,"col":32}},"generated_from_span":null},"ty":{"HashConsedValue":[8131,{"Ref":[{"Body":8},{"Deduplicated":8128},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":84,"beg":{"line":135,"col":26},"end":{"line":135,"col":32}},"generated_from_span":null},"ty":{"HashConsedValue":[8132,{"Ref":[{"Body":9},{"Deduplicated":8128},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":84,"beg":{"line":135,"col":34},"end":{"line":135,"col":40}},"generated_from_span":null},"ty":{"HashConsedValue":[8133,{"Ref":[{"Body":10},{"Deduplicated":8128},"Shared"]}]}},{"index":12,"name":null,"span":{"data":{"file_id":84,"beg":{"line":135,"col":34},"end":{"line":135,"col":40}},"generated_from_span":null},"ty":{"HashConsedValue":[8134,{"Ref":[{"Body":11},{"Deduplicated":8128},"Shared"]}]}},{"index":13,"name":"table_A","span":{"data":{"file_id":84,"beg":{"line":137,"col":8},"end":{"line":137,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[8172,{"Adt":{"id":{"Adt":79},"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}}}]}},{"index":14,"name":null,"span":{"data":{"file_id":84,"beg":{"line":137,"col":64},"end":{"line":137,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":7890}},{"index":15,"name":"table_B","span":{"data":{"file_id":84,"beg":{"line":141,"col":8},"end":{"line":141,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[8175,{"Ref":[{"Body":14},{"Deduplicated":8172},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":84,"beg":{"line":142,"col":9},"end":{"line":142,"col":91}},"generated_from_span":null},"ty":{"Deduplicated":8172}},{"index":17,"name":null,"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":7893}},{"index":18,"name":"r","span":{"data":{"file_id":84,"beg":{"line":144,"col":8},"end":{"line":144,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":19,"name":null,"span":{"data":{"file_id":84,"beg":{"line":144,"col":21},"end":{"line":144,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":20,"name":null,"span":{"data":{"file_id":84,"beg":{"line":144,"col":24},"end":{"line":144,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[8176,{"Ref":[{"Body":16},{"Deduplicated":8128},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":84,"beg":{"line":144,"col":24},"end":{"line":144,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[8177,{"Ref":[{"Body":17},{"Deduplicated":8128},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":84,"beg":{"line":144,"col":32},"end":{"line":144,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[8178,{"Ref":[{"Body":18},{"Deduplicated":8128},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":84,"beg":{"line":144,"col":32},"end":{"line":144,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[8179,{"Ref":[{"Body":19},{"Deduplicated":8128},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":84,"beg":{"line":144,"col":40},"end":{"line":144,"col":48}},"generated_from_span":null},"ty":{"HashConsedValue":[8180,{"Ref":[{"Body":20},{"Deduplicated":8172},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":84,"beg":{"line":144,"col":40},"end":{"line":144,"col":48}},"generated_from_span":null},"ty":{"HashConsedValue":[8181,{"Ref":[{"Body":21},{"Deduplicated":8172},"Shared"]}]}},{"index":26,"name":null,"span":{"data":{"file_id":84,"beg":{"line":144,"col":50},"end":{"line":144,"col":57}},"generated_from_span":null},"ty":{"HashConsedValue":[8182,{"Ref":[{"Body":22},{"Deduplicated":8172},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":84,"beg":{"line":146,"col":4},"end":{"line":146,"col":5}},"generated_from_span":null},"ty":{"HashConsedValue":[8184,{"Ref":[{"Body":24},{"Deduplicated":1819},"Shared"]}]}},{"index":28,"name":null,"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"ty":{"HashConsedValue":[8185,{"Ref":[{"Body":25},{"Deduplicated":1955},"Shared"]}]}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9384,{"Ref":[{"Body":35},{"Deduplicated":1955},"Shared"]}]}},{"index":30,"name":null,"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"ty":{"HashConsedValue":[9385,{"Ref":[{"Body":47},{"Deduplicated":1955},"Shared"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":84,"beg":{"line":142,"col":56},"end":{"line":142,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":1955}}]},"body":{"span":{"data":{"file_id":84,"beg":{"line":127,"col":8},"end":{"line":137,"col":65}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":127,"col":8},"end":{"line":127,"col":13}},"generated_from_span":null},"id":8574,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":127,"col":8},"end":{"line":127,"col":13}},"generated_from_span":null},"id":8575,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":127,"col":16},"end":{"line":127,"col":17}},"generated_from_span":null},"id":8576,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":127,"col":16},"end":{"line":127,"col":17}},"generated_from_span":null},"id":8577,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6600}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":127,"col":16},"end":{"line":127,"col":38}},"generated_from_span":null},"id":8578,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":405}},"generics":{"regions":[{"Body":27}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":6600}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":8128}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":127,"col":37},"end":{"line":127,"col":38}},"generated_from_span":null},"id":8579,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":132,"col":8},"end":{"line":132,"col":13}},"generated_from_span":null},"id":8580,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":132,"col":16},"end":{"line":132,"col":17}},"generated_from_span":null},"id":8581,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":132,"col":16},"end":{"line":132,"col":17}},"generated_from_span":null},"id":8582,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6640}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":132,"col":16},"end":{"line":132,"col":38}},"generated_from_span":null},"id":8583,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":405}},"generics":{"regions":[{"Body":29}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6640}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":8128}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":132,"col":37},"end":{"line":132,"col":38}},"generated_from_span":null},"id":8584,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":8},"end":{"line":135,"col":9}},"generated_from_span":null},"id":8585,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":26},"end":{"line":135,"col":32}},"generated_from_span":null},"id":8586,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":26},"end":{"line":135,"col":32}},"generated_from_span":null},"id":8587,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":26},"end":{"line":135,"col":32}},"generated_from_span":null},"id":8588,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":8132}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":["Find starting index (AENEAS-COMPAT: helper, upward fold)"]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":26},"end":{"line":135,"col":32}},"generated_from_span":null},"id":8589,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":8131}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":8132}},"Deref"]},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":34},"end":{"line":135,"col":40}},"generated_from_span":null},"id":8590,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":34},"end":{"line":135,"col":40}},"generated_from_span":null},"id":8591,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":34},"end":{"line":135,"col":40}},"generated_from_span":null},"id":8592,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":8134}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":34},"end":{"line":135,"col":40}},"generated_from_span":null},"id":8593,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":8133}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":8134}},"Deref"]},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":12},"end":{"line":135,"col":41}},"generated_from_span":null},"id":8594,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":406}},"generics":{"regions":[{"Body":32},{"Body":33}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":8131}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":8133}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1551}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":40},"end":{"line":135,"col":41}},"generated_from_span":null},"id":8595,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":40},"end":{"line":135,"col":41}},"generated_from_span":null},"id":8596,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":41},"end":{"line":135,"col":42}},"generated_from_span":null},"id":8597,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":135,"col":41},"end":{"line":135,"col":42}},"generated_from_span":null},"id":8598,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":137,"col":8},"end":{"line":137,"col":15}},"generated_from_span":null},"id":8599,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":137,"col":64},"end":{"line":137,"col":65}},"generated_from_span":null},"id":8600,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":137,"col":64},"end":{"line":137,"col":65}},"generated_from_span":null},"id":8601,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":7890}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":4454}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":137,"col":18},"end":{"line":137,"col":66}},"generated_from_span":null},"id":8602,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":407}},"generics":{"regions":[{"Body":34}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":7890}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":8172}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":8603,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"id":8604,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":56},"end":{"line":142,"col":90}},"generated_from_span":null},"id":8605,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":56},"end":{"line":142,"col":90}},"generated_from_span":null},"id":8606,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1955}},{"Use":[{"Copy":{"kind":{"Global":{"id":67,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":1955}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"id":8607,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":9385}},{"Ref":{"place":{"kind":{"Local":31},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"id":8608,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":9384}},{"Use":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":9385}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":137,"col":65},"end":{"line":137,"col":66}},"generated_from_span":null},"id":8609,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":141,"col":8},"end":{"line":141,"col":15}},"generated_from_span":null},"id":8610,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":9},"end":{"line":142,"col":91}},"generated_from_span":null},"id":8611,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"id":8612,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"id":8613,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":8185}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":9384}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":55},"end":{"line":142,"col":90}},"generated_from_span":null},"id":8614,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":7893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":8185}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":9},"end":{"line":142,"col":91}},"generated_from_span":null},"id":8615,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":407}},"generics":{"regions":[{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":7893}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":8172}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":90},"end":{"line":142,"col":91}},"generated_from_span":null},"id":8616,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":142,"col":8},"end":{"line":142,"col":91}},"generated_from_span":null},"id":8617,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":8175}},{"Ref":{"place":{"kind":{"Local":16},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":8},"end":{"line":144,"col":9}},"generated_from_span":null},"id":8618,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":21},"end":{"line":144,"col":22}},"generated_from_span":null},"id":8619,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":21},"end":{"line":144,"col":22}},"generated_from_span":null},"id":8620,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":24},"end":{"line":144,"col":30}},"generated_from_span":null},"id":8621,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":24},"end":{"line":144,"col":30}},"generated_from_span":null},"id":8622,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":24},"end":{"line":144,"col":30}},"generated_from_span":null},"id":8623,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":8177}},{"Ref":{"place":{"kind":{"Local":4},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":24},"end":{"line":144,"col":30}},"generated_from_span":null},"id":8624,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":8176}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":8177}},"Deref"]},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":32},"end":{"line":144,"col":38}},"generated_from_span":null},"id":8625,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":32},"end":{"line":144,"col":38}},"generated_from_span":null},"id":8626,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":32},"end":{"line":144,"col":38}},"generated_from_span":null},"id":8627,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":8179}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":32},"end":{"line":144,"col":38}},"generated_from_span":null},"id":8628,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":8178}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":23},"ty":{"Deduplicated":8179}},"Deref"]},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":40},"end":{"line":144,"col":48}},"generated_from_span":null},"id":8629,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":40},"end":{"line":144,"col":48}},"generated_from_span":null},"id":8630,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":40},"end":{"line":144,"col":48}},"generated_from_span":null},"id":8631,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":8181}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":40},"end":{"line":144,"col":48}},"generated_from_span":null},"id":8632,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":8180}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":8181}},"Deref"]},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":50},"end":{"line":144,"col":57}},"generated_from_span":null},"id":8633,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":50},"end":{"line":144,"col":57}},"generated_from_span":null},"id":8634,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":8182}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":15},"ty":{"Deduplicated":8175}},"Deref"]},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":12},"end":{"line":144,"col":58}},"generated_from_span":null},"id":8635,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":408}},"generics":{"regions":[{"Body":41},{"Body":42},{"Body":43},{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1551}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":8176}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":8178}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":8180}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":8182}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":57},"end":{"line":144,"col":58}},"generated_from_span":null},"id":8636,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":57},"end":{"line":144,"col":58}},"generated_from_span":null},"id":8637,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":57},"end":{"line":144,"col":58}},"generated_from_span":null},"id":8638,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":57},"end":{"line":144,"col":58}},"generated_from_span":null},"id":8639,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":57},"end":{"line":144,"col":58}},"generated_from_span":null},"id":8640,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":58},"end":{"line":144,"col":59}},"generated_from_span":null},"id":8641,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":58},"end":{"line":144,"col":59}},"generated_from_span":null},"id":8642,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":144,"col":58},"end":{"line":144,"col":59}},"generated_from_span":null},"id":8643,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":146,"col":4},"end":{"line":146,"col":5}},"generated_from_span":null},"id":8644,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":146,"col":4},"end":{"line":146,"col":5}},"generated_from_span":null},"id":8645,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":8184}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":146,"col":4},"end":{"line":146,"col":19}},"generated_from_span":null},"id":8646,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":58}},"generics":{"regions":[{"Body":46}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":8184}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":146,"col":18},"end":{"line":146,"col":19}},"generated_from_span":null},"id":8647,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":147,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"id":8648,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":147,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"id":8649,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":147,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"id":8650,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":147,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"id":8651,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":147,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"id":8652,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":147,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"id":8653,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":147,"col":0},"end":{"line":147,"col":1}},"generated_from_span":null},"id":8654,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":147,"col":1},"end":{"line":147,"col":1}},"generated_from_span":null},"id":8655,"kind":"Return","comments_before":[]}]},"comments":[[135,["Find starting index (AENEAS-COMPAT: helper, upward fold)"]]]}}},{"def_id":378,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul",0]}],"span":{"data":{"file_id":85,"beg":{"line":14,"col":0},"end":{"line":14,"col":68}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."}],"inline":"Always","rename":null,"public":true},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"Deduplicated":10681}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":379,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["scalar_fits_in_128_bits",0]}],"span":{"data":{"file_id":4,"beg":{"line":283,"col":0},"end":{"line":285,"col":1}},"generated_from_span":null},"source_text":"fn scalar_fits_in_128_bits(scalar: &Scalar) -> bool {\n scalar.as_bytes()[16..32].iter().all(|&byte| byte == 0)\n}","attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537}],"output":{"Deduplicated":1470}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":380,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vartime_triple_base_mul_128_128_256_prechecked",0]}],"span":{"data":{"file_id":4,"beg":{"line":262,"col":0},"end":{"line":280,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn vartime_triple_base_mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n match get_selected_backend() {\n #[cfg(target_arch = \"x86_64\")]\n BackendKind::Avx2 => {\n vector::scalar_mul::vartime_triple_base::spec_avx2::mul_128_128_256_prechecked(\n a1, A1, a2, A2, b,\n )\n }\n BackendKind::Serial => {\n serial::scalar_mul::vartime_triple_base::mul_128_128_256_prechecked(a1, A1, a2, A2, b)\n }\n }\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) using the optimized 128/128/256-bit path."},{"DocComment":""},{"DocComment":" Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\)."},{"Unknown":{"path":"allow","args":"non_snake_case"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"Deduplicated":10681},{"Deduplicated":10682},{"Deduplicated":10683}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":4,"beg":{"line":262,"col":0},"end":{"line":280,"col":1}},"generated_from_span":null},"bound_body_regions":37,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":4,"beg":{"line":268,"col":5},"end":{"line":268,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":1,"name":"a1","span":{"data":{"file_id":4,"beg":{"line":263,"col":4},"end":{"line":263,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"A1","span":{"data":{"file_id":4,"beg":{"line":264,"col":4},"end":{"line":264,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":3,"name":"a2","span":{"data":{"file_id":4,"beg":{"line":265,"col":4},"end":{"line":265,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":6595}},{"index":4,"name":"A2","span":{"data":{"file_id":4,"beg":{"line":266,"col":4},"end":{"line":266,"col":6}},"generated_from_span":null},"ty":{"Deduplicated":4521}},{"index":5,"name":"b","span":{"data":{"file_id":4,"beg":{"line":267,"col":4},"end":{"line":267,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":6640}},{"index":6,"name":null,"span":{"data":{"file_id":4,"beg":{"line":269,"col":10},"end":{"line":269,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":7803}},{"index":7,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":16},"end":{"line":273,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":6593}},{"index":8,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":20},"end":{"line":273,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":4524}},{"index":9,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":24},"end":{"line":273,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":6641}},{"index":10,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":28},"end":{"line":273,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":6642}},{"index":11,"name":null,"span":{"data":{"file_id":4,"beg":{"line":273,"col":32},"end":{"line":273,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":6643}},{"index":12,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":80},"end":{"line":277,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[8233,{"Ref":[{"Body":12},{"Deduplicated":2689},"Shared"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":84},"end":{"line":277,"col":86}},"generated_from_span":null},"ty":{"HashConsedValue":[8234,{"Ref":[{"Body":13},{"Deduplicated":1955},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":88},"end":{"line":277,"col":90}},"generated_from_span":null},"ty":{"Deduplicated":7892}},{"index":15,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":92},"end":{"line":277,"col":94}},"generated_from_span":null},"ty":{"Deduplicated":7893}},{"index":16,"name":null,"span":{"data":{"file_id":4,"beg":{"line":277,"col":96},"end":{"line":277,"col":97}},"generated_from_span":null},"ty":{"Deduplicated":7894}}]},"body":{"span":{"data":{"file_id":4,"beg":{"line":269,"col":4},"end":{"line":280,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":269,"col":10},"end":{"line":269,"col":32}},"generated_from_span":null},"id":8657,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":269,"col":10},"end":{"line":269,"col":32}},"generated_from_span":null},"id":8658,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":373}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":7803}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":269,"col":4},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8695,"kind":{"Switch":{"Match":[{"kind":{"Local":6},"ty":{"Deduplicated":7803}},[[[0],{"span":{"data":{"file_id":4,"beg":{"line":273,"col":16},"end":{"line":274,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":273,"col":16},"end":{"line":273,"col":18}},"generated_from_span":null},"id":8660,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":16},"end":{"line":273,"col":18}},"generated_from_span":null},"id":8661,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6593}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":20},"end":{"line":273,"col":22}},"generated_from_span":null},"id":8662,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":20},"end":{"line":273,"col":22}},"generated_from_span":null},"id":8663,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":4524}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":24},"end":{"line":273,"col":26}},"generated_from_span":null},"id":8664,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":24},"end":{"line":273,"col":26}},"generated_from_span":null},"id":8665,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":6641}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":28},"end":{"line":273,"col":30}},"generated_from_span":null},"id":8666,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":28},"end":{"line":273,"col":30}},"generated_from_span":null},"id":8667,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":6642}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":32},"end":{"line":273,"col":33}},"generated_from_span":null},"id":8668,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":273,"col":32},"end":{"line":273,"col":33}},"generated_from_span":null},"id":8669,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":6643}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":272,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8670,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":410}},"generics":{"regions":[{"Body":32},{"Body":33},{"Body":34},{"Body":35},{"Body":36}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6593}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":4524}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":6641}}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":6642}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":6643}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8671,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8672,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8673,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8674,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":274,"col":12},"end":{"line":274,"col":13}},"generated_from_span":null},"id":8675,"kind":{"StorageDead":7},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":4,"beg":{"line":277,"col":80},"end":{"line":277,"col":98}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":4,"beg":{"line":277,"col":80},"end":{"line":277,"col":82}},"generated_from_span":null},"id":8677,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":80},"end":{"line":277,"col":82}},"generated_from_span":null},"id":8678,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":8233}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":84},"end":{"line":277,"col":86}},"generated_from_span":null},"id":8679,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":84},"end":{"line":277,"col":86}},"generated_from_span":null},"id":8680,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":8234}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":4454}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":88},"end":{"line":277,"col":90}},"generated_from_span":null},"id":8681,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":88},"end":{"line":277,"col":90}},"generated_from_span":null},"id":8682,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":7892}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":6595}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":92},"end":{"line":277,"col":94}},"generated_from_span":null},"id":8683,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":92},"end":{"line":277,"col":94}},"generated_from_span":null},"id":8684,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":7893}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":4521}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":96},"end":{"line":277,"col":97}},"generated_from_span":null},"id":8685,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":96},"end":{"line":277,"col":97}},"generated_from_span":null},"id":8686,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":7894}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":2689}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":12},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8687,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":409}},"generics":{"regions":[{"Body":22},{"Body":23},{"Body":24},{"Body":25},{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":8233}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":8234}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":7892}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":7893}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":7894}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8688,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8689,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8690,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8691,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":277,"col":97},"end":{"line":277,"col":98}},"generated_from_span":null},"id":8692,"kind":{"StorageDead":12},"comments_before":[]}]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":279,"col":4},"end":{"line":279,"col":5}},"generated_from_span":null},"id":8696,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":4,"beg":{"line":280,"col":1},"end":{"line":280,"col":1}},"generated_from_span":null},"id":8697,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":381,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":39,"beg":{"line":271,"col":16},"end":{"line":271,"col":84}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10750,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":2925},"Shared"]}]},{"HashConsedValue":[10751,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2925},"Shared"]}]}],"output":{"Deduplicated":4622}},"src":{"TraitImpl":{"impl_ref":{"id":130,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":382,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":282,"col":16},"end":{"line":282,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2925},{"Deduplicated":1551}],"output":{"Deduplicated":6660}},"src":{"TraitImpl":{"impl_ref":{"id":130,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":385,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":39,"beg":{"line":290,"col":16},"end":{"line":290,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2925},{"Deduplicated":1551}],"output":{"Deduplicated":6660}},"src":{"TraitImpl":{"impl_ref":{"id":130,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":388,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["constants",0]},{"Ident":["BASEPOINT_ORDER",0]}],"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"source_text":"pub(crate) const BASEPOINT_ORDER: Scalar = Scalar {\n bytes: [\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde,\n 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x10,\n ],\n};","attr_info":{"attributes":[{"DocComment":" `BASEPOINT_ORDER` is the order of the Ristretto group and of the Ed25519 basepoint, i.e.,"},{"DocComment":" $$"},{"DocComment":" \\ell = 2^\\{252\\} + 27742317777372353535851937790883648493."},{"DocComment":" $$"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":2689}},"src":"TopLevel","is_global_initializer":68,"body":{"Structured":{"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":75,"beg":{"line":58,"col":34},"end":{"line":58,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":2689}},{"index":1,"name":null,"span":{"data":{"file_id":75,"beg":{"line":59,"col":11},"end":{"line":63,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":2114}}]},"body":{"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":75,"beg":{"line":59,"col":11},"end":{"line":63,"col":5}},"generated_from_span":null},"id":8698,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":75,"beg":{"line":59,"col":11},"end":{"line":63,"col":5}},"generated_from_span":null},"id":8699,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":2114}},{"Aggregate":[{"Array":[{"Deduplicated":2113},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","237"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","211"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","245"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","92"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","26"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","99"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","18"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","88"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","214"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","156"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","247"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","162"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","222"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","249"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","222"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","20"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":2113}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","16"]}}},"ty":{"Deduplicated":2113}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":75,"beg":{"line":58,"col":43},"end":{"line":64,"col":1}},"generated_from_span":null},"id":8700,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":2689}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":2114}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":75,"beg":{"line":64,"col":0},"end":{"line":64,"col":1}},"generated_from_span":null},"id":8701,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"id":8702,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":389,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["Into",0]},{"Ident":["into",0]}],"span":{"data":{"file_id":21,"beg":{"line":454,"col":4},"end":{"line":454,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Converts this type into the (usually inferred) input type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"Deduplicated":10512}},"src":{"TraitDecl":{"trait_ref":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":390,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]},{"Ident":["bitor",0]}],"span":{"data":{"file_id":76,"beg":{"line":271,"col":4},"end":{"line":271,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `|` operation."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(true | false, true);"},{"DocComment":" assert_eq!(false | false, false);"},{"DocComment":" assert_eq!(5u8 | 1u8, 5);"},{"DocComment":" assert_eq!(5u8 | 2u8, 7);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"src":{"TraitDecl":{"trait_ref":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":391,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":133}},{"Ident":["clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10735}],"output":{"Deduplicated":1551}},"src":{"TraitImpl":{"impl_ref":{"id":133,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":392,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":9,"beg":{"line":1999,"col":16},"end":{"line":1999,"col":71}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10735},{"Deduplicated":10736}],"output":{"Deduplicated":6382}},"src":{"TraitImpl":{"impl_ref":{"id":134,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,{"def_id":401,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":5,"beg":{"line":45,"col":0},"end":{"line":49,"col":1}},"generated_from_span":null},"source_text":"impl Debug for FieldElement51 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":7289}},"src":{"VTableInstance":{"impl_ref":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}},"is_global_initializer":1,"body":"Opaque"},{"def_id":402,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":15,"beg":{"line":2871,"col":8},"end":{"line":2871,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":2871,"col":31},"end":{"line":2871,"col":34}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":7289}},"src":{"VTableInstance":{"impl_ref":{"id":117,"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10552}]}}}},"is_global_initializer":73,"body":"Opaque"},{"def_id":403,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]},{"Ident":["bitand",0]}],"span":{"data":{"file_id":76,"beg":{"line":167,"col":4},"end":{"line":167,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the `&` operation."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(true & false, false);"},{"DocComment":" assert_eq!(true & true, true);"},{"DocComment":" assert_eq!(5u8 & 1u8, 1);"},{"DocComment":" assert_eq!(5u8 & 2u8, 0);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"src":{"TraitDecl":{"trait_ref":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":404,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]},{"Ident":["from_residual",0]}],"span":{"data":{"file_id":66,"beg":{"line":333,"col":4},"end":{"line":333,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Constructs the type from a compatible `Residual` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method such"},{"DocComment":" that applying the `?` operator will get back an equivalent residual:"},{"DocComment":" `FromResidual::from_residual(r).branch() --> ControlFlow::Break(r)`."},{"DocComment":" (The residual is not mandated to be *identical* when interconversion is involved.)"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, FromResidual};"},{"DocComment":""},{"DocComment":" assert_eq!(Result::::from_residual(Err(3_u8)), Err(3));"},{"DocComment":" assert_eq!(Option::::from_residual(None), None);"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::from_residual(ControlFlow::Break(5)),"},{"DocComment":" ControlFlow::Break(5),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_residual"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"R"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10512}],"output":{"Deduplicated":10511}},"src":{"TraitDecl":{"trait_ref":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":405,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["scalar",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":2689},"kind":"InherentImplBlock"}}},{"Ident":["non_adjacent_form",0]}],"span":{"data":{"file_id":28,"beg":{"line":1028,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn non_adjacent_form(&self, w: usize) -> [i8; 256] {\n // required by the NAF definition\n debug_assert!(w >= 2);\n // required so that the NAF digits fit in i8\n debug_assert!(w <= 8);\n\n let mut naf = [0i8; 256];\n\n let mut x_u64 = [0u64; 5];\n // AENEAS-COMPAT: index-based little-endian load instead of\n // read_le_u64_into (its chunks/zip iterators are opaque to the\n // extraction). Pure refactor, semantics identical.\n let mut k: usize = 0;\n while k < 4 {\n let mut t: u64 = 0;\n let mut bi: usize = 0;\n while bi < 8 {\n t |= (self.bytes[8 * k + bi] as u64) << (8 * bi);\n bi += 1;\n }\n x_u64[k] = t;\n k += 1;\n }\n\n let width = 1 << w;\n let window_mask = width - 1;\n\n let mut pos = 0;\n let mut carry = 0;\n while pos < 256 {\n // Construct a buffer of bits of the scalar, starting at bit `pos`\n let u64_idx = pos / 64;\n let bit_idx = pos % 64;\n let bit_buf: u64 = if bit_idx < 64 - w {\n // This window's bits are contained in a single u64\n x_u64[u64_idx] >> bit_idx\n } else {\n // Combine the current u64's bits with the bits from the next u64\n (x_u64[u64_idx] >> bit_idx) | (x_u64[1 + u64_idx] << (64 - bit_idx))\n };\n\n // Add the carry into the current window\n let window = carry + (bit_buf & window_mask);\n\n if window & 1 == 0 {\n // If the window value is even, preserve the carry and continue.\n // Why is the carry preserved?\n // If carry == 0 and window & 1 == 0, then the next carry should be 0\n // If carry == 1 and window & 1 == 0, then bit_buf & 1 == 1 so the next carry should be 1\n pos += 1;\n continue;\n }\n\n if window < width / 2 {\n carry = 0;\n naf[pos] = window as i8;\n } else {\n carry = 1;\n naf[pos] = (window as i8).wrapping_sub(width as i8);\n }\n\n pos += w;\n }\n\n naf\n }","attr_info":{"attributes":[{"DocComment":" Compute a width-\\\\(w\\\\) \"Non-Adjacent Form\" of this scalar."},{"DocComment":""},{"DocComment":" A width-\\\\(w\\\\) NAF of a positive integer \\\\(k\\\\) is an expression"},{"DocComment":" $$"},{"DocComment":" k = \\sum_{i=0}\\^m n\\_i 2\\^i,"},{"DocComment":" $$"},{"DocComment":" where each nonzero"},{"DocComment":" coefficient \\\\(n\\_i\\\\) is odd and bounded by \\\\(|n\\_i| < 2\\^{w-1}\\\\),"},{"DocComment":" \\\\(n\\_{m-1}\\\\) is nonzero, and at most one of any \\\\(w\\\\) consecutive"},{"DocComment":" coefficients is nonzero. (Hankerson, Menezes, Vanstone; def 3.32)."},{"DocComment":""},{"DocComment":" The length of the NAF is at most one more than the length of"},{"DocComment":" the binary representation of \\\\(k\\\\). This is why the"},{"DocComment":" `Scalar` type maintains an invariant (invariant #1) that the top bit is"},{"DocComment":" \\\\(0\\\\), so that the NAF of a scalar has at most 256 digits."},{"DocComment":""},{"DocComment":" Intuitively, this is like a binary expansion, except that we"},{"DocComment":" allow some coefficients to grow in magnitude up to"},{"DocComment":" \\\\(2\\^{w-1}\\\\) so that the nonzero coefficients are as sparse"},{"DocComment":" as possible."},{"DocComment":""},{"DocComment":" When doing scalar multiplication, we can then use a lookup"},{"DocComment":" table of precomputed multiples of a point to add the nonzero"},{"DocComment":" terms \\\\( k_i P \\\\). Using signed digits cuts the table size"},{"DocComment":" in half, and using odd digits cuts the table size in half"},{"DocComment":" again."},{"DocComment":""},{"DocComment":" To compute a \\\\(w\\\\)-NAF, we use a modification of Algorithm 3.35 of HMV:"},{"DocComment":""},{"DocComment":" 1. \\\\( i \\gets 0 \\\\)"},{"DocComment":" 2. While \\\\( k \\ge 1 \\\\):"},{"DocComment":" 1. If \\\\(k\\\\) is odd, \\\\( n_i \\gets k \\operatorname{mods} 2^w \\\\), \\\\( k \\gets k - n_i \\\\)."},{"DocComment":" 2. If \\\\(k\\\\) is even, \\\\( n_i \\gets 0 \\\\)."},{"DocComment":" 3. \\\\( k \\gets k / 2 \\\\), \\\\( i \\gets i + 1 \\\\)."},{"DocComment":" 3. Return \\\\( n_0, n_1, ... , \\\\)"},{"DocComment":""},{"DocComment":" Here \\\\( \\bar x = x \\operatorname{mods} 2^w \\\\) means the"},{"DocComment":" \\\\( \\bar x \\\\) with \\\\( \\bar x \\equiv x \\pmod{2^w} \\\\) and"},{"DocComment":" \\\\( -2^{w-1} \\leq \\bar x < 2^{w-1} \\\\)."},{"DocComment":""},{"DocComment":" We implement this by scanning across the bits of \\\\(k\\\\) from"},{"DocComment":" least-significant bit to most-significant-bit."},{"DocComment":" Write the bits of \\\\(k\\\\) as"},{"DocComment":" $$"},{"DocComment":" k = \\sum\\_{i=0}\\^m k\\_i 2^i,"},{"DocComment":" $$"},{"DocComment":" and split the sum as"},{"DocComment":" $$"},{"DocComment":" k = \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i"},{"DocComment":" $$"},{"DocComment":" where the first part is \\\\( k \\mod 2^w \\\\)."},{"DocComment":""},{"DocComment":" If \\\\( k \\mod 2^w\\\\) is odd, and \\\\( k \\mod 2^w < 2^{w-1} \\\\), then we emit"},{"DocComment":" \\\\( n_0 = k \\mod 2^w \\\\). Instead of computing"},{"DocComment":" \\\\( k - n_0 \\\\), we just advance \\\\(w\\\\) bits and reindex."},{"DocComment":""},{"DocComment":" If \\\\( k \\mod 2^w\\\\) is odd, and \\\\( k \\mod 2^w \\ge 2^{w-1} \\\\), then"},{"DocComment":" \\\\( n_0 = k \\operatorname{mods} 2^w = k \\mod 2^w - 2^w \\\\)."},{"DocComment":" The quantity \\\\( k - n_0 \\\\) is"},{"DocComment":" $$"},{"DocComment":" \\begin{aligned}"},{"DocComment":" k - n_0 &= \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i"},{"DocComment":" - \\sum\\_{i=0}^{w-1} k\\_i 2^i + 2^w \\\\\\\\"},{"DocComment":" &= 2^w + 2^w \\sum\\_{i=0} k\\_{i+w} 2^i"},{"DocComment":" \\end{aligned}"},{"DocComment":" $$"},{"DocComment":" so instead of computing the subtraction, we can set a carry"},{"DocComment":" bit, advance \\\\(w\\\\) bits, and reindex."},{"DocComment":""},{"DocComment":" If \\\\( k \\mod 2^w\\\\) is even, we emit \\\\(0\\\\), advance 1 bit"},{"DocComment":" and reindex. In fact, by setting all digits to \\\\(0\\\\)"},{"DocComment":" initially, we don't need to emit anything."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":1551}],"output":{"Deduplicated":8128}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":1028,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1028,"col":56},"end":{"line":1028,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":8128}},{"index":1,"name":"self","span":{"data":{"file_id":28,"beg":{"line":1028,"col":36},"end":{"line":1028,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":6598}},{"index":2,"name":"w","span":{"data":{"file_id":28,"beg":{"line":1028,"col":43},"end":{"line":1028,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":3,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":4,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1030,"col":22},"end":{"line":1030,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":5,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1030,"col":22},"end":{"line":1030,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":6,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":7,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1032,"col":22},"end":{"line":1032,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":8,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1032,"col":22},"end":{"line":1032,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":9,"name":"naf","span":{"data":{"file_id":28,"beg":{"line":1034,"col":12},"end":{"line":1034,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":8128}},{"index":10,"name":"x_u64","span":{"data":{"file_id":28,"beg":{"line":1036,"col":12},"end":{"line":1036,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1552}},{"index":11,"name":"k","span":{"data":{"file_id":28,"beg":{"line":1040,"col":12},"end":{"line":1040,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1041,"col":14},"end":{"line":1041,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":13,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1041,"col":14},"end":{"line":1041,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":"t","span":{"data":{"file_id":28,"beg":{"line":1042,"col":16},"end":{"line":1042,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":15,"name":"bi","span":{"data":{"file_id":28,"beg":{"line":1043,"col":16},"end":{"line":1043,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":16,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1044,"col":18},"end":{"line":1044,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":17,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1044,"col":18},"end":{"line":1044,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":18,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":21},"end":{"line":1045,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":19,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":21},"end":{"line":1045,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":20,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":22},"end":{"line":1045,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2113}},{"index":21,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":37},"end":{"line":1045,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":25,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":41},"end":{"line":1045,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":26,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":27,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":56},"end":{"line":1045,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":28,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":61},"end":{"line":1045,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":29,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1045,"col":56},"end":{"line":1045,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1046,"col":16},"end":{"line":1046,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":31,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1048,"col":23},"end":{"line":1048,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":32,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1048,"col":18},"end":{"line":1048,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":33,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1049,"col":12},"end":{"line":1049,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":34,"name":"width","span":{"data":{"file_id":28,"beg":{"line":1052,"col":12},"end":{"line":1052,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":35,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1052,"col":25},"end":{"line":1052,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":36,"name":"window_mask","span":{"data":{"file_id":28,"beg":{"line":1053,"col":12},"end":{"line":1053,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":37,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1053,"col":26},"end":{"line":1053,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":38,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1053,"col":26},"end":{"line":1053,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":39,"name":"pos","span":{"data":{"file_id":28,"beg":{"line":1055,"col":12},"end":{"line":1055,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":40,"name":"carry","span":{"data":{"file_id":28,"beg":{"line":1056,"col":12},"end":{"line":1056,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":41,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1057,"col":14},"end":{"line":1057,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":42,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1057,"col":14},"end":{"line":1057,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":43,"name":"u64_idx","span":{"data":{"file_id":28,"beg":{"line":1059,"col":16},"end":{"line":1059,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":44,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1059,"col":26},"end":{"line":1059,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":45,"name":"bit_idx","span":{"data":{"file_id":28,"beg":{"line":1060,"col":16},"end":{"line":1060,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":46,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1060,"col":26},"end":{"line":1060,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":47,"name":"bit_buf","span":{"data":{"file_id":28,"beg":{"line":1061,"col":16},"end":{"line":1061,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":48,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1061,"col":34},"end":{"line":1061,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":49,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1061,"col":34},"end":{"line":1061,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":50,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1061,"col":44},"end":{"line":1061,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":51,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1061,"col":49},"end":{"line":1061,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":52,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1061,"col":44},"end":{"line":1061,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":53,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1063,"col":16},"end":{"line":1063,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":54,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1063,"col":22},"end":{"line":1063,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":55,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1063,"col":34},"end":{"line":1063,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":56,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":16},"end":{"line":1066,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":57,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":17},"end":{"line":1066,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":58,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":23},"end":{"line":1066,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":59,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":35},"end":{"line":1066,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":60,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":46},"end":{"line":1066,"col":84}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":61,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":47},"end":{"line":1066,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":62,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":53},"end":{"line":1066,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":63,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":57},"end":{"line":1066,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":64,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":53},"end":{"line":1066,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":65,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":69},"end":{"line":1066,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":66,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":75},"end":{"line":1066,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":67,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1066,"col":69},"end":{"line":1066,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":68,"name":"window","span":{"data":{"file_id":28,"beg":{"line":1070,"col":16},"end":{"line":1070,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":69,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1070,"col":25},"end":{"line":1070,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":70,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1070,"col":33},"end":{"line":1070,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":71,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1070,"col":34},"end":{"line":1070,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":72,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1070,"col":44},"end":{"line":1070,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":73,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1070,"col":25},"end":{"line":1070,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":74,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":75,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":76,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":77,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1077,"col":16},"end":{"line":1077,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":78,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1081,"col":15},"end":{"line":1081,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":79,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1081,"col":15},"end":{"line":1081,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":80,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1081,"col":24},"end":{"line":1081,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":81,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1081,"col":24},"end":{"line":1081,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":82,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1083,"col":27},"end":{"line":1083,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":83,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1083,"col":20},"end":{"line":1083,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":84,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1086,"col":27},"end":{"line":1086,"col":67}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":85,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1086,"col":27},"end":{"line":1086,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":86,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1086,"col":28},"end":{"line":1086,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":87,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1086,"col":55},"end":{"line":1086,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":88,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1086,"col":55},"end":{"line":1086,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":1550}},{"index":89,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1086,"col":20},"end":{"line":1086,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":90,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1089,"col":19},"end":{"line":1089,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":91,"name":null,"span":{"data":{"file_id":28,"beg":{"line":1089,"col":12},"end":{"line":1089,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":92,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9403}},{"index":93,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9402}},{"index":94,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9407}},{"index":95,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9406}},{"index":96,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":97,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":98,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":99,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":100,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9405}},{"index":101,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9404}},{"index":102,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9412,{"Ref":["Erased",{"Deduplicated":8128},"Mut"]}]}},{"index":103,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9411,{"Ref":["Erased",{"Deduplicated":4225},"Mut"]}]}},{"index":104,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9412}},{"index":105,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9411}}]},"body":{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8704,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8705,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8707,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8709,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8711,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8713,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8716,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8721,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8723,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8725,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8726,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8730,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":8732,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":8733,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":8751,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":22},"end":{"line":1030,"col":28}},"generated_from_span":null},"id":8735,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":22},"end":{"line":1030,"col":23}},"generated_from_span":null},"id":8736,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":22},"end":{"line":1030,"col":23}},"generated_from_span":null},"id":8737,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["required by the NAF definition"]},{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":22},"end":{"line":1030,"col":28}},"generated_from_span":null},"id":8738,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1470}},{"BinaryOp":["Ge",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":22},"end":{"line":1030,"col":28}},"generated_from_span":null},"id":8743,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":22},"end":{"line":1030,"col":28}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":27},"end":{"line":1030,"col":28}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":27},"end":{"line":1030,"col":28}},"generated_from_span":null},"id":8740,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":8742,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1030,"col":27},"end":{"line":1030,"col":28}},"generated_from_span":null},"id":8744,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":8746,"kind":{"StorageDead":4},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8752,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":8755,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":8756,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":8774,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":22},"end":{"line":1032,"col":28}},"generated_from_span":null},"id":8758,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":22},"end":{"line":1032,"col":23}},"generated_from_span":null},"id":8759,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":22},"end":{"line":1032,"col":23}},"generated_from_span":null},"id":8760,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["required so that the NAF digits fit in i8"]},{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":22},"end":{"line":1032,"col":28}},"generated_from_span":null},"id":8761,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1470}},{"BinaryOp":["Le",{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":22},"end":{"line":1032,"col":28}},"generated_from_span":null},"id":8766,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":22},"end":{"line":1032,"col":28}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":27},"end":{"line":1032,"col":28}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":27},"end":{"line":1032,"col":28}},"generated_from_span":null},"id":8763,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":8765,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1032,"col":27},"end":{"line":1032,"col":28}},"generated_from_span":null},"id":8767,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":8769,"kind":{"StorageDead":7},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":8775,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1034,"col":12},"end":{"line":1034,"col":19}},"generated_from_span":null},"id":8777,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1034,"col":22},"end":{"line":1034,"col":32}},"generated_from_span":null},"id":8778,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":4225}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","256"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I8","0"]}}},"ty":{"Deduplicated":4225}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":8128}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1036,"col":12},"end":{"line":1036,"col":21}},"generated_from_span":null},"id":8779,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1036,"col":24},"end":{"line":1036,"col":33}},"generated_from_span":null},"id":8780,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1552}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1040,"col":12},"end":{"line":1040,"col":17}},"generated_from_span":null},"id":8781,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1040,"col":27},"end":{"line":1040,"col":28}},"generated_from_span":null},"id":8782,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["AENEAS-COMPAT: index-based little-endian load instead of","read_le_u64_into (its chunks/zip iterators are opaque to the","extraction). Pure refactor, semantics identical."]},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"id":8871,"kind":{"Loop":{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":14},"end":{"line":1041,"col":19}},"generated_from_span":null},"id":8784,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":14},"end":{"line":1041,"col":15}},"generated_from_span":null},"id":8785,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":14},"end":{"line":1041,"col":15}},"generated_from_span":null},"id":8786,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":14},"end":{"line":1041,"col":19}},"generated_from_span":null},"id":8787,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"id":8870,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":18},"end":{"line":1041,"col":19}},"generated_from_span":null},"id":8788,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1042,"col":16},"end":{"line":1042,"col":21}},"generated_from_span":null},"id":8789,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1042,"col":29},"end":{"line":1042,"col":30}},"generated_from_span":null},"id":8790,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1043,"col":16},"end":{"line":1043,"col":22}},"generated_from_span":null},"id":8791,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1043,"col":32},"end":{"line":1043,"col":33}},"generated_from_span":null},"id":8792,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":12},"end":{"line":1047,"col":13}},"generated_from_span":null},"id":8845,"kind":{"Loop":{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":12},"end":{"line":1047,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":18},"end":{"line":1044,"col":24}},"generated_from_span":null},"id":8794,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":18},"end":{"line":1044,"col":20}},"generated_from_span":null},"id":8795,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":18},"end":{"line":1044,"col":20}},"generated_from_span":null},"id":8796,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":18},"end":{"line":1044,"col":24}},"generated_from_span":null},"id":8797,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":12},"end":{"line":1047,"col":13}},"generated_from_span":null},"id":8844,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":12},"end":{"line":1047,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":23},"end":{"line":1044,"col":24}},"generated_from_span":null},"id":8798,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":21},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8799,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":21},"end":{"line":1045,"col":52}},"generated_from_span":null},"id":8800,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":22},"end":{"line":1045,"col":44}},"generated_from_span":null},"id":8801,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":43}},"generated_from_span":null},"id":8802,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":38}},"generated_from_span":null},"id":8803,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":37},"end":{"line":1045,"col":38}},"generated_from_span":null},"id":8804,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":37},"end":{"line":1045,"col":38}},"generated_from_span":null},"id":8805,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":38}},"generated_from_span":null},"id":8806,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":38}},"generated_from_span":null},"id":8808,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":37},"end":{"line":1045,"col":38}},"generated_from_span":null},"id":8809,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":41},"end":{"line":1045,"col":43}},"generated_from_span":null},"id":8810,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":41},"end":{"line":1045,"col":43}},"generated_from_span":null},"id":8811,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":43}},"generated_from_span":null},"id":8812,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":33},"end":{"line":1045,"col":43}},"generated_from_span":null},"id":8814,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":42},"end":{"line":1045,"col":43}},"generated_from_span":null},"id":8815,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":42},"end":{"line":1045,"col":43}},"generated_from_span":null},"id":8816,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":22},"end":{"line":1045,"col":44}},"generated_from_span":null},"id":10725,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":22},"end":{"line":1045,"col":44}},"generated_from_span":null},"id":10726,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":9403}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":6598}},"Deref"]},"ty":{"Deduplicated":2689}},{"Field":[{"Adt":[12,null]},0]}]},"ty":{"Deduplicated":2114}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":22},"end":{"line":1045,"col":44}},"generated_from_span":null},"id":10727,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":22},"end":{"line":1045,"col":44}},"generated_from_span":null},"id":10728,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":2113}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","32"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":92},"ty":{"Deduplicated":9403}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":93},"ty":{"Deduplicated":9402}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":22},"end":{"line":1045,"col":44}},"generated_from_span":null},"id":8819,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2113}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":93},"ty":{"Deduplicated":9402}},"Deref"]},"ty":{"Deduplicated":2113}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":21},"end":{"line":1045,"col":52}},"generated_from_span":null},"id":8820,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1550}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U8"},{"UInt":"U64"}]}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2113}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":51},"end":{"line":1045,"col":52}},"generated_from_span":null},"id":8821,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":56},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8822,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":61},"end":{"line":1045,"col":63}},"generated_from_span":null},"id":8823,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":61},"end":{"line":1045,"col":63}},"generated_from_span":null},"id":8824,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":56},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8825,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}},{"Copy":{"kind":{"Local":28},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":56},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8827,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":63},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8828,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":21},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8831,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":63},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8832,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":63},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8833,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":16},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8834,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":63},"end":{"line":1045,"col":64}},"generated_from_span":null},"id":8835,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1045,"col":64},"end":{"line":1045,"col":65}},"generated_from_span":null},"id":8836,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1046,"col":16},"end":{"line":1046,"col":23}},"generated_from_span":null},"id":8837,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1046,"col":16},"end":{"line":1046,"col":23}},"generated_from_span":null},"id":8839,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1047,"col":12},"end":{"line":1047,"col":13}},"generated_from_span":null},"id":8841,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":12},"end":{"line":1047,"col":13}},"generated_from_span":null},"id":8842,"kind":{"Continue":0},"comments_before":[]}]},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":18},"end":{"line":1044,"col":24}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":18},"end":{"line":1044,"col":24}},"generated_from_span":null},"id":8843,"kind":{"Break":0},"comments_before":[]}]}]}},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1044,"col":23},"end":{"line":1044,"col":24}},"generated_from_span":null},"id":8846,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1047,"col":12},"end":{"line":1047,"col":13}},"generated_from_span":null},"id":8850,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":23},"end":{"line":1048,"col":24}},"generated_from_span":null},"id":8852,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":23},"end":{"line":1048,"col":24}},"generated_from_span":null},"id":8853,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":18},"end":{"line":1048,"col":19}},"generated_from_span":null},"id":8854,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":18},"end":{"line":1048,"col":19}},"generated_from_span":null},"id":8855,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":12},"end":{"line":1048,"col":24}},"generated_from_span":null},"id":10729,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":12},"end":{"line":1048,"col":24}},"generated_from_span":null},"id":10730,"kind":{"Assign":[{"kind":{"Local":94},"ty":{"Deduplicated":9407}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1552}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":12},"end":{"line":1048,"col":24}},"generated_from_span":null},"id":10731,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":12},"end":{"line":1048,"col":24}},"generated_from_span":null},"id":10732,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":94},"ty":{"Deduplicated":9407}}},{"Copy":{"kind":{"Local":32},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":95},"ty":{"Deduplicated":9406}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":12},"end":{"line":1048,"col":24}},"generated_from_span":null},"id":8858,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":95},"ty":{"Deduplicated":9406}},"Deref"]},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":23},"end":{"line":1048,"col":24}},"generated_from_span":null},"id":8859,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1048,"col":24},"end":{"line":1048,"col":25}},"generated_from_span":null},"id":8860,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1049,"col":12},"end":{"line":1049,"col":18}},"generated_from_span":null},"id":8861,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1049,"col":12},"end":{"line":1049,"col":18}},"generated_from_span":null},"id":8863,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1050,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"id":8865,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1050,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"id":8866,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1050,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"id":8867,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"id":8868,"kind":{"Continue":0},"comments_before":[]}]},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":14},"end":{"line":1041,"col":19}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":14},"end":{"line":1041,"col":19}},"generated_from_span":null},"id":8869,"kind":{"Break":0},"comments_before":[]}]}]}},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1041,"col":18},"end":{"line":1041,"col":19}},"generated_from_span":null},"id":8872,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1050,"col":8},"end":{"line":1050,"col":9}},"generated_from_span":null},"id":8876,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1052,"col":12},"end":{"line":1052,"col":17}},"generated_from_span":null},"id":8878,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1052,"col":25},"end":{"line":1052,"col":26}},"generated_from_span":null},"id":8879,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1052,"col":25},"end":{"line":1052,"col":26}},"generated_from_span":null},"id":8880,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1052,"col":20},"end":{"line":1052,"col":26}},"generated_from_span":null},"id":8883,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1052,"col":25},"end":{"line":1052,"col":26}},"generated_from_span":null},"id":8884,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1053,"col":12},"end":{"line":1053,"col":23}},"generated_from_span":null},"id":8885,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1053,"col":26},"end":{"line":1053,"col":31}},"generated_from_span":null},"id":8886,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1053,"col":26},"end":{"line":1053,"col":31}},"generated_from_span":null},"id":8887,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1053,"col":26},"end":{"line":1053,"col":35}},"generated_from_span":null},"id":8888,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1053,"col":26},"end":{"line":1053,"col":35}},"generated_from_span":null},"id":8890,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1053,"col":34},"end":{"line":1053,"col":35}},"generated_from_span":null},"id":8891,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1055,"col":12},"end":{"line":1055,"col":19}},"generated_from_span":null},"id":8892,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1055,"col":22},"end":{"line":1055,"col":23}},"generated_from_span":null},"id":8893,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1056,"col":12},"end":{"line":1056,"col":21}},"generated_from_span":null},"id":8894,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1056,"col":24},"end":{"line":1056,"col":25}},"generated_from_span":null},"id":8895,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9105,"kind":{"Loop":{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":14},"end":{"line":1057,"col":23}},"generated_from_span":null},"id":8897,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":14},"end":{"line":1057,"col":17}},"generated_from_span":null},"id":8898,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":14},"end":{"line":1057,"col":17}},"generated_from_span":null},"id":8899,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":14},"end":{"line":1057,"col":23}},"generated_from_span":null},"id":8900,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","256"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9104,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":22},"end":{"line":1057,"col":23}},"generated_from_span":null},"id":8901,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1059,"col":16},"end":{"line":1059,"col":23}},"generated_from_span":null},"id":8902,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1059,"col":26},"end":{"line":1059,"col":29}},"generated_from_span":null},"id":8903,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1059,"col":26},"end":{"line":1059,"col":29}},"generated_from_span":null},"id":8904,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Construct a buffer of bits of the scalar, starting at bit `pos`"]},{"span":{"data":{"file_id":28,"beg":{"line":1059,"col":26},"end":{"line":1059,"col":34}},"generated_from_span":null},"id":8907,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","64"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1059,"col":33},"end":{"line":1059,"col":34}},"generated_from_span":null},"id":8908,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1060,"col":16},"end":{"line":1060,"col":23}},"generated_from_span":null},"id":8909,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1060,"col":26},"end":{"line":1060,"col":29}},"generated_from_span":null},"id":8910,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1060,"col":26},"end":{"line":1060,"col":29}},"generated_from_span":null},"id":8911,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1060,"col":26},"end":{"line":1060,"col":34}},"generated_from_span":null},"id":8914,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Rem":"Panic"},{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","64"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1060,"col":33},"end":{"line":1060,"col":34}},"generated_from_span":null},"id":8915,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":16},"end":{"line":1061,"col":23}},"generated_from_span":null},"id":8916,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":34},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8917,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":34},"end":{"line":1061,"col":41}},"generated_from_span":null},"id":8918,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":34},"end":{"line":1061,"col":41}},"generated_from_span":null},"id":8919,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":44},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8920,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":49},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8921,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":49},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8922,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":44},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8923,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","64"]}}},"ty":{"Deduplicated":1551}}},{"Copy":{"kind":{"Local":51},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":44},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8925,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":49},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8926,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":34},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8927,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":1551}}},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":31},"end":{"line":1067,"col":13}},"generated_from_span":null},"id":8991,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":31},"end":{"line":1067,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":49},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8928,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":49},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8929,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":16},"end":{"line":1063,"col":30}},"generated_from_span":null},"id":8930,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":22},"end":{"line":1063,"col":29}},"generated_from_span":null},"id":8931,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":22},"end":{"line":1063,"col":29}},"generated_from_span":null},"id":8932,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["This window's bits are contained in a single u64"]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":16},"end":{"line":1063,"col":30}},"generated_from_span":null},"id":10733,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":16},"end":{"line":1063,"col":30}},"generated_from_span":null},"id":10734,"kind":{"Assign":[{"kind":{"Local":96},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":16},"end":{"line":1063,"col":30}},"generated_from_span":null},"id":10735,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":16},"end":{"line":1063,"col":30}},"generated_from_span":null},"id":10736,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":96},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":97},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":16},"end":{"line":1063,"col":30}},"generated_from_span":null},"id":8935,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":97},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":34},"end":{"line":1063,"col":41}},"generated_from_span":null},"id":8936,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":34},"end":{"line":1063,"col":41}},"generated_from_span":null},"id":8937,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":16},"end":{"line":1063,"col":41}},"generated_from_span":null},"id":8940,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":40},"end":{"line":1063,"col":41}},"generated_from_span":null},"id":8941,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":40},"end":{"line":1063,"col":41}},"generated_from_span":null},"id":8942,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1063,"col":40},"end":{"line":1063,"col":41}},"generated_from_span":null},"id":8943,"kind":{"StorageDead":53},"comments_before":[]}]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":31},"end":{"line":1067,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":49},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8945,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1061,"col":49},"end":{"line":1061,"col":50}},"generated_from_span":null},"id":8946,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":16},"end":{"line":1066,"col":43}},"generated_from_span":null},"id":8947,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":17},"end":{"line":1066,"col":31}},"generated_from_span":null},"id":8948,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":23},"end":{"line":1066,"col":30}},"generated_from_span":null},"id":8949,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":23},"end":{"line":1066,"col":30}},"generated_from_span":null},"id":8950,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["Combine the current u64's bits with the bits from the next u64"]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":17},"end":{"line":1066,"col":31}},"generated_from_span":null},"id":10737,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":17},"end":{"line":1066,"col":31}},"generated_from_span":null},"id":10738,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":17},"end":{"line":1066,"col":31}},"generated_from_span":null},"id":10739,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":17},"end":{"line":1066,"col":31}},"generated_from_span":null},"id":10740,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":98},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":99},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":17},"end":{"line":1066,"col":31}},"generated_from_span":null},"id":8953,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":99},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":35},"end":{"line":1066,"col":42}},"generated_from_span":null},"id":8954,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":35},"end":{"line":1066,"col":42}},"generated_from_span":null},"id":8955,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":16},"end":{"line":1066,"col":43}},"generated_from_span":null},"id":8958,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":42},"end":{"line":1066,"col":43}},"generated_from_span":null},"id":8959,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":42},"end":{"line":1066,"col":43}},"generated_from_span":null},"id":8960,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":46},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8961,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":47},"end":{"line":1066,"col":65}},"generated_from_span":null},"id":8962,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":53},"end":{"line":1066,"col":64}},"generated_from_span":null},"id":8963,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":57},"end":{"line":1066,"col":64}},"generated_from_span":null},"id":8964,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":57},"end":{"line":1066,"col":64}},"generated_from_span":null},"id":8965,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":53},"end":{"line":1066,"col":64}},"generated_from_span":null},"id":8966,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":53},"end":{"line":1066,"col":64}},"generated_from_span":null},"id":8968,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":63},"end":{"line":1066,"col":64}},"generated_from_span":null},"id":8969,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":47},"end":{"line":1066,"col":65}},"generated_from_span":null},"id":10741,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":47},"end":{"line":1066,"col":65}},"generated_from_span":null},"id":10742,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":9405}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1552}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":47},"end":{"line":1066,"col":65}},"generated_from_span":null},"id":10743,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":47},"end":{"line":1066,"col":65}},"generated_from_span":null},"id":10744,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1550}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":100},"ty":{"Deduplicated":9405}}},{"Copy":{"kind":{"Local":62},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":101},"ty":{"Deduplicated":9404}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":47},"end":{"line":1066,"col":65}},"generated_from_span":null},"id":8972,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":101},"ty":{"Deduplicated":9404}},"Deref"]},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":69},"end":{"line":1066,"col":83}},"generated_from_span":null},"id":8973,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":75},"end":{"line":1066,"col":82}},"generated_from_span":null},"id":8974,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":75},"end":{"line":1066,"col":82}},"generated_from_span":null},"id":8975,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":69},"end":{"line":1066,"col":83}},"generated_from_span":null},"id":8976,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","64"]}}},"ty":{"Deduplicated":1551}}},{"Copy":{"kind":{"Local":66},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":69},"end":{"line":1066,"col":83}},"generated_from_span":null},"id":8978,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":67},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":82},"end":{"line":1066,"col":83}},"generated_from_span":null},"id":8979,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":46},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8982,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":83},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8983,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":83},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8984,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":16},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8985,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitOr",{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":83},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8986,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":83},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8987,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":83},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8988,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1066,"col":83},"end":{"line":1066,"col":84}},"generated_from_span":null},"id":8989,"kind":{"StorageDead":56},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1067,"col":12},"end":{"line":1067,"col":13}},"generated_from_span":null},"id":8992,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":16},"end":{"line":1070,"col":22}},"generated_from_span":null},"id":8993,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":25},"end":{"line":1070,"col":30}},"generated_from_span":null},"id":8994,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":25},"end":{"line":1070,"col":30}},"generated_from_span":null},"id":8995,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":["Add the carry into the current window"]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":33},"end":{"line":1070,"col":56}},"generated_from_span":null},"id":8996,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":34},"end":{"line":1070,"col":41}},"generated_from_span":null},"id":8997,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":34},"end":{"line":1070,"col":41}},"generated_from_span":null},"id":8998,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":47},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":44},"end":{"line":1070,"col":55}},"generated_from_span":null},"id":8999,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":44},"end":{"line":1070,"col":55}},"generated_from_span":null},"id":9000,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":36},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":33},"end":{"line":1070,"col":56}},"generated_from_span":null},"id":9001,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":55},"end":{"line":1070,"col":56}},"generated_from_span":null},"id":9002,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":55},"end":{"line":1070,"col":56}},"generated_from_span":null},"id":9003,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":25},"end":{"line":1070,"col":56}},"generated_from_span":null},"id":9004,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":69},"ty":{"Deduplicated":1550}}},{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":25},"end":{"line":1070,"col":56}},"generated_from_span":null},"id":9006,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":1550}},{"Use":[{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":55},"end":{"line":1070,"col":56}},"generated_from_span":null},"id":9007,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1070,"col":55},"end":{"line":1070,"col":56}},"generated_from_span":null},"id":9008,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":30}},"generated_from_span":null},"id":9010,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":25}},"generated_from_span":null},"id":9011,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":21}},"generated_from_span":null},"id":9012,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":21}},"generated_from_span":null},"id":9013,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":25}},"generated_from_span":null},"id":9014,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":1550}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":24},"end":{"line":1072,"col":25}},"generated_from_span":null},"id":9015,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":30}},"generated_from_span":null},"id":9016,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":1470}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9090,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":74},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":15},"end":{"line":1072,"col":30}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":29},"end":{"line":1072,"col":30}},"generated_from_span":null},"id":9018,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1079,"col":12},"end":{"line":1079,"col":13}},"generated_from_span":null},"id":9020,"kind":{"StorageDead":74},"comments_before":["If the window value is even, preserve the carry and continue.","Why is the carry preserved?","If carry == 0 and window & 1 == 0, then the next carry should be 0","If carry == 1 and window & 1 == 0, then bit_buf & 1 == 1 so the next carry should be 1"]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":15},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9023,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":15},"end":{"line":1081,"col":21}},"generated_from_span":null},"id":9024,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":15},"end":{"line":1081,"col":21}},"generated_from_span":null},"id":9025,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":24},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9026,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":24},"end":{"line":1081,"col":29}},"generated_from_span":null},"id":9027,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":24},"end":{"line":1081,"col":29}},"generated_from_span":null},"id":9028,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":24},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9031,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":1550}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2"]}}},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":32},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9032,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":15},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9033,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":79},"ty":{"Deduplicated":1550}}},{"Move":{"kind":{"Local":80},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":12},"end":{"line":1087,"col":13}},"generated_from_span":null},"id":9074,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":78},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":12},"end":{"line":1087,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":32},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9034,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":32},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9035,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1082,"col":16},"end":{"line":1082,"col":25}},"generated_from_span":null},"id":9036,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":27},"end":{"line":1083,"col":33}},"generated_from_span":null},"id":9037,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":27},"end":{"line":1083,"col":33}},"generated_from_span":null},"id":9038,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":20},"end":{"line":1083,"col":23}},"generated_from_span":null},"id":9039,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":20},"end":{"line":1083,"col":23}},"generated_from_span":null},"id":9040,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":16},"end":{"line":1083,"col":39}},"generated_from_span":null},"id":10745,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":16},"end":{"line":1083,"col":39}},"generated_from_span":null},"id":10746,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":9412}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":8128}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":16},"end":{"line":1083,"col":39}},"generated_from_span":null},"id":10747,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":16},"end":{"line":1083,"col":39}},"generated_from_span":null},"id":10748,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":4225}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","256"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":102},"ty":{"Deduplicated":9412}}},{"Copy":{"kind":{"Local":83},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":103},"ty":{"Deduplicated":9411}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":16},"end":{"line":1083,"col":39}},"generated_from_span":null},"id":9043,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":103},"ty":{"Deduplicated":9411}},"Deref"]},"ty":{"Deduplicated":4225}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"Int":"I8"}]}},{"Move":{"kind":{"Local":82},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":38},"end":{"line":1083,"col":39}},"generated_from_span":null},"id":9044,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1083,"col":39},"end":{"line":1083,"col":40}},"generated_from_span":null},"id":9045,"kind":{"StorageDead":83},"comments_before":[]}]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":12},"end":{"line":1087,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":32},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9048,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1081,"col":32},"end":{"line":1081,"col":33}},"generated_from_span":null},"id":9049,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1085,"col":16},"end":{"line":1085,"col":25}},"generated_from_span":null},"id":9050,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":1550}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":27},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":9051,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":27},"end":{"line":1086,"col":41}},"generated_from_span":null},"id":9052,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":28},"end":{"line":1086,"col":34}},"generated_from_span":null},"id":9053,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":28},"end":{"line":1086,"col":34}},"generated_from_span":null},"id":9054,"kind":{"Assign":[{"kind":{"Local":86},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":27},"end":{"line":1086,"col":41}},"generated_from_span":null},"id":9055,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":4225}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"Int":"I8"}]}},{"Move":{"kind":{"Local":86},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":40},"end":{"line":1086,"col":41}},"generated_from_span":null},"id":9056,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":55},"end":{"line":1086,"col":66}},"generated_from_span":null},"id":9057,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":55},"end":{"line":1086,"col":60}},"generated_from_span":null},"id":9058,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":55},"end":{"line":1086,"col":60}},"generated_from_span":null},"id":9059,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":1550}},{"Use":[{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":1550}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":55},"end":{"line":1086,"col":66}},"generated_from_span":null},"id":9060,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":4225}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"Int":"I8"}]}},{"Move":{"kind":{"Local":88},"ty":{"Deduplicated":1550}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":65},"end":{"line":1086,"col":66}},"generated_from_span":null},"id":9061,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":27},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":9062,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":429}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":85},"ty":{"Deduplicated":4225}}},{"Move":{"kind":{"Local":87},"ty":{"Deduplicated":4225}}}],"dest":{"kind":{"Local":84},"ty":{"Deduplicated":4225}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":66},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":9063,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":66},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":9064,"kind":{"StorageDead":85},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":20},"end":{"line":1086,"col":23}},"generated_from_span":null},"id":9065,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":20},"end":{"line":1086,"col":23}},"generated_from_span":null},"id":9066,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":16},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":10749,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":16},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":10750,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":9412}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":8128}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":16},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":10751,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":16},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":10752,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":4225}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","256"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":104},"ty":{"Deduplicated":9412}}},{"Copy":{"kind":{"Local":89},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":105},"ty":{"Deduplicated":9411}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":16},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":9069,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":105},"ty":{"Deduplicated":9411}},"Deref"]},"ty":{"Deduplicated":4225}},{"Use":[{"Move":{"kind":{"Local":84},"ty":{"Deduplicated":4225}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":66},"end":{"line":1086,"col":67}},"generated_from_span":null},"id":9070,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1086,"col":67},"end":{"line":1086,"col":68}},"generated_from_span":null},"id":9071,"kind":{"StorageDead":89},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1087,"col":12},"end":{"line":1087,"col":13}},"generated_from_span":null},"id":9075,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1089,"col":19},"end":{"line":1089,"col":20}},"generated_from_span":null},"id":9077,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1089,"col":19},"end":{"line":1089,"col":20}},"generated_from_span":null},"id":9078,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1089,"col":12},"end":{"line":1089,"col":20}},"generated_from_span":null},"id":9079,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}},{"Copy":{"kind":{"Local":90},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1089,"col":12},"end":{"line":1089,"col":20}},"generated_from_span":null},"id":9081,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":91},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1089,"col":19},"end":{"line":1089,"col":20}},"generated_from_span":null},"id":9082,"kind":{"StorageDead":90},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9084,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9085,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9086,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9087,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9088,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9089,"kind":{"Continue":0},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1072,"col":29},"end":{"line":1072,"col":30}},"generated_from_span":null},"id":9091,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1077,"col":16},"end":{"line":1077,"col":24}},"generated_from_span":null},"id":9092,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":39},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1077,"col":16},"end":{"line":1077,"col":24}},"generated_from_span":null},"id":9094,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1079,"col":12},"end":{"line":1079,"col":13}},"generated_from_span":null},"id":9095,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9097,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9098,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9099,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9100,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9101,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"id":9102,"kind":{"Continue":0},"comments_before":[]}]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":14},"end":{"line":1057,"col":23}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":14},"end":{"line":1057,"col":23}},"generated_from_span":null},"id":9103,"kind":{"Break":0},"comments_before":[]}]}]}},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1057,"col":22},"end":{"line":1057,"col":23}},"generated_from_span":null},"id":9106,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1090,"col":8},"end":{"line":1090,"col":9}},"generated_from_span":null},"id":9110,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1092,"col":8},"end":{"line":1092,"col":11}},"generated_from_span":null},"id":9112,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8128}},{"Use":[{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":8128}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1093,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"id":9113,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1093,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"id":9114,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1093,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"id":9115,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1093,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"id":9116,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1093,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"id":9117,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1093,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"id":9118,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1093,"col":4},"end":{"line":1093,"col":5}},"generated_from_span":null},"id":9119,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":1093,"col":5},"end":{"line":1093,"col":5}},"generated_from_span":null},"id":9120,"kind":"Return","comments_before":[]}]},"comments":[[1030,["required by the NAF definition"]],[1032,["required so that the NAF digits fit in i8"]],[1040,["AENEAS-COMPAT: index-based little-endian load instead of","read_le_u64_into (its chunks/zip iterators are opaque to the","extraction). Pure refactor, semantics identical."]],[1059,["Construct a buffer of bits of the scalar, starting at bit `pos`"]],[1063,["This window's bits are contained in a single u64"]],[1066,["Combine the current u64's bits with the bits from the next u64"]],[1070,["Add the carry into the current window"]],[1077,["If the window value is even, preserve the carry and continue.","Why is the carry preserved?","If carry == 0 and window & 1 == 0, then the next carry should be 0","If carry == 1 and window & 1 == 0, then bit_buf & 1 == 1 so the next carry should be 1"]]]}}},{"def_id":406,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["dsm_top_index",0]}],"span":{"data":{"file_id":84,"beg":{"line":29,"col":0},"end":{"line":37,"col":1}},"generated_from_span":null},"source_text":"fn dsm_top_index(a_naf: &[i8; 256], b_naf: &[i8; 256]) -> usize {\n // AENEAS-COMPAT: always process all 256 digits. Leading zero digits\n // double the identity (a no-op), so the result of `mul` is unchanged;\n // only the variable-time skip is dropped. (The conditional-fold scan\n // fails Aeneas' loop fixed point.)\n let _ = a_naf;\n let _ = b_naf;\n 255\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(aA + bB\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":" AENEAS-COMPAT helper: highest index with a nonzero NAF digit (or 0)."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10752,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8128},"Shared"]}]},{"HashConsedValue":[10753,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":8128},"Shared"]}]}],"output":{"Deduplicated":1551}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":84,"beg":{"line":29,"col":0},"end":{"line":37,"col":1}},"generated_from_span":null},"bound_body_regions":3,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":84,"beg":{"line":29,"col":58},"end":{"line":29,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":1,"name":"a_naf","span":{"data":{"file_id":84,"beg":{"line":29,"col":17},"end":{"line":29,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[8498,{"Ref":[{"Body":1},{"Deduplicated":8128},"Shared"]}]}},{"index":2,"name":"b_naf","span":{"data":{"file_id":84,"beg":{"line":29,"col":36},"end":{"line":29,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[8499,{"Ref":[{"Body":2},{"Deduplicated":8128},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":84,"beg":{"line":36,"col":4},"end":{"line":37,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":36,"col":4},"end":{"line":36,"col":7}},"generated_from_span":null},"id":9121,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","255"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":["AENEAS-COMPAT: always process all 256 digits. Leading zero digits","double the identity (a no-op), so the result of `mul` is unchanged;","only the variable-time skip is dropped. (The conditional-fold scan","fails Aeneas' loop fixed point.)"]},{"span":{"data":{"file_id":84,"beg":{"line":37,"col":1},"end":{"line":37,"col":1}},"generated_from_span":null},"id":9122,"kind":"Return","comments_before":[]}]},"comments":[[34,["AENEAS-COMPAT: always process all 256 digits. Leading zero digits","double the identity (a no-op), so the result of `mul` is unchanged;","only the variable-time skip is dropped. (The conditional-fold scan","fails Aeneas' loop fixed point.)"]]]}}},{"def_id":407,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Impl":{"Trait":144}},{"Ident":["from",0]}],"span":{"data":{"file_id":86,"beg":{"line":232,"col":4},"end":{"line":240,"col":5}},"generated_from_span":null},"source_text":"fn from(A: &'a EdwardsPoint) -> Self {\n let mut Ai = [A.as_projective_niels(); 8];\n let A2 = A.double();\n for i in 0..7 {\n Ai[i + 1] = (&A2 + &Ai[i]).as_extended().as_projective_niels();\n }\n // Now Ai = [A, 3A, 5A, 7A, 9A, 11A, 13A, 15A]\n NafLookupTable5(Ai)\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":8172}},"src":{"TraitImpl":{"impl_ref":{"id":144,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8172},{"Deduplicated":10534}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":86,"beg":{"line":232,"col":4},"end":{"line":240,"col":5}},"generated_from_span":null},"bound_body_regions":25,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":86,"beg":{"line":232,"col":36},"end":{"line":232,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":8172}},{"index":1,"name":"A","span":{"data":{"file_id":86,"beg":{"line":232,"col":12},"end":{"line":232,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":3931}},{"index":2,"name":"Ai","span":{"data":{"file_id":86,"beg":{"line":233,"col":12},"end":{"line":233,"col":18}},"generated_from_span":null},"ty":{"HashConsedValue":[8503,{"Array":[{"Deduplicated":1865},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}]}]}},{"index":3,"name":null,"span":{"data":{"file_id":86,"beg":{"line":233,"col":22},"end":{"line":233,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":4,"name":null,"span":{"data":{"file_id":86,"beg":{"line":233,"col":22},"end":{"line":233,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":4436}},{"index":5,"name":"A2","span":{"data":{"file_id":86,"beg":{"line":234,"col":12},"end":{"line":234,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":6,"name":null,"span":{"data":{"file_id":86,"beg":{"line":234,"col":17},"end":{"line":234,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":7,"name":null,"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":8,"name":null,"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":9,"name":"iter","span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3489}},{"index":10,"name":null,"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3512}},{"index":11,"name":null,"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3515}},{"index":12,"name":null,"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":3516}},{"index":13,"name":"i","span":{"data":{"file_id":86,"beg":{"line":235,"col":12},"end":{"line":235,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":15,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":52}},"generated_from_span":null},"ty":{"HashConsedValue":[8504,{"Ref":[{"Body":7},{"Deduplicated":1955},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":17,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":6668}},{"index":18,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":19,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":25},"end":{"line":236,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":6642}},{"index":20,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":31},"end":{"line":236,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[8506,{"Ref":[{"Body":12},{"Deduplicated":1865},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":35},"end":{"line":236,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":15},"end":{"line":236,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":15},"end":{"line":236,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":86,"beg":{"line":236,"col":15},"end":{"line":236,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":25,"name":null,"span":{"data":{"file_id":86,"beg":{"line":239,"col":24},"end":{"line":239,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":8503}},{"index":26,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9414,{"Ref":["Erased",{"Deduplicated":8503},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9413,{"Ref":["Erased",{"Deduplicated":1865},"Shared"]}]}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9416,{"Ref":["Erased",{"Deduplicated":8503},"Mut"]}]}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9415,{"Ref":["Erased",{"Deduplicated":1865},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":86,"beg":{"line":233,"col":12},"end":{"line":240,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":86,"beg":{"line":233,"col":12},"end":{"line":233,"col":18}},"generated_from_span":null},"id":9126,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":233,"col":12},"end":{"line":233,"col":18}},"generated_from_span":null},"id":9128,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":233,"col":22},"end":{"line":233,"col":45}},"generated_from_span":null},"id":9129,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":233,"col":22},"end":{"line":233,"col":23}},"generated_from_span":null},"id":9130,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":233,"col":22},"end":{"line":233,"col":23}},"generated_from_span":null},"id":9131,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":4436}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":233,"col":22},"end":{"line":233,"col":45}},"generated_from_span":null},"id":9132,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":93}},"generics":{"regions":[{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":4436}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":233,"col":44},"end":{"line":233,"col":45}},"generated_from_span":null},"id":9133,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":233,"col":21},"end":{"line":233,"col":49}},"generated_from_span":null},"id":9134,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1865}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":8503}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":233,"col":48},"end":{"line":233,"col":49}},"generated_from_span":null},"id":9135,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":234,"col":12},"end":{"line":234,"col":14}},"generated_from_span":null},"id":9136,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":234,"col":17},"end":{"line":234,"col":18}},"generated_from_span":null},"id":9137,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":234,"col":17},"end":{"line":234,"col":18}},"generated_from_span":null},"id":9138,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":3931}},"Deref"]},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":234,"col":17},"end":{"line":234,"col":27}},"generated_from_span":null},"id":9139,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":99}},"generics":{"regions":[{"Body":16}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4454}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":234,"col":26},"end":{"line":234,"col":27}},"generated_from_span":null},"id":9140,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9142,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9143,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9144,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":3489}},{"Aggregate":[{"Adt":[{"id":{"Adt":21},"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":1551}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9145,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":146}},"generics":{"regions":[],"types":[{"Deduplicated":3489},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"Deduplicated":9794}]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":3489}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":3489}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":20},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9146,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9147,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9148,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":3489}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":3489}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9208,"kind":{"Loop":{"span":{"data":{"file_id":86,"beg":{"line":235,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9150,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9151,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9152,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9153,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":3516}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":3489}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9154,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":3515}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":3516}},"Deref"]},"ty":{"Deduplicated":3489}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9155,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":147}},"generics":{"regions":[{"Body":18}],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[{"Deduplicated":3682}]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":3515}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":3512}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":20},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9156,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9161,"kind":{"Switch":{"Match":[{"kind":{"Local":10},"ty":{"Deduplicated":3512}},[[[0],{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"id":9158,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":86,"beg":{"line":235,"col":17},"end":{"line":235,"col":21}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":12},"end":{"line":235,"col":13}},"generated_from_span":null},"id":9162,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":12},"end":{"line":235,"col":13}},"generated_from_span":null},"id":9163,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":3512}},{"Field":[{"Adt":[22,1]},0]}]},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":74}},"generated_from_span":null},"id":9164,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":52}},"generated_from_span":null},"id":9165,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":52}},"generated_from_span":null},"id":9166,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":38}},"generated_from_span":null},"id":9167,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":38}},"generated_from_span":null},"id":9168,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":25},"end":{"line":236,"col":28}},"generated_from_span":null},"id":9169,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":25},"end":{"line":236,"col":28}},"generated_from_span":null},"id":9170,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":6642}},{"Ref":{"place":{"kind":{"Local":5},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":31},"end":{"line":236,"col":37}},"generated_from_span":null},"id":9171,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":35},"end":{"line":236,"col":36}},"generated_from_span":null},"id":9172,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":35},"end":{"line":236,"col":36}},"generated_from_span":null},"id":9173,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":31},"end":{"line":236,"col":37}},"generated_from_span":null},"id":10753,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":31},"end":{"line":236,"col":37}},"generated_from_span":null},"id":10754,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":9414}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":8503}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":31},"end":{"line":236,"col":37}},"generated_from_span":null},"id":10755,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":31},"end":{"line":236,"col":37}},"generated_from_span":null},"id":10756,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1865}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":9414}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":9413}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":31},"end":{"line":236,"col":37}},"generated_from_span":null},"id":9176,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":8506}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":27},"ty":{"Deduplicated":9413}},"Deref"]},"ty":{"Deduplicated":1865}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":38}},"generated_from_span":null},"id":9177,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":62}},"generics":{"regions":[{"Body":19},{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":6642}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":8506}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":38}},"generated_from_span":null},"id":9178,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":6668}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":37},"end":{"line":236,"col":38}},"generated_from_span":null},"id":9179,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":37},"end":{"line":236,"col":38}},"generated_from_span":null},"id":9180,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":52}},"generated_from_span":null},"id":9181,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":6668}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":52}},"generated_from_span":null},"id":9182,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":8504}},{"Ref":{"place":{"kind":{"Local":16},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":51},"end":{"line":236,"col":52}},"generated_from_span":null},"id":9183,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":24},"end":{"line":236,"col":74}},"generated_from_span":null},"id":9184,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":93}},"generics":{"regions":[{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":8504}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":73},"end":{"line":236,"col":74}},"generated_from_span":null},"id":9185,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":15},"end":{"line":236,"col":20}},"generated_from_span":null},"id":9186,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":15},"end":{"line":236,"col":16}},"generated_from_span":null},"id":9187,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":15},"end":{"line":236,"col":16}},"generated_from_span":null},"id":9188,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":15},"end":{"line":236,"col":20}},"generated_from_span":null},"id":9189,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":15},"end":{"line":236,"col":20}},"generated_from_span":null},"id":9191,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":19},"end":{"line":236,"col":20}},"generated_from_span":null},"id":9192,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":12},"end":{"line":236,"col":74}},"generated_from_span":null},"id":10757,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":12},"end":{"line":236,"col":74}},"generated_from_span":null},"id":10758,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":9416}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":8503}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":12},"end":{"line":236,"col":74}},"generated_from_span":null},"id":10759,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":12},"end":{"line":236,"col":74}},"generated_from_span":null},"id":10760,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":1865}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":9416}}},{"Copy":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":29},"ty":{"Deduplicated":9415}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":12},"end":{"line":236,"col":74}},"generated_from_span":null},"id":9195,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":9415}},"Deref"]},"ty":{"Deduplicated":1865}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1865}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":73},"end":{"line":236,"col":74}},"generated_from_span":null},"id":9196,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":74},"end":{"line":236,"col":75}},"generated_from_span":null},"id":9197,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":74},"end":{"line":236,"col":75}},"generated_from_span":null},"id":9198,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":74},"end":{"line":236,"col":75}},"generated_from_span":null},"id":9199,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":236,"col":74},"end":{"line":236,"col":75}},"generated_from_span":null},"id":9200,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":237,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9202,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":237,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9203,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":237,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9204,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":235,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9207,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":237,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9210,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":237,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9211,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":237,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9213,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":237,"col":8},"end":{"line":237,"col":9}},"generated_from_span":null},"id":9214,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":239,"col":24},"end":{"line":239,"col":26}},"generated_from_span":null},"id":9216,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":239,"col":24},"end":{"line":239,"col":26}},"generated_from_span":null},"id":9217,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":8503}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":8503}}},"Yes"]}]},"comments_before":["Now Ai = [A, 3A, 5A, 7A, 9A, 11A, 13A, 15A]"]},{"span":{"data":{"file_id":86,"beg":{"line":239,"col":8},"end":{"line":239,"col":27}},"generated_from_span":null},"id":9218,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8172}},{"Aggregate":[{"Adt":[{"id":{"Adt":79},"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":8503}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":239,"col":26},"end":{"line":239,"col":27}},"generated_from_span":null},"id":9219,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":240,"col":4},"end":{"line":240,"col":5}},"generated_from_span":null},"id":9220,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":240,"col":4},"end":{"line":240,"col":5}},"generated_from_span":null},"id":9221,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":240,"col":5},"end":{"line":240,"col":5}},"generated_from_span":null},"id":9222,"kind":"Return","comments_before":[]}]},"comments":[[239,["Now Ai = [A, 3A, 5A, 7A, 9A, 11A, 13A, 15A]"]]]}}},{"def_id":408,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["dsm_loop",0]}],"span":{"data":{"file_id":84,"beg":{"line":63,"col":0},"end":{"line":81,"col":1}},"generated_from_span":null},"source_text":"fn dsm_loop(\n i: usize,\n a_naf: &[i8; 256],\n b_naf: &[i8; 256],\n table_a: &NafLookupTable5,\n table_b: &NafLookupTable5,\n) -> ProjectivePoint {\n let mut r = ProjectivePoint::identity();\n let mut j: usize = i + 1;\n while j > 0 {\n let idx = j - 1;\n let t0 = r.double();\n let t1 = dsm_step_p(t0, table_a, a_naf[idx]);\n let t2 = dsm_step_b(t1, table_b, b_naf[idx]);\n r = t2.as_projective();\n j -= 1;\n }\n r\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1551},{"Deduplicated":10752},{"Deduplicated":10753},{"HashConsedValue":[10754,{"Ref":[{"Var":{"Free":2}},{"Deduplicated":8172},"Shared"]}]},{"HashConsedValue":[10755,{"Ref":[{"Var":{"Free":3}},{"Deduplicated":8172},"Shared"]}]}],"output":{"Deduplicated":1819}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":84,"beg":{"line":63,"col":0},"end":{"line":81,"col":1}},"generated_from_span":null},"bound_body_regions":20,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":84,"beg":{"line":69,"col":5},"end":{"line":69,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":1,"name":"i","span":{"data":{"file_id":84,"beg":{"line":64,"col":4},"end":{"line":64,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":2,"name":"a_naf","span":{"data":{"file_id":84,"beg":{"line":65,"col":4},"end":{"line":65,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":8498}},{"index":3,"name":"b_naf","span":{"data":{"file_id":84,"beg":{"line":66,"col":4},"end":{"line":66,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":8499}},{"index":4,"name":"table_a","span":{"data":{"file_id":84,"beg":{"line":67,"col":4},"end":{"line":67,"col":11}},"generated_from_span":null},"ty":{"HashConsedValue":[8511,{"Ref":[{"Body":4},{"Deduplicated":8172},"Shared"]}]}},{"index":5,"name":"table_b","span":{"data":{"file_id":84,"beg":{"line":68,"col":4},"end":{"line":68,"col":11}},"generated_from_span":null},"ty":{"HashConsedValue":[8512,{"Ref":[{"Body":5},{"Deduplicated":8172},"Shared"]}]}},{"index":6,"name":"r","span":{"data":{"file_id":84,"beg":{"line":70,"col":8},"end":{"line":70,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":7,"name":"j","span":{"data":{"file_id":84,"beg":{"line":71,"col":8},"end":{"line":71,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":8,"name":null,"span":{"data":{"file_id":84,"beg":{"line":71,"col":23},"end":{"line":71,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":9,"name":null,"span":{"data":{"file_id":84,"beg":{"line":71,"col":23},"end":{"line":71,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":10,"name":null,"span":{"data":{"file_id":84,"beg":{"line":72,"col":10},"end":{"line":72,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":11,"name":null,"span":{"data":{"file_id":84,"beg":{"line":72,"col":10},"end":{"line":72,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":12,"name":"idx","span":{"data":{"file_id":84,"beg":{"line":73,"col":12},"end":{"line":73,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":13,"name":null,"span":{"data":{"file_id":84,"beg":{"line":73,"col":18},"end":{"line":73,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":null,"span":{"data":{"file_id":84,"beg":{"line":73,"col":18},"end":{"line":73,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":15,"name":"t0","span":{"data":{"file_id":84,"beg":{"line":74,"col":12},"end":{"line":74,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":16,"name":null,"span":{"data":{"file_id":84,"beg":{"line":74,"col":17},"end":{"line":74,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":6666}},{"index":17,"name":"t1","span":{"data":{"file_id":84,"beg":{"line":75,"col":12},"end":{"line":75,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":18,"name":null,"span":{"data":{"file_id":84,"beg":{"line":75,"col":28},"end":{"line":75,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":19,"name":null,"span":{"data":{"file_id":84,"beg":{"line":75,"col":32},"end":{"line":75,"col":39}},"generated_from_span":null},"ty":{"HashConsedValue":[8513,{"Ref":[{"Body":8},{"Deduplicated":8172},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":84,"beg":{"line":75,"col":41},"end":{"line":75,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":21,"name":null,"span":{"data":{"file_id":84,"beg":{"line":75,"col":47},"end":{"line":75,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":22,"name":"t2","span":{"data":{"file_id":84,"beg":{"line":76,"col":12},"end":{"line":76,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":23,"name":null,"span":{"data":{"file_id":84,"beg":{"line":76,"col":28},"end":{"line":76,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":24,"name":null,"span":{"data":{"file_id":84,"beg":{"line":76,"col":32},"end":{"line":76,"col":39}},"generated_from_span":null},"ty":{"HashConsedValue":[8514,{"Ref":[{"Body":9},{"Deduplicated":8172},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":84,"beg":{"line":76,"col":41},"end":{"line":76,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":26,"name":null,"span":{"data":{"file_id":84,"beg":{"line":76,"col":47},"end":{"line":76,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":27,"name":null,"span":{"data":{"file_id":84,"beg":{"line":77,"col":12},"end":{"line":77,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1819}},{"index":28,"name":null,"span":{"data":{"file_id":84,"beg":{"line":77,"col":12},"end":{"line":77,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[8515,{"Ref":[{"Body":11},{"Deduplicated":1831},"Shared"]}]}},{"index":29,"name":null,"span":{"data":{"file_id":84,"beg":{"line":78,"col":8},"end":{"line":78,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9418,{"Ref":["Erased",{"Deduplicated":8128},"Shared"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9417,{"Ref":["Erased",{"Deduplicated":4225},"Shared"]}]}},{"index":32,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9418}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":9417}}]},"body":{"span":{"data":{"file_id":84,"beg":{"line":70,"col":8},"end":{"line":81,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":70,"col":8},"end":{"line":70,"col":13}},"generated_from_span":null},"id":9223,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":70,"col":8},"end":{"line":70,"col":13}},"generated_from_span":null},"id":9225,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":70,"col":8},"end":{"line":70,"col":13}},"generated_from_span":null},"id":9228,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":70,"col":8},"end":{"line":70,"col":13}},"generated_from_span":null},"id":9229,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":70,"col":16},"end":{"line":70,"col":43}},"generated_from_span":null},"id":9230,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":45}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":71,"col":8},"end":{"line":71,"col":13}},"generated_from_span":null},"id":9231,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":71,"col":23},"end":{"line":71,"col":24}},"generated_from_span":null},"id":9232,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":71,"col":23},"end":{"line":71,"col":24}},"generated_from_span":null},"id":9233,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":71,"col":23},"end":{"line":71,"col":28}},"generated_from_span":null},"id":9234,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":71,"col":23},"end":{"line":71,"col":28}},"generated_from_span":null},"id":9236,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":71,"col":27},"end":{"line":71,"col":28}},"generated_from_span":null},"id":9237,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9307,"kind":{"Loop":{"span":{"data":{"file_id":84,"beg":{"line":72,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":72,"col":10},"end":{"line":72,"col":15}},"generated_from_span":null},"id":9239,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":10},"end":{"line":72,"col":11}},"generated_from_span":null},"id":9240,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":10},"end":{"line":72,"col":11}},"generated_from_span":null},"id":9241,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":10},"end":{"line":72,"col":15}},"generated_from_span":null},"id":9242,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":1470}},{"BinaryOp":["Gt",{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9306,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":72,"col":14},"end":{"line":72,"col":15}},"generated_from_span":null},"id":9243,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":73,"col":12},"end":{"line":73,"col":15}},"generated_from_span":null},"id":9244,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":73,"col":18},"end":{"line":73,"col":19}},"generated_from_span":null},"id":9245,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":73,"col":18},"end":{"line":73,"col":19}},"generated_from_span":null},"id":9246,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":73,"col":18},"end":{"line":73,"col":23}},"generated_from_span":null},"id":9247,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":73,"col":18},"end":{"line":73,"col":23}},"generated_from_span":null},"id":9249,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":73,"col":22},"end":{"line":73,"col":23}},"generated_from_span":null},"id":9250,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":74,"col":12},"end":{"line":74,"col":14}},"generated_from_span":null},"id":9251,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":74,"col":17},"end":{"line":74,"col":18}},"generated_from_span":null},"id":9252,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":74,"col":17},"end":{"line":74,"col":18}},"generated_from_span":null},"id":9253,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":6666}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1819}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":74,"col":17},"end":{"line":74,"col":27}},"generated_from_span":null},"id":9254,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":61}},"generics":{"regions":[{"Body":13}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":6666}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":74,"col":26},"end":{"line":74,"col":27}},"generated_from_span":null},"id":9255,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":12},"end":{"line":75,"col":14}},"generated_from_span":null},"id":9256,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":28},"end":{"line":75,"col":30}},"generated_from_span":null},"id":9257,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":28},"end":{"line":75,"col":30}},"generated_from_span":null},"id":9258,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1831}},{"Use":[{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":1831}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":32},"end":{"line":75,"col":39}},"generated_from_span":null},"id":9259,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":32},"end":{"line":75,"col":39}},"generated_from_span":null},"id":9260,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":8513}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":8511}},"Deref"]},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":41},"end":{"line":75,"col":51}},"generated_from_span":null},"id":9261,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":47},"end":{"line":75,"col":50}},"generated_from_span":null},"id":9262,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":47},"end":{"line":75,"col":50}},"generated_from_span":null},"id":9263,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":41},"end":{"line":75,"col":51}},"generated_from_span":null},"id":10761,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":41},"end":{"line":75,"col":51}},"generated_from_span":null},"id":10762,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":9418}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8498}},"Deref"]},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":41},"end":{"line":75,"col":51}},"generated_from_span":null},"id":10763,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":41},"end":{"line":75,"col":51}},"generated_from_span":null},"id":10764,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":4225}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","256"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":9418}}},{"Copy":{"kind":{"Local":21},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":9417}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":41},"end":{"line":75,"col":51}},"generated_from_span":null},"id":9266,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":4225}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":31},"ty":{"Deduplicated":9417}},"Deref"]},"ty":{"Deduplicated":4225}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":17},"end":{"line":75,"col":52}},"generated_from_span":null},"id":9267,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":431}},"generics":{"regions":[{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":1831}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":8513}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":4225}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":51},"end":{"line":75,"col":52}},"generated_from_span":null},"id":9268,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":51},"end":{"line":75,"col":52}},"generated_from_span":null},"id":9269,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":51},"end":{"line":75,"col":52}},"generated_from_span":null},"id":9270,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":75,"col":52},"end":{"line":75,"col":53}},"generated_from_span":null},"id":9271,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":12},"end":{"line":76,"col":14}},"generated_from_span":null},"id":9272,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":28},"end":{"line":76,"col":30}},"generated_from_span":null},"id":9273,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":28},"end":{"line":76,"col":30}},"generated_from_span":null},"id":9274,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1831}},{"Use":[{"Copy":{"kind":{"Local":17},"ty":{"Deduplicated":1831}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":32},"end":{"line":76,"col":39}},"generated_from_span":null},"id":9275,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":32},"end":{"line":76,"col":39}},"generated_from_span":null},"id":9276,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":8514}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":8512}},"Deref"]},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":41},"end":{"line":76,"col":51}},"generated_from_span":null},"id":9277,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":47},"end":{"line":76,"col":50}},"generated_from_span":null},"id":9278,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":47},"end":{"line":76,"col":50}},"generated_from_span":null},"id":9279,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":41},"end":{"line":76,"col":51}},"generated_from_span":null},"id":10765,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":41},"end":{"line":76,"col":51}},"generated_from_span":null},"id":10766,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":9418}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":8499}},"Deref"]},"ty":{"Deduplicated":8128}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":41},"end":{"line":76,"col":51}},"generated_from_span":null},"id":10767,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":41},"end":{"line":76,"col":51}},"generated_from_span":null},"id":10768,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":4225}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","256"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":9418}}},{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":33},"ty":{"Deduplicated":9417}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":41},"end":{"line":76,"col":51}},"generated_from_span":null},"id":9282,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":4225}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":33},"ty":{"Deduplicated":9417}},"Deref"]},"ty":{"Deduplicated":4225}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":17},"end":{"line":76,"col":52}},"generated_from_span":null},"id":9283,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":432}},"generics":{"regions":[{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1831}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":8514}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":4225}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":51},"end":{"line":76,"col":52}},"generated_from_span":null},"id":9284,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":51},"end":{"line":76,"col":52}},"generated_from_span":null},"id":9285,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":51},"end":{"line":76,"col":52}},"generated_from_span":null},"id":9286,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":76,"col":52},"end":{"line":76,"col":53}},"generated_from_span":null},"id":9287,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":77,"col":12},"end":{"line":77,"col":30}},"generated_from_span":null},"id":9288,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":77,"col":12},"end":{"line":77,"col":14}},"generated_from_span":null},"id":9289,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":77,"col":12},"end":{"line":77,"col":14}},"generated_from_span":null},"id":9290,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":8515}},{"Ref":{"place":{"kind":{"Local":22},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":77,"col":12},"end":{"line":77,"col":30}},"generated_from_span":null},"id":9291,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":59}},"generics":{"regions":[{"Body":19}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":8515}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":1819}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":77,"col":29},"end":{"line":77,"col":30}},"generated_from_span":null},"id":9292,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":77,"col":8},"end":{"line":77,"col":30}},"generated_from_span":null},"id":9293,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1819}},{"Use":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":1819}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":77,"col":29},"end":{"line":77,"col":30}},"generated_from_span":null},"id":9294,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":78,"col":8},"end":{"line":78,"col":14}},"generated_from_span":null},"id":9295,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":78,"col":8},"end":{"line":78,"col":14}},"generated_from_span":null},"id":9297,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":79,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9299,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":79,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9300,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":79,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9301,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":79,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9302,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":79,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9303,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9304,"kind":{"Continue":0},"comments_before":[]}]},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":10},"end":{"line":72,"col":15}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":72,"col":10},"end":{"line":72,"col":15}},"generated_from_span":null},"id":9305,"kind":{"Break":0},"comments_before":[]}]}]}},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":72,"col":14},"end":{"line":72,"col":15}},"generated_from_span":null},"id":9308,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":79,"col":4},"end":{"line":79,"col":5}},"generated_from_span":null},"id":9312,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":80,"col":4},"end":{"line":80,"col":5}},"generated_from_span":null},"id":9314,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1819}},{"Use":[{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":1819}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":81,"col":0},"end":{"line":81,"col":1}},"generated_from_span":null},"id":9315,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":81,"col":0},"end":{"line":81,"col":1}},"generated_from_span":null},"id":9316,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":81,"col":1},"end":{"line":81,"col":1}},"generated_from_span":null},"id":9317,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":409,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_triple_base",0]},{"Ident":["mul_128_128_256_prechecked",0]}],"span":{"data":{"file_id":87,"beg":{"line":68,"col":0},"end":{"line":168,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn mul_128_128_256_prechecked(\n a1: &Scalar,\n A1: &EdwardsPoint,\n a2: &Scalar,\n A2: &EdwardsPoint,\n b: &Scalar,\n) -> EdwardsPoint {\n // Decompose b into b_lo (lower 128 bits) and b_hi (upper 128 bits)\n // b = b_lo + b_hi * 2^128\n let b_bytes = b.as_bytes();\n\n let mut b_lo_bytes = [0u8; 32];\n let mut b_hi_bytes = [0u8; 32];\n\n // Copy lower 16 bytes to b_lo, upper 16 bytes to b_hi\n b_lo_bytes[..16].copy_from_slice(&b_bytes[..16]);\n b_hi_bytes[..16].copy_from_slice(&b_bytes[16..]);\n\n let b_lo = Scalar::from_canonical_bytes(b_lo_bytes).unwrap();\n let b_hi = Scalar::from_canonical_bytes(b_hi_bytes).unwrap();\n\n // Compute NAF representations (all scalars are now ~128 bits).\n //\n // The serial backend keeps b_lo at width 5 even when table_B is the larger\n // precomputed width-8 basepoint table. The vector backend uses width 8 in\n // that configuration.\n let a1_naf = a1.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let a2_naf = a2.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n let b_lo_naf = b_lo.non_adjacent_form_128(B_LO_NAF_WINDOW);\n let b_hi_naf = b_hi.non_adjacent_form_128(DYNAMIC_NAF_WINDOW);\n\n // Find starting index - check all NAFs up to bit 127\n // (with potential carry to bit 128 or 129)\n let mut i: usize = HEEA_MAX_INDEX;\n for j in (0..=HEEA_MAX_INDEX).rev() {\n i = j;\n if a1_naf[i] != 0 || a2_naf[i] != 0 || b_lo_naf[i] != 0 || b_hi_naf[i] != 0 {\n break;\n }\n }\n\n // Create lookup tables\n let table_A1 = NafLookupTable5::::from(A1);\n let table_A2 = NafLookupTable5::::from(A2);\n\n #[cfg(feature = \"precomputed-tables\")]\n let table_B = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_POINT);\n\n // B' = B * 2^128 (precomputed constant point)\n #[cfg(feature = \"precomputed-tables\")]\n let table_B_128 = &constants::AFFINE_ODD_MULTIPLES_OF_BASEPOINT_128;\n #[cfg(not(feature = \"precomputed-tables\"))]\n let table_B_128 =\n &NafLookupTable5::::from(&constants::ED25519_BASEPOINT_128_POINT);\n\n let mut r = ProjectivePoint::identity();\n\n loop {\n let mut t = r.double();\n\n // Add contributions from a1*A1\n match a1_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A1.select(a1_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A1.select(-a1_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from a2*A2\n match a2_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_A2.select(a2_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_A2.select(-a2_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from b_lo*B\n match b_lo_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B.select(b_lo_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B.select(-b_lo_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n // Add contributions from b_hi*B' where B' = B * 2^128\n match b_hi_naf[i].cmp(&0) {\n Ordering::Greater => t = &t.as_extended() + &table_B_128.select(b_hi_naf[i] as usize),\n Ordering::Less => t = &t.as_extended() - &table_B_128.select(-b_hi_naf[i] as usize),\n Ordering::Equal => {}\n }\n\n r = t.as_projective();\n\n if i == 0 {\n break;\n }\n i -= 1;\n }\n\n r.as_extended()\n}","attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":""},{"DocComment":" This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are known to be less than"},{"DocComment":" \\\\(2^{128}\\\\), while \\\\(b\\\\) is a full 256-bit scalar."},{"DocComment":""},{"DocComment":" # Precondition"},{"DocComment":""},{"DocComment":" Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\). Use"},{"DocComment":" `vartime_triple_base_mul_128_128_256` for a checked wrapper that falls back"},{"DocComment":" to general scalar multiplication for full-width scalars."},{"DocComment":""},{"DocComment":" # Optimization Strategy"},{"DocComment":""},{"DocComment":" The function decomposes the 256-bit scalar \\\\(b\\\\) as \\\\(b = b_{lo} + b_{hi} \\cdot 2^{128}\\\\),"},{"DocComment":" where both \\\\(b_{lo}\\\\) and \\\\(b_{hi}\\\\) are 128-bit values. This allows computing:"},{"DocComment":""},{"DocComment":" \\\\["},{"DocComment":" a_1 A_1 + a_2 A_2 + b_{lo} B + b_{hi} B'"},{"DocComment":" \\\\]"},{"DocComment":""},{"DocComment":" where \\\\(B' = B \\cdot 2^{128}\\\\) is a precomputed constant. Now all four scalars"},{"DocComment":" (\\\\(a_1, a_2, b_{lo}, b_{hi}\\\\)) are 128 bits, and two of the bases (\\\\(B\\\\) and \\\\(B'\\\\))"},{"DocComment":" use precomputed tables."},{"DocComment":""},{"DocComment":" # Implementation"},{"DocComment":""},{"DocComment":" - For \\\\(A_1\\\\) and \\\\(A_2\\\\): NAF with window width 5 (8 precomputed points each)"},{"DocComment":" - For \\\\(B\\\\): NAF with window width 5. When precomputed tables are enabled,"},{"DocComment":" these width-5 digits are selected from the larger width-8 basepoint table."},{"DocComment":" - For \\\\(B'\\\\): NAF with window width 5."},{"DocComment":""},{"DocComment":" The vector backend uses width 8 for \\\\(b_{lo}\\\\) when precomputed tables are"},{"DocComment":" enabled. This serial backend keeps width 5 for \\\\(b_{lo}\\\\) as a"},{"DocComment":" backend-specific performance tradeoff."},{"DocComment":""},{"DocComment":" The algorithm shares doublings across all four scalar multiplications, processing"},{"DocComment":" only 128 bits instead of 256, providing approximately 2x speedup over the naive approach."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"Deduplicated":10681},{"Deduplicated":10682},{"Deduplicated":10683}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":410,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["vector",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_triple_base",0]},{"Ident":["spec_avx2",0]},{"Ident":["mul_128_128_256_prechecked",0]}],"span":{"data":{"file_id":88,"beg":{"line":10,"col":0},"end":{"line":10,"col":68}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Compute \\\\(a_1 A_1 + a_2 A_2 + b B\\\\) in variable time, where \\\\(B\\\\) is the Ed25519 basepoint."},{"DocComment":""},{"DocComment":" This function is optimized for the case where \\\\(a_1\\\\) and \\\\(a_2\\\\) are known to be less than"},{"DocComment":" \\\\(2^{128}\\\\), while \\\\(b\\\\) is a full 256-bit scalar."},{"DocComment":""},{"DocComment":" # Precondition"},{"DocComment":""},{"DocComment":" Callers must ensure \\\\(a_1\\\\) and \\\\(a_2\\\\) are less than \\\\(2^{128}\\\\). Use"},{"DocComment":" `vartime_triple_base_mul_128_128_256` for a checked wrapper that falls back"},{"DocComment":" to general scalar multiplication for full-width scalars."},{"DocComment":""},{"DocComment":" # Optimization Strategy"},{"DocComment":""},{"DocComment":" The function decomposes the 256-bit scalar \\\\(b\\\\) as \\\\(b = b_{lo} + b_{hi} \\cdot 2^{128}\\\\),"},{"DocComment":" where both \\\\(b_{lo}\\\\) and \\\\(b_{hi}\\\\) are 128-bit values. This allows computing:"},{"DocComment":""},{"DocComment":" \\\\["},{"DocComment":" a_1 A_1 + a_2 A_2 + b_{lo} B + b_{hi} B'"},{"DocComment":" \\\\]"},{"DocComment":""},{"DocComment":" where \\\\(B' = B \\cdot 2^{128}\\\\) is a precomputed constant. Now all four scalars"},{"DocComment":" (\\\\(a_1, a_2, b_{lo}, b_{hi}\\\\)) are 128 bits, and two of the bases (\\\\(B\\\\) and \\\\(B'\\\\))"},{"DocComment":" use precomputed tables."},{"DocComment":""},{"DocComment":" # Implementation"},{"DocComment":""},{"DocComment":" - For \\\\(A_1\\\\) and \\\\(A_2\\\\): NAF with window width 5 (8 precomputed points each)"},{"DocComment":" - For \\\\(B\\\\): NAF with window width 8 when precomputed tables available (64 points), otherwise width 5"},{"DocComment":" - For \\\\(B'\\\\): NAF with window width 5"},{"DocComment":""},{"DocComment":" The serial backend keeps \\\\(b_{lo}\\\\) at width 5 even when precomputed"},{"DocComment":" tables are enabled. This vector backend uses width 8 in that"},{"DocComment":" configuration as a backend-specific performance tradeoff."},{"DocComment":""},{"DocComment":" The algorithm shares doublings across all four scalar multiplications, processing"},{"DocComment":" only 128 bits instead of 256, providing approximately 2x speedup over the naive approach."},{"DocComment":""},{"DocComment":" This SIMD implementation uses vectorized point operations (AVX2 or AVX512-IFMA) for"},{"DocComment":" improved performance over the serial backend."}],"inline":"Always","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"},{"index":4,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10537},{"Deduplicated":10525},{"Deduplicated":10681},{"Deduplicated":10682},{"Deduplicated":10683}],"output":{"Deduplicated":1955}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":411,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":139}},{"Ident":["clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10750}],"output":{"Deduplicated":2925}},"src":{"TraitImpl":{"impl_ref":{"id":139,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":412,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":9,"beg":{"line":1999,"col":16},"end":{"line":1999,"col":71}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10750},{"Deduplicated":10751}],"output":{"Deduplicated":6382}},"src":{"TraitImpl":{"impl_ref":{"id":140,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,{"def_id":421,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]},{"Ident":["is_identity",0]}],"span":{"data":{"file_id":18,"beg":{"line":41,"col":4},"end":{"line":41,"col":34}},"generated_from_span":null},"source_text":"fn is_identity(&self) -> bool;","attr_info":{"attributes":[{"DocComment":" Return true if this element is the identity element of the curve."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":0,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10551}],"output":{"Deduplicated":1470}},"src":{"TraitDecl":{"trait_ref":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"TraitMethodWithoutDefault"},{"def_id":422,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["SQRT_M1",0]}],"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const SQRT_M1: FieldElement51 = FieldElement51::from_limbs([\n 1718705420411056,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n]);","attr_info":{"attributes":[{"DocComment":" Precomputed value of one of the square roots of -1 (mod p)"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":82,"body":{"Structured":{"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":74,"beg":{"line":99,"col":26},"end":{"line":99,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":74,"beg":{"line":99,"col":70},"end":{"line":105,"col":1}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":74,"beg":{"line":99,"col":70},"end":{"line":105,"col":1}},"generated_from_span":null},"id":9318,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":99,"col":70},"end":{"line":105,"col":1}},"generated_from_span":null},"id":9319,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1718705420411056"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","234908883556509"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2233514472574048"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2117202627021982"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","765476049583133"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":99,"col":43},"end":{"line":105,"col":2}},"generated_from_span":null},"id":9320,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":105,"col":1},"end":{"line":105,"col":2}},"generated_from_span":null},"id":9321,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"id":9322,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":423,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}},{"Ident":["eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":1878,"col":16},"end":{"line":1878,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10735},{"Deduplicated":10736}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":141,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":425,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":142}},{"Ident":["clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10700}],"output":{"Deduplicated":1550}},"src":{"TraitImpl":{"impl_ref":{"id":142,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":426,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D",0]}],"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const EDWARDS_D: FieldElement51 = FieldElement51::from_limbs([\n 929955233495203,\n 466365720129213,\n 1662059464998953,\n 2033849074728123,\n 1442794654840575,\n]);","attr_info":{"attributes":[{"DocComment":" Edwards `d` value, equal to `-121665/121666 mod p`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":85,"body":{"Structured":{"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":74,"beg":{"line":45,"col":28},"end":{"line":45,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":74,"beg":{"line":45,"col":72},"end":{"line":51,"col":1}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":74,"beg":{"line":45,"col":72},"end":{"line":51,"col":1}},"generated_from_span":null},"id":9323,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":45,"col":72},"end":{"line":51,"col":1}},"generated_from_span":null},"id":9324,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","929955233495203"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","466365720129213"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1662059464998953"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","2033849074728123"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1442794654840575"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":45,"col":45},"end":{"line":51,"col":2}},"generated_from_span":null},"id":9325,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":51,"col":1},"end":{"line":51,"col":2}},"generated_from_span":null},"id":9326,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"id":9327,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":427,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D2",0]}],"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const EDWARDS_D2: FieldElement51 = FieldElement51::from_limbs([\n 1859910466990425,\n 932731440258426,\n 1072319116312658,\n 1815898335770999,\n 633789495995903,\n]);","attr_info":{"attributes":[{"DocComment":" Edwards `2*d` value, equal to `2*(-121665/121666) mod p`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":1391}},"src":"TopLevel","is_global_initializer":86,"body":{"Structured":{"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":74,"beg":{"line":54,"col":29},"end":{"line":54,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1391}},{"index":1,"name":null,"span":{"data":{"file_id":74,"beg":{"line":54,"col":73},"end":{"line":60,"col":1}},"generated_from_span":null},"ty":{"Deduplicated":1552}}]},"body":{"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":74,"beg":{"line":54,"col":73},"end":{"line":60,"col":1}},"generated_from_span":null},"id":9328,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":54,"col":73},"end":{"line":60,"col":1}},"generated_from_span":null},"id":9329,"kind":{"Assign":[{"kind":{"Local":1},"ty":{"Deduplicated":1552}},{"Aggregate":[{"Array":[{"Deduplicated":1550},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","5"]}}},"ty":{"Deduplicated":1551}}]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1859910466990425"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","932731440258426"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1072319116312658"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1815898335770999"]}}},"ty":{"Deduplicated":1550}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","633789495995903"]}}},"ty":{"Deduplicated":1550}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":54,"col":46},"end":{"line":60,"col":2}},"generated_from_span":null},"id":9330,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1552}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1391}}}},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":60,"col":1},"end":{"line":60,"col":2}},"generated_from_span":null},"id":9331,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"id":9332,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":428,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":143}},{"Ident":["clone",0]}],"span":{"data":{"file_id":77,"beg":{"line":17,"col":17},"end":{"line":17,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10756,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[7427,{"Adt":{"id":{"Adt":66},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":7427}},"src":{"TraitImpl":{"impl_ref":{"id":143,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":429,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":4225},"kind":"InherentImplBlock"}}},{"Ident":["wrapping_sub",0]}],"span":{"data":{"file_id":89,"beg":{"line":2201,"col":8},"end":{"line":2201,"col":58}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Wrapping (modular) subtraction. Computes `self - rhs`, wrapping around at the"},{"DocComment":" boundary of the type."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"assert_eq!(0i8.wrapping_sub(127), -127);"},{"DocComment":"assert_eq!((-2i8).wrapping_sub(i8::MAX), i8::MAX);"},{"DocComment":" ```"}],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":4225},{"Deduplicated":4225}],"output":{"Deduplicated":4225}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},null,{"def_id":431,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["dsm_step_p",0]}],"span":{"data":{"file_id":84,"beg":{"line":86,"col":0},"end":{"line":98,"col":1}},"generated_from_span":null},"source_text":"fn dsm_step_p(\n t: CompletedPoint,\n table: &NafLookupTable5,\n d: i8,\n) -> CompletedPoint {\n if d > 0 {\n &t.as_extended() + &table.select(d as usize)\n } else if d < 0 {\n &t.as_extended() - &table.select((-d) as usize)\n } else {\n t\n }\n}","attr_info":{"attributes":[{"DocComment":" AENEAS-COMPAT helper: one NAF-digit conditional add against a"},{"DocComment":" ProjectiveNiels table (hoisted out of the main loop so its body is"},{"DocComment":" single-assignment; pure refactor, semantics identical)."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1831},{"HashConsedValue":[10757,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8172},"Shared"]}]},{"Deduplicated":4225}],"output":{"Deduplicated":1831}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":84,"beg":{"line":86,"col":0},"end":{"line":98,"col":1}},"generated_from_span":null},"bound_body_regions":25,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":84,"beg":{"line":90,"col":5},"end":{"line":90,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"t","span":{"data":{"file_id":84,"beg":{"line":87,"col":4},"end":{"line":87,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":2,"name":"table","span":{"data":{"file_id":84,"beg":{"line":88,"col":4},"end":{"line":88,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[8529,{"Ref":[{"Body":1},{"Deduplicated":8172},"Shared"]}]}},{"index":3,"name":"d","span":{"data":{"file_id":84,"beg":{"line":89,"col":4},"end":{"line":89,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":4,"name":null,"span":{"data":{"file_id":84,"beg":{"line":91,"col":7},"end":{"line":91,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":5,"name":null,"span":{"data":{"file_id":84,"beg":{"line":91,"col":7},"end":{"line":91,"col":8}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":6,"name":null,"span":{"data":{"file_id":84,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":4454}},{"index":7,"name":null,"span":{"data":{"file_id":84,"beg":{"line":92,"col":9},"end":{"line":92,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":8,"name":null,"span":{"data":{"file_id":84,"beg":{"line":92,"col":9},"end":{"line":92,"col":10}},"generated_from_span":null},"ty":{"HashConsedValue":[8530,{"Ref":[{"Body":5},{"Deduplicated":1831},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":84,"beg":{"line":92,"col":27},"end":{"line":92,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":4523}},{"index":10,"name":null,"span":{"data":{"file_id":84,"beg":{"line":92,"col":28},"end":{"line":92,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":11,"name":null,"span":{"data":{"file_id":84,"beg":{"line":92,"col":28},"end":{"line":92,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":8513}},{"index":12,"name":null,"span":{"data":{"file_id":84,"beg":{"line":92,"col":41},"end":{"line":92,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":13,"name":null,"span":{"data":{"file_id":84,"beg":{"line":92,"col":41},"end":{"line":92,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":14,"name":null,"span":{"data":{"file_id":84,"beg":{"line":93,"col":14},"end":{"line":93,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":15,"name":null,"span":{"data":{"file_id":84,"beg":{"line":93,"col":14},"end":{"line":93,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":16,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":8},"end":{"line":94,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":7846}},{"index":17,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":9},"end":{"line":94,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":1955}},{"index":18,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":9},"end":{"line":94,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":6669}},{"index":19,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":27},"end":{"line":94,"col":55}},"generated_from_span":null},"ty":{"HashConsedValue":[8505,{"Ref":[{"Body":11},{"Deduplicated":1865},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":28},"end":{"line":94,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":1865}},{"index":21,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":28},"end":{"line":94,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[8531,{"Ref":[{"Body":12},{"Deduplicated":8172},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":41},"end":{"line":94,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":23,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":41},"end":{"line":94,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":24,"name":null,"span":{"data":{"file_id":84,"beg":{"line":94,"col":43},"end":{"line":94,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":4225}}]},"body":{"span":{"data":{"file_id":84,"beg":{"line":91,"col":4},"end":{"line":98,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":91,"col":7},"end":{"line":91,"col":12}},"generated_from_span":null},"id":9334,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":91,"col":7},"end":{"line":91,"col":8}},"generated_from_span":null},"id":9335,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":91,"col":7},"end":{"line":91,"col":8}},"generated_from_span":null},"id":9336,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":4225}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":4225}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":91,"col":7},"end":{"line":91,"col":12}},"generated_from_span":null},"id":9337,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1470}},{"BinaryOp":["Gt",{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":4225}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I8","0"]}}},"ty":{"Deduplicated":4225}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":91,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"id":9408,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":84,"beg":{"line":91,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":91,"col":11},"end":{"line":91,"col":12}},"generated_from_span":null},"id":9338,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"id":9339,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":9},"end":{"line":92,"col":24}},"generated_from_span":null},"id":9340,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":9},"end":{"line":92,"col":10}},"generated_from_span":null},"id":9341,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":9},"end":{"line":92,"col":10}},"generated_from_span":null},"id":9342,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":8530}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":9},"end":{"line":92,"col":24}},"generated_from_span":null},"id":9343,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":14}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":8530}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":23},"end":{"line":92,"col":24}},"generated_from_span":null},"id":9344,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":8},"end":{"line":92,"col":24}},"generated_from_span":null},"id":9345,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4454}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":27},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9346,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":28},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9347,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":28},"end":{"line":92,"col":33}},"generated_from_span":null},"id":9348,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":28},"end":{"line":92,"col":33}},"generated_from_span":null},"id":9349,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":8513}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8529}},"Deref"]},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":41},"end":{"line":92,"col":51}},"generated_from_span":null},"id":9350,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":41},"end":{"line":92,"col":42}},"generated_from_span":null},"id":9351,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":41},"end":{"line":92,"col":42}},"generated_from_span":null},"id":9352,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":4225}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":4225}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":41},"end":{"line":92,"col":51}},"generated_from_span":null},"id":9353,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1551}},{"UnaryOp":[{"Cast":{"Scalar":[{"Int":"I8"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":4225}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":50},"end":{"line":92,"col":51}},"generated_from_span":null},"id":9354,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":28},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9355,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":435}},"generics":{"regions":[{"Body":16}],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[{"HashConsedValue":[1866,{"kind":{"TraitImpl":{"id":28,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":8513}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":51},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9356,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":51},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9357,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":27},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9358,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":4523}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":1865}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":8},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9359,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":62}},"generics":{"regions":[{"Body":19},{"Body":20}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4454}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":4523}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":51},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9360,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":51},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9361,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":51},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9362,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":92,"col":51},"end":{"line":92,"col":52}},"generated_from_span":null},"id":9363,"kind":{"StorageDead":6},"comments_before":[]}]},{"span":{"data":{"file_id":84,"beg":{"line":91,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":91,"col":11},"end":{"line":91,"col":12}},"generated_from_span":null},"id":9365,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":93,"col":14},"end":{"line":93,"col":19}},"generated_from_span":null},"id":9366,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":93,"col":14},"end":{"line":93,"col":15}},"generated_from_span":null},"id":9367,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":93,"col":14},"end":{"line":93,"col":15}},"generated_from_span":null},"id":9368,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":4225}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":4225}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":93,"col":14},"end":{"line":93,"col":19}},"generated_from_span":null},"id":9369,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":4225}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I8","0"]}}},"ty":{"Deduplicated":4225}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":93,"col":11},"end":{"line":97,"col":5}},"generated_from_span":null},"id":9405,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":84,"beg":{"line":93,"col":11},"end":{"line":97,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":93,"col":18},"end":{"line":93,"col":19}},"generated_from_span":null},"id":9370,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":8},"end":{"line":94,"col":24}},"generated_from_span":null},"id":9371,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":9},"end":{"line":94,"col":24}},"generated_from_span":null},"id":9372,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":9},"end":{"line":94,"col":10}},"generated_from_span":null},"id":9373,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":9},"end":{"line":94,"col":10}},"generated_from_span":null},"id":9374,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":6669}},{"Ref":{"place":{"kind":{"Local":1},"ty":{"Deduplicated":1831}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":9},"end":{"line":94,"col":24}},"generated_from_span":null},"id":9375,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":60}},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":6669}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":1955}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":23},"end":{"line":94,"col":24}},"generated_from_span":null},"id":9376,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":8},"end":{"line":94,"col":24}},"generated_from_span":null},"id":9377,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":7846}},{"Ref":{"place":{"kind":{"Local":17},"ty":{"Deduplicated":1955}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":27},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9378,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":28},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9379,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":28},"end":{"line":94,"col":33}},"generated_from_span":null},"id":9380,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":28},"end":{"line":94,"col":33}},"generated_from_span":null},"id":9381,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":8531}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8529}},"Deref"]},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":41},"end":{"line":94,"col":54}},"generated_from_span":null},"id":9382,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":41},"end":{"line":94,"col":45}},"generated_from_span":null},"id":9383,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":43},"end":{"line":94,"col":44}},"generated_from_span":null},"id":9384,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":43},"end":{"line":94,"col":44}},"generated_from_span":null},"id":9385,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":4225}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":4225}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":41},"end":{"line":94,"col":45}},"generated_from_span":null},"id":9388,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":4225}},{"UnaryOp":[{"Neg":"Panic"},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":4225}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":44},"end":{"line":94,"col":45}},"generated_from_span":null},"id":9389,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":41},"end":{"line":94,"col":54}},"generated_from_span":null},"id":9390,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1551}},{"UnaryOp":[{"Cast":{"Scalar":[{"Int":"I8"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":4225}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":53},"end":{"line":94,"col":54}},"generated_from_span":null},"id":9391,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":28},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9392,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":435}},"generics":{"regions":[{"Body":22}],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[{"Deduplicated":1866}]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":8531}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":1865}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":54},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9393,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":54},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9394,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":27},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9395,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":8505}},{"Ref":{"place":{"kind":{"Local":20},"ty":{"Deduplicated":1865}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":8},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9396,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":63}},"generics":{"regions":[{"Body":23},{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":7846}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":8505}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":54},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9397,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":54},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9398,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":54},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9399,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":94,"col":54},"end":{"line":94,"col":55}},"generated_from_span":null},"id":9400,"kind":{"StorageDead":16},"comments_before":[]}]},{"span":{"data":{"file_id":84,"beg":{"line":93,"col":11},"end":{"line":97,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":93,"col":18},"end":{"line":93,"col":19}},"generated_from_span":null},"id":9402,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":96,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"id":9403,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":1831}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1831}}},"Yes"]}]},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":97,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"id":9406,"kind":{"StorageDead":14},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":97,"col":4},"end":{"line":97,"col":5}},"generated_from_span":null},"id":9409,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":98,"col":1},"end":{"line":98,"col":1}},"generated_from_span":null},"id":9410,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":432,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["scalar_mul",0]},{"Ident":["vartime_double_base",0]},{"Ident":["dsm_step_b",0]}],"span":{"data":{"file_id":84,"beg":{"line":118,"col":0},"end":{"line":124,"col":1}},"generated_from_span":null},"source_text":"fn dsm_step_b(\n t: CompletedPoint,\n table: &NafLookupTable5,\n d: i8,\n) -> CompletedPoint {\n dsm_step_p(t, table, d)\n}","attr_info":{"attributes":[{"DocComment":" AENEAS-COMPAT helper: as `dsm_step_p` (no precomputed tables)."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1831},{"Deduplicated":10757},{"Deduplicated":4225}],"output":{"Deduplicated":1831}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":84,"beg":{"line":118,"col":0},"end":{"line":124,"col":1}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":84,"beg":{"line":122,"col":5},"end":{"line":122,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":1,"name":"t","span":{"data":{"file_id":84,"beg":{"line":119,"col":4},"end":{"line":119,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":2,"name":"table","span":{"data":{"file_id":84,"beg":{"line":120,"col":4},"end":{"line":120,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":8529}},{"index":3,"name":"d","span":{"data":{"file_id":84,"beg":{"line":121,"col":4},"end":{"line":121,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":4225}},{"index":4,"name":null,"span":{"data":{"file_id":84,"beg":{"line":123,"col":15},"end":{"line":123,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1831}},{"index":5,"name":null,"span":{"data":{"file_id":84,"beg":{"line":123,"col":18},"end":{"line":123,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[8542,{"Ref":[{"Body":2},{"Deduplicated":8172},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":84,"beg":{"line":123,"col":25},"end":{"line":123,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":4225}}]},"body":{"span":{"data":{"file_id":84,"beg":{"line":123,"col":15},"end":{"line":124,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":84,"beg":{"line":123,"col":15},"end":{"line":123,"col":16}},"generated_from_span":null},"id":9411,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":15},"end":{"line":123,"col":16}},"generated_from_span":null},"id":9412,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1831}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":1831}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":18},"end":{"line":123,"col":23}},"generated_from_span":null},"id":9413,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":18},"end":{"line":123,"col":23}},"generated_from_span":null},"id":9414,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":8542}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8529}},"Deref"]},"ty":{"Deduplicated":8172}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":25},"end":{"line":123,"col":26}},"generated_from_span":null},"id":9415,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":25},"end":{"line":123,"col":26}},"generated_from_span":null},"id":9416,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":4225}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":4225}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":4},"end":{"line":123,"col":27}},"generated_from_span":null},"id":9417,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":431}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1831}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":8542}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":4225}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":1831}}}},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":26},"end":{"line":123,"col":27}},"generated_from_span":null},"id":9418,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":26},"end":{"line":123,"col":27}},"generated_from_span":null},"id":9419,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":123,"col":26},"end":{"line":123,"col":27}},"generated_from_span":null},"id":9420,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":84,"beg":{"line":124,"col":1},"end":{"line":124,"col":1}},"generated_from_span":null},"id":9421,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":433,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":145}},{"Ident":["eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":1878,"col":16},"end":{"line":1878,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10750},{"Deduplicated":10751}],"output":{"Deduplicated":1470}},"src":{"TraitImpl":{"impl_ref":{"id":145,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":435,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":86,"beg":{"line":215,"col":8},"end":{"line":215,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":8541},"kind":"InherentImplBlock"}}},{"Ident":["select",0]}],"span":{"data":{"file_id":86,"beg":{"line":217,"col":4},"end":{"line":222,"col":5}},"generated_from_span":null},"source_text":"pub fn select(&self, x: usize) -> T {\n debug_assert_eq!(x & 1, 1);\n debug_assert!(x < 16);\n\n self.0[x / 2]\n }","attr_info":{"attributes":[{"DocComment":" Given public, odd \\\\( x \\\\) with \\\\( 0 < x < 2^4 \\\\), return \\\\(xA\\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":86,"beg":{"line":215,"col":8},"end":{"line":215,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10759,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[10758,{"Adt":{"id":{"Adt":79},"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]},{"Deduplicated":1551}],"output":{"Deduplicated":10511}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":86,"beg":{"line":217,"col":4},"end":{"line":222,"col":5}},"generated_from_span":null},"bound_body_regions":24,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":86,"beg":{"line":217,"col":38},"end":{"line":217,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":10511}},{"index":1,"name":"self","span":{"data":{"file_id":86,"beg":{"line":217,"col":18},"end":{"line":217,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[10760,{"Ref":[{"Body":1},{"Deduplicated":10758},"Shared"]}]}},{"index":2,"name":"x","span":{"data":{"file_id":86,"beg":{"line":217,"col":25},"end":{"line":217,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":3,"name":null,"span":{"data":{"file_id":30,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":4,"name":null,"span":{"data":{"file_id":30,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"ty":{"HashConsedValue":[8556,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[8554,{"Ref":[{"Body":5},{"Deduplicated":1551},"Shared"]}]},{"HashConsedValue":[8555,{"Ref":[{"Body":6},{"Deduplicated":1551},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":5,"name":null,"span":{"data":{"file_id":30,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[8557,{"Ref":[{"Body":7},{"Deduplicated":1551},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":86,"beg":{"line":218,"col":25},"end":{"line":218,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":7,"name":null,"span":{"data":{"file_id":86,"beg":{"line":218,"col":25},"end":{"line":218,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":8,"name":null,"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[8558,{"Ref":[{"Body":8},{"Deduplicated":1551},"Shared"]}]}},{"index":9,"name":"left_val","span":{"data":{"file_id":30,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[8559,{"Ref":[{"Body":9},{"Deduplicated":1551},"Shared"]}]}},{"index":10,"name":"right_val","span":{"data":{"file_id":30,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"ty":{"HashConsedValue":[8560,{"Ref":[{"Body":10},{"Deduplicated":1551},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":30,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":12,"name":null,"span":{"data":{"file_id":30,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":13,"name":null,"span":{"data":{"file_id":30,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":14,"name":"kind","span":{"data":{"file_id":30,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[8570,{"Adt":{"id":{"Adt":81},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":15,"name":null,"span":{"data":{"file_id":30,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":8570}},{"index":16,"name":null,"span":{"data":{"file_id":30,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[8571,{"Ref":[{"Body":11},{"Deduplicated":1551},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":30,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[8572,{"Ref":[{"Body":12},{"Deduplicated":1551},"Shared"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":30,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[8573,{"Ref":[{"Body":13},{"Deduplicated":1551},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":30,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[8574,{"Ref":[{"Body":14},{"Deduplicated":1551},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":30,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"ty":{"HashConsedValue":[8581,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"HashConsedValue":[8580,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Body":17}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":21,"name":null,"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":22,"name":null,"span":{"data":{"file_id":86,"beg":{"line":219,"col":22},"end":{"line":219,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1470}},{"index":23,"name":null,"span":{"data":{"file_id":86,"beg":{"line":219,"col":22},"end":{"line":219,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":24,"name":null,"span":{"data":{"file_id":86,"beg":{"line":221,"col":15},"end":{"line":221,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":25,"name":null,"span":{"data":{"file_id":86,"beg":{"line":221,"col":15},"end":{"line":221,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":26,"name":null,"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[8582,{"Ref":[{"Body":18},{"Deduplicated":1551},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[9394,{"Ref":[{"Body":19},{"Deduplicated":1551},"Shared"]}]}},{"index":28,"name":null,"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[9398,{"Ref":[{"Body":23},{"Deduplicated":1551},"Shared"]}]}},{"index":29,"name":null,"span":{"data":{"file_id":86,"beg":{"line":218,"col":32},"end":{"line":218,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":1551}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[10761,{"Ref":["Erased",{"Deduplicated":10513},"Shared"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[10762,{"Ref":["Erased",{"Deduplicated":10511},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":30,"beg":{"line":289,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":30,"beg":{"line":319,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"id":9424,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":9426,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":9427,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":9491,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":9428,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":9429,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":218,"col":32},"end":{"line":218,"col":33}},"generated_from_span":null},"id":9430,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":218,"col":32},"end":{"line":218,"col":33}},"generated_from_span":null},"id":9431,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1551}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":9432,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":9398}},{"Ref":{"place":{"kind":{"Local":29},"ty":{"Deduplicated":1551}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":9433,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":9394}},{"Use":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":9398}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":9435,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":9436,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":218,"col":25},"end":{"line":218,"col":30}},"generated_from_span":null},"id":9437,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":218,"col":25},"end":{"line":218,"col":26}},"generated_from_span":null},"id":9438,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":218,"col":25},"end":{"line":218,"col":26}},"generated_from_span":null},"id":9439,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":218,"col":25},"end":{"line":218,"col":30}},"generated_from_span":null},"id":9440,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":1551}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":218,"col":29},"end":{"line":218,"col":30}},"generated_from_span":null},"id":9441,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":9442,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":8557}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":1551}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":9443,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":9444,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":8582}},{"Use":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":9394}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":9445,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":8558}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":8582}},"Deref"]},"ty":{"Deduplicated":1551}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":9446,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":8556}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":8557}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":8558}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":9447,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":9448,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":9449,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":9450,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":8559}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":8556}},{"Field":[{"Tuple":2},0]}]},"ty":{"HashConsedValue":[10763,{"Ref":[{"Body":20},{"Deduplicated":1551},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":9451,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":9452,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":8560}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":8556}},{"Field":[{"Tuple":2},1]}]},"ty":{"HashConsedValue":[10764,{"Ref":[{"Body":21},{"Deduplicated":1551},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":9453,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":9454,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":9455,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":8559}},"Deref"]},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":9456,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":9457,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":8560}},"Deref"]},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":9458,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1470}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":1551}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":9478,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":44},"end":{"line":51,"col":113}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":30,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":9460,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":9461,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"id":9462,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":47,"col":31},"end":{"line":47,"col":64}},"generated_from_span":null},"id":9463,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":8570}},{"Aggregate":[{"Adt":[{"id":{"Adt":81},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":9465,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":9466,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":8570}},{"Use":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":8570}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":9467,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":9468,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":9469,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":8572}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":8559}},"Deref"]},"ty":{"Deduplicated":1551}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":9470,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":8571}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":8572}},"Deref"]},"ty":{"Deduplicated":1551}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":9471,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":9472,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":9473,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":8574}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":8560}},"Deref"]},"ty":{"Deduplicated":1551}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":9474,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":8573}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":8574}},"Deref"]},"ty":{"Deduplicated":1551}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":9475,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":9476,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":8581}},{"Aggregate":[{"Adt":[{"id":{"Adt":22},"generics":{"regions":[],"types":[{"HashConsedValue":[10765,{"Adt":{"id":{"Adt":17},"generics":{"regions":[{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":51,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":9477,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["assert_failed",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":9479,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":9480,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":52,"col":16},"end":{"line":52,"col":17}},"generated_from_span":null},"id":9482,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":9483,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":9484,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":9485,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":9486,"kind":{"StorageDead":4},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":321,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"id":9492,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":9495,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":9496,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1470}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":1470}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":9514,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":86,"beg":{"line":219,"col":22},"end":{"line":219,"col":28}},"generated_from_span":null},"id":9498,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":219,"col":22},"end":{"line":219,"col":23}},"generated_from_span":null},"id":9499,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":219,"col":22},"end":{"line":219,"col":23}},"generated_from_span":null},"id":9500,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":219,"col":22},"end":{"line":219,"col":28}},"generated_from_span":null},"id":9501,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1470}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","16"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":219,"col":22},"end":{"line":219,"col":28}},"generated_from_span":null},"id":9506,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1470}}},{"span":{"data":{"file_id":86,"beg":{"line":219,"col":22},"end":{"line":219,"col":28}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":86,"beg":{"line":219,"col":27},"end":{"line":219,"col":28}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":86,"beg":{"line":219,"col":27},"end":{"line":219,"col":28}},"generated_from_span":null},"id":9503,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":9505,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":219,"col":27},"end":{"line":219,"col":28}},"generated_from_span":null},"id":9507,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":9509,"kind":{"StorageDead":22},"comments_before":[]}]},{"span":{"data":{"file_id":30,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":30,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":9515,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":15},"end":{"line":221,"col":20}},"generated_from_span":null},"id":9517,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":15},"end":{"line":221,"col":16}},"generated_from_span":null},"id":9518,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":15},"end":{"line":221,"col":16}},"generated_from_span":null},"id":9519,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1551}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":1551}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":15},"end":{"line":221,"col":20}},"generated_from_span":null},"id":9522,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":1551}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":1551}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":1551}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":19},"end":{"line":221,"col":20}},"generated_from_span":null},"id":9523,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":8},"end":{"line":221,"col":21}},"generated_from_span":null},"id":10769,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":8},"end":{"line":221,"col":21}},"generated_from_span":null},"id":10770,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":10761}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":10760}},"Deref"]},"ty":{"Deduplicated":10758}},{"Field":[{"Adt":[79,null]},0]}]},"ty":{"Deduplicated":10513}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":1443}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":8},"end":{"line":221,"col":21}},"generated_from_span":null},"id":10771,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":8},"end":{"line":221,"col":21}},"generated_from_span":null},"id":10772,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":10511}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":1551}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":10761}}},{"Copy":{"kind":{"Local":24},"ty":{"Deduplicated":1551}}}],"dest":{"kind":{"Local":31},"ty":{"Deduplicated":10762}}}},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":8},"end":{"line":221,"col":21}},"generated_from_span":null},"id":9526,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":10511}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":31},"ty":{"Deduplicated":10762}},"Deref"]},"ty":{"Deduplicated":10511}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":221,"col":20},"end":{"line":221,"col":21}},"generated_from_span":null},"id":9527,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":86,"beg":{"line":222,"col":5},"end":{"line":222,"col":5}},"generated_from_span":null},"id":9528,"kind":"Return","comments_before":[]}]},"comments":[]}}},null,{"def_id":437,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":0}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":1,"beg":{"line":52,"col":0},"end":{"line":52,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10516}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":0,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":438,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":6,"beg":{"line":295,"col":0},"end":{"line":311,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10660},{"HashConsedValue":[10766,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1865},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":37,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":439,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":6,"beg":{"line":313,"col":0},"end":{"line":327,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10663},{"HashConsedValue":[10767,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":1842},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":440,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":54}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":183,"col":0},"end":{"line":183,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10664}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":54,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":441,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":7,"beg":{"line":486,"col":0},"end":{"line":495,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally assign `other` to `self`, according to `choice`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" x.conditional_assign(&y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" x.conditional_assign(&y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10680},{"Deduplicated":10525},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":66,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":442,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":7,"beg":{"line":486,"col":0},"end":{"line":495,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10680},{"Deduplicated":10679},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":66,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":443,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":69}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":7,"beg":{"line":520,"col":0},"end":{"line":520,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10534}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":69,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":444,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_assign",0]}],"span":{"data":{"file_id":19,"beg":{"line":23,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally assign `other` to `self`, according to `choice`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" x.conditional_assign(&y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" x.conditional_assign(&y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10768,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":4121},"Mut"]}]},{"Deduplicated":10713},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":101,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":445,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}},{"Ident":["conditional_swap",0]}],"span":{"data":{"file_id":19,"beg":{"line":23,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10768},{"HashConsedValue":[10769,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":4121},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":101,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":446,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":105}},{"Ident":["assert_fields_are_eq",0]}],"span":{"data":{"file_id":19,"beg":{"line":53,"col":0},"end":{"line":53,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10542}],"output":{"Deduplicated":1443}},"src":{"TraitImpl":{"impl_ref":{"id":105,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"}],"global_decls":[null,{"def_id":1,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":5,"beg":{"line":45,"col":0},"end":{"line":49,"col":1}},"generated_from_span":null},"source_text":"impl Debug for FieldElement51 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":7289},"src":{"VTableInstance":{"impl_ref":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}},"global_kind":"Static","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":401}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":7289}}},null,null,null,null,null,null,null,{"def_id":9,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ZERO",0]}],"span":{"data":{"file_id":5,"beg":{"line":259,"col":4},"end":{"line":259,"col":81}},"generated_from_span":null},"source_text":"pub const ZERO: FieldElement51 = FieldElement51::from_limbs([0, 0, 0, 0, 0]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( 0 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":158}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},{"def_id":10,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["ONE",0]}],"span":{"data":{"file_id":5,"beg":{"line":261,"col":4},"end":{"line":261,"col":80}},"generated_from_span":null},"source_text":"pub const ONE: FieldElement51 = FieldElement51::from_limbs([1, 0, 0, 0, 0]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( 1 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":159}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},{"def_id":11,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["MINUS_ONE",0]}],"span":{"data":{"file_id":5,"beg":{"line":263,"col":4},"end":{"line":269,"col":7}},"generated_from_span":null},"source_text":"pub const MINUS_ONE: FieldElement51 = FieldElement51::from_limbs([\n 2251799813685228,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n 2251799813685247,\n ]);","attr_info":{"attributes":[{"DocComment":" The scalar \\\\( -1 \\\\)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":160}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"def_id":57,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}},{"Ident":["mul",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":168,"col":8},"end":{"line":168,"col":54}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1550},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":328}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1550}}},{"def_id":58,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["reduce",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":287,"col":8},"end":{"line":287,"col":54}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1550},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":329}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1550}}},{"def_id":59,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1391},"kind":"InherentImplBlock"}}},{"Ident":["pow2k",0]},{"Ident":["LOW_51_BIT_MASK",0]}],"span":{"data":{"file_id":5,"beg":{"line":507,"col":12},"end":{"line":507,"col":58}},"generated_from_span":null},"source_text":"const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1550},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":330}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1550}}},null,null,null,null,null,null,null,{"def_id":67,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["ED25519_BASEPOINT_POINT",0]}],"span":{"data":{"file_id":74,"beg":{"line":163,"col":0},"end":{"line":186,"col":2}},"generated_from_span":null},"source_text":"pub const ED25519_BASEPOINT_POINT: EdwardsPoint = EdwardsPoint {\n X: FieldElement51::from_limbs([\n 1738742601995546,\n 1146398526822698,\n 2070867633025821,\n 562264141797630,\n 587772402128613,\n ]),\n Y: FieldElement51::from_limbs([\n 1801439850948184,\n 1351079888211148,\n 450359962737049,\n 900719925474099,\n 1801439850948198,\n ]),\n Z: FieldElement51::from_limbs([1, 0, 0, 0, 0]),\n T: FieldElement51::from_limbs([\n 1841354044333475,\n 16398895984059,\n 755974180946558,\n 900171276175154,\n 1821297809914039,\n ]),\n};","attr_info":{"attributes":[{"DocComment":" The Ed25519 basepoint, as an `EdwardsPoint`."},{"DocComment":""},{"DocComment":" This is called `_POINT` to distinguish it from"},{"DocComment":" `ED25519_BASEPOINT_TABLE`, which should be used for scalar"},{"DocComment":" multiplication (it's much faster)."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1955},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":376}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1955}}},{"def_id":68,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["constants",0]},{"Ident":["BASEPOINT_ORDER",0]}],"span":{"data":{"file_id":75,"beg":{"line":58,"col":0},"end":{"line":64,"col":2}},"generated_from_span":null},"source_text":"pub(crate) const BASEPOINT_ORDER: Scalar = Scalar {\n bytes: [\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde,\n 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x10,\n ],\n};","attr_info":{"attributes":[{"DocComment":" `BASEPOINT_ORDER` is the order of the Ristretto group and of the Ed25519 basepoint, i.e.,"},{"DocComment":" $$"},{"DocComment":" \\ell = 2^\\{252\\} + 27742317777372353535851937790883648493."},{"DocComment":" $$"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":2689},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":388}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":2689}}},null,null,null,null,{"def_id":73,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}},{"Ident":["{vtable}",0]}],"span":{"data":{"file_id":15,"beg":{"line":2871,"col":8},"end":{"line":2871,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":2871,"col":31},"end":{"line":2871,"col":34}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":7289},"src":{"VTableInstance":{"impl_ref":{"id":117,"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10552}]}}}},"global_kind":"Static","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":402}},"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10552}]}},[]]},"ty":{"Deduplicated":7289}}},null,null,null,null,null,null,null,null,{"def_id":82,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["SQRT_M1",0]}],"span":{"data":{"file_id":74,"beg":{"line":99,"col":0},"end":{"line":105,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const SQRT_M1: FieldElement51 = FieldElement51::from_limbs([\n 1718705420411056,\n 234908883556509,\n 2233514472574048,\n 2117202627021982,\n 765476049583133,\n]);","attr_info":{"attributes":[{"DocComment":" Precomputed value of one of the square roots of -1 (mod p)"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":422}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},null,null,{"def_id":85,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D",0]}],"span":{"data":{"file_id":74,"beg":{"line":45,"col":0},"end":{"line":51,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const EDWARDS_D: FieldElement51 = FieldElement51::from_limbs([\n 929955233495203,\n 466365720129213,\n 1662059464998953,\n 2033849074728123,\n 1442794654840575,\n]);","attr_info":{"attributes":[{"DocComment":" Edwards `d` value, equal to `-121665/121666 mod p`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":426}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},{"def_id":86,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["constants",0]},{"Ident":["EDWARDS_D2",0]}],"span":{"data":{"file_id":74,"beg":{"line":54,"col":0},"end":{"line":60,"col":3}},"generated_from_span":null},"source_text":"pub(crate) const EDWARDS_D2: FieldElement51 = FieldElement51::from_limbs([\n 1859910466990425,\n 932731440258426,\n 1072319116312658,\n 1815898335770999,\n 633789495995903,\n]);","attr_info":{"attributes":[{"DocComment":" Edwards `2*d` value, equal to `2*(-121665/121666) mod p`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":1391},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":427}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":1391}}},null,null,null,null,null,null],"trait_decls":[{"def_id":0,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]}],"span":{"data":{"file_id":9,"beg":{"line":338,"col":0},"end":{"line":338,"col":58}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for comparisons corresponding to [equivalence relations]("},{"DocComment":" https://en.wikipedia.org/wiki/Equivalence_relation)."},{"DocComment":""},{"DocComment":" The primary difference to [`PartialEq`] is the additional requirement for reflexivity. A type"},{"DocComment":" that implements [`PartialEq`] guarantees that for all `a`, `b` and `c`:"},{"DocComment":""},{"DocComment":" - symmetric: `a == b` implies `b == a`"},{"DocComment":" - transitive: `a == b` and `b == c` implies `a == c`"},{"DocComment":" - consistent: `a != b` if and only if `!(a == b)`"},{"DocComment":""},{"DocComment":" `Eq`, which builds on top of [`PartialEq`] also implies:"},{"DocComment":""},{"DocComment":" - reflexive: `a == a`"},{"DocComment":""},{"DocComment":" This property cannot be checked by the compiler, and therefore `Eq` is a trait without methods."},{"DocComment":""},{"DocComment":" Violating this property is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" Floating point types such as [`f32`] and [`f64`] implement only [`PartialEq`] but *not* `Eq`"},{"DocComment":" because `NaN` != `NaN`."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`. When `derive`d, because `Eq` has no extra methods, it"},{"DocComment":" is only informing the compiler that this is an equivalence relation rather than a partial"},{"DocComment":" equivalence relation. Note that the `derive` strategy requires all fields are `Eq`, which isn't"},{"DocComment":" always desired."},{"DocComment":""},{"DocComment":" ## How can I implement `Eq`?"},{"DocComment":""},{"DocComment":" If you cannot use the `derive` strategy, specify that your type implements `Eq`, which has no"},{"DocComment":" extra methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.isbn == other.isbn"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Book {}"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Eq"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":338,"col":20},"end":{"line":338,"col":43}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"assert_fields_are_eq","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[10569,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10511},"Shared"]}]}],"output":{"Deduplicated":1443}},"item":{"id":1,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10570,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":1,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]}],"span":{"data":{"file_id":9,"beg":{"line":250,"col":0},"end":{"line":250,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for comparisons using the equality operator."},{"DocComment":""},{"DocComment":" Implementing this trait for types provides the `==` and `!=` operators for"},{"DocComment":" those types."},{"DocComment":""},{"DocComment":" `x.eq(y)` can also be written `x == y`, and `x.ne(y)` can be written `x != y`."},{"DocComment":" We use the easier-to-read infix notation in the remainder of this documentation."},{"DocComment":""},{"DocComment":" This trait allows for comparisons using the equality operator, for types"},{"DocComment":" that do not have a full equivalence relation. For example, in floating point"},{"DocComment":" numbers `NaN != NaN`, so floating point types implement `PartialEq` but not"},{"DocComment":" [`trait@Eq`]. Formally speaking, when `Rhs == Self`, this trait corresponds"},{"DocComment":" to a [partial equivalence relation]."},{"DocComment":""},{"DocComment":" [partial equivalence relation]: https://en.wikipedia.org/wiki/Partial_equivalence_relation"},{"DocComment":""},{"DocComment":" Implementations must ensure that `eq` and `ne` are consistent with each other:"},{"DocComment":""},{"DocComment":" - `a != b` if and only if `!(a == b)`."},{"DocComment":""},{"DocComment":" The default implementation of `ne` provides this consistency and is almost"},{"DocComment":" always sufficient. It should not be overridden without very good reason."},{"DocComment":""},{"DocComment":" If [`PartialOrd`] or [`Ord`] are also implemented for `Self` and `Rhs`, their methods must also"},{"DocComment":" be consistent with `PartialEq` (see the documentation of those traits for the exact"},{"DocComment":" requirements). It's easy to accidentally make them disagree by deriving some of the traits and"},{"DocComment":" manually implementing others."},{"DocComment":""},{"DocComment":" The equality relation `==` must satisfy the following conditions"},{"DocComment":" (for all `a`, `b`, `c` of type `A`, `B`, `C`):"},{"DocComment":""},{"DocComment":" - **Symmetry**: if `A: PartialEq` and `B: PartialEq`, then **`a == b`"},{"DocComment":" implies `b == a`**; and"},{"DocComment":""},{"DocComment":" - **Transitivity**: if `A: PartialEq` and `B: PartialEq` and `A:"},{"DocComment":" PartialEq`, then **`a == b` and `b == c` implies `a == c`**."},{"DocComment":" This must also work for longer chains, such as when `A: PartialEq`, `B: PartialEq`,"},{"DocComment":" `C: PartialEq`, and `A: PartialEq` all exist."},{"DocComment":""},{"DocComment":" Note that the `B: PartialEq` (symmetric) and `A: PartialEq`"},{"DocComment":" (transitive) impls are not forced to exist, but these requirements apply"},{"DocComment":" whenever they do exist."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Cross-crate considerations"},{"DocComment":""},{"DocComment":" Upholding the requirements stated above can become tricky when one crate implements `PartialEq`"},{"DocComment":" for a type of another crate (i.e., to allow comparing one of its own types with a type from the"},{"DocComment":" standard library). The recommendation is to never implement this trait for a foreign type. In"},{"DocComment":" other words, such a crate should do `impl PartialEq for LocalType`, but it should"},{"DocComment":" *not* do `impl PartialEq for ForeignType`."},{"DocComment":""},{"DocComment":" This avoids the problem of transitive chains that criss-cross crate boundaries: for all local"},{"DocComment":" types `T`, you may assume that no other crate will add `impl`s that allow comparing `T == U`. In"},{"DocComment":" other words, if other crates add `impl`s that allow building longer transitive chains `U1 == ..."},{"DocComment":" == T == V1 == ...`, then all the types that appear to the right of `T` must be types that the"},{"DocComment":" crate defining `T` already knows about. This rules out transitive chains where downstream crates"},{"DocComment":" can add new `impl`s that \"stitch together\" comparisons of foreign types in ways that violate"},{"DocComment":" transitivity."},{"DocComment":""},{"DocComment":" Not having such foreign `impl`s also avoids forward compatibility issues where one crate adding"},{"DocComment":" more `PartialEq` implementations can cause build failures in downstream crates."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`. When `derive`d on structs, two"},{"DocComment":" instances are equal if all fields are equal, and not equal if any fields"},{"DocComment":" are not equal. When `derive`d on enums, two instances are equal if they"},{"DocComment":" are the same variant and all fields are equal."},{"DocComment":""},{"DocComment":" ## How can I implement `PartialEq`?"},{"DocComment":""},{"DocComment":" An example implementation for a domain in which two books are considered"},{"DocComment":" the same book if their ISBN matches, even if the formats differ:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.isbn == other.isbn"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let b1 = Book { isbn: 3, format: BookFormat::Paperback };"},{"DocComment":" let b2 = Book { isbn: 3, format: BookFormat::Ebook };"},{"DocComment":" let b3 = Book { isbn: 10, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == b2);"},{"DocComment":" assert!(b1 != b3);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I compare two different types?"},{"DocComment":""},{"DocComment":" The type you can compare with is controlled by `PartialEq`'s type parameter."},{"DocComment":" For example, let's tweak our previous code a bit:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // The derive implements == comparisons"},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Implement == comparisons"},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &BookFormat) -> bool {"},{"DocComment":" self.format == *other"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Implement == comparisons"},{"DocComment":" impl PartialEq for BookFormat {"},{"DocComment":" fn eq(&self, other: &Book) -> bool {"},{"DocComment":" *self == other.format"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let b1 = Book { isbn: 3, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == BookFormat::Paperback);"},{"DocComment":" assert!(BookFormat::Ebook != b1);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" By changing `impl PartialEq for Book` to `impl PartialEq for Book`,"},{"DocComment":" we allow `BookFormat`s to be compared with `Book`s."},{"DocComment":""},{"DocComment":" A comparison like the one above, which ignores some fields of the struct,"},{"DocComment":" can be dangerous. It can easily lead to an unintended violation of the"},{"DocComment":" requirements for a partial equivalence relation. For example, if we kept"},{"DocComment":" the above implementation of `PartialEq` for `BookFormat` and added an"},{"DocComment":" implementation of `PartialEq` for `Book` (either via a `#[derive]` or"},{"DocComment":" via the manual implementation from the first example) then the result would"},{"DocComment":" violate transitivity:"},{"DocComment":""},{"DocComment":" ```should_panic"},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &BookFormat) -> bool {"},{"DocComment":" self.format == *other"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for BookFormat {"},{"DocComment":" fn eq(&self, other: &Book) -> bool {"},{"DocComment":" *self == other.format"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" let b1 = Book { isbn: 1, format: BookFormat::Paperback };"},{"DocComment":" let b2 = Book { isbn: 2, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == BookFormat::Paperback);"},{"DocComment":" assert!(BookFormat::Paperback == b2);"},{"DocComment":""},{"DocComment":" // The following should hold by transitivity but doesn't."},{"DocComment":" assert!(b1 == b2); // <-- PANICS"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: u32 = 0;"},{"DocComment":" let y: u32 = 1;"},{"DocComment":""},{"DocComment":" assert_eq!(x == y, false);"},{"DocComment":" assert_eq!(x.eq(&y), false);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`eq`]: PartialEq::eq"},{"DocComment":" [`ne`]: PartialEq::ne"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"eq"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"eq","attr_info":{"attributes":[{"DocComment":" Tests for `self` and `other` values to be equal, and is used by `==`."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"HashConsedValue":[10571,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":10512},"Shared"]}]}],"output":{"Deduplicated":1470}},"item":{"id":3,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10572,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":{"Adt":8},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":2,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConstantTimeEq",0]}],"span":{"data":{"file_id":11,"beg":{"line":262,"col":0},"end":{"line":262,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An `Eq`-like trait that produces a `Choice` instead of a `bool`."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConstantTimeEq;"},{"DocComment":" let x: u8 = 5;"},{"DocComment":" let y: u8 = 13;"},{"DocComment":""},{"DocComment":" assert_eq!(x.ct_eq(&y).unwrap_u8(), 0);"},{"DocComment":" assert_eq!(x.ct_eq(&x).unwrap_u8(), 1);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"ct_eq","attr_info":{"attributes":[{"DocComment":" Determine if two items are equal."},{"DocComment":""},{"DocComment":" The `ct_eq` function should execute in constant time."},{"DocComment":""},{"DocComment":" # Returns"},{"DocComment":""},{"DocComment":" * `Choice(1u8)` if `self == other`;"},{"DocComment":" * `Choice(0u8)` if `self != other`."}],"inline":"Hint","rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"HashConsedValue":[10573,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":10511},"Shared"]}]}],"output":{"Deduplicated":1496}},"item":{"id":6,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10574,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":3,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]}],"span":{"data":{"file_id":12,"beg":{"line":107,"col":0},"end":{"line":107,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for giving a type a useful default value."},{"DocComment":""},{"DocComment":" Sometimes, you want to fall back to some kind of default value, and"},{"DocComment":" don't particularly care what it is. This comes up often with `struct`s"},{"DocComment":" that define a set of options:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" How can we define some default values? You can use `Default`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Default)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" let options: SomeOptions = Default::default();"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Now, you get all of the default values. Rust implements `Default` for various primitive types."},{"DocComment":""},{"DocComment":" If you want to override a particular option, but still retain the other defaults:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" # #[derive(Default)]"},{"DocComment":" # struct SomeOptions {"},{"DocComment":" # foo: i32,"},{"DocComment":" # bar: f32,"},{"DocComment":" # }"},{"DocComment":" fn main() {"},{"DocComment":" let options = SomeOptions { foo: 42, ..Default::default() };"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]` if all of the type's fields implement"},{"DocComment":" `Default`. When `derive`d, it will use the default value for each field's type."},{"DocComment":""},{"DocComment":" ### `enum`s"},{"DocComment":""},{"DocComment":" When using `#[derive(Default)]` on an `enum`, you need to choose which unit variant will be"},{"DocComment":" default. You do this by placing the `#[default]` attribute on the variant."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Default)]"},{"DocComment":" enum Kind {"},{"DocComment":" #[default]"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You cannot use the `#[default]` attribute on non-unit or non-exhaustive variants."},{"DocComment":""},{"DocComment":" The `#[default]` attribute was stabilized in Rust 1.62.0."},{"DocComment":""},{"DocComment":" ## How can I implement `Default`?"},{"DocComment":""},{"DocComment":" Provide an implementation for the `default()` method that returns the value of"},{"DocComment":" your type that should be the default:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Default)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Default"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"default","attr_info":{"attributes":[{"DocComment":" Returns the \"default value\" for a type."},{"DocComment":""},{"DocComment":" Default values are often some kind of initial value, identity value, or anything else that"},{"DocComment":" may make sense as a default."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Using built-in default values:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let i: i8 = Default::default();"},{"DocComment":" let (x, y): (Option, f64) = Default::default();"},{"DocComment":" let (a, b, (c, d)): (i32, u32, (bool, bool)) = Default::default();"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Making your own:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":10511}},"item":{"id":137,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10575,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":4,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Copy",0]}],"span":{"data":{"file_id":13,"beg":{"line":454,"col":0},"end":{"line":454,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Types whose values can be duplicated simply by copying bits."},{"DocComment":""},{"DocComment":" By default, variable bindings have 'move semantics.' In other"},{"DocComment":" words:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Foo;"},{"DocComment":""},{"DocComment":" let x = Foo;"},{"DocComment":""},{"DocComment":" let y = x;"},{"DocComment":""},{"DocComment":" // `x` has moved into `y`, and so cannot be used"},{"DocComment":""},{"DocComment":" // println!(\"{x:?}\"); // error: use of moved value"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, if a type implements `Copy`, it instead has 'copy semantics':"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // We can derive a `Copy` implementation. `Clone` is also required, as it's"},{"DocComment":" // a supertrait of `Copy`."},{"DocComment":" #[derive(Debug, Copy, Clone)]"},{"DocComment":" struct Foo;"},{"DocComment":""},{"DocComment":" let x = Foo;"},{"DocComment":""},{"DocComment":" let y = x;"},{"DocComment":""},{"DocComment":" // `y` is a copy of `x`"},{"DocComment":""},{"DocComment":" println!(\"{x:?}\"); // A-OK!"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It's important to note that in these two examples, the only difference is whether you"},{"DocComment":" are allowed to access `x` after the assignment. Under the hood, both a copy and a move"},{"DocComment":" can result in bits being copied in memory, although this is sometimes optimized away."},{"DocComment":""},{"DocComment":" ## How can I implement `Copy`?"},{"DocComment":""},{"DocComment":" There are two ways to implement `Copy` on your type. The simplest is to use `derive`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct MyStruct;"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You can also implement `Copy` and `Clone` manually:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct MyStruct;"},{"DocComment":""},{"DocComment":" impl Copy for MyStruct { }"},{"DocComment":""},{"DocComment":" impl Clone for MyStruct {"},{"DocComment":" fn clone(&self) -> MyStruct {"},{"DocComment":" *self"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" There is a small difference between the two. The `derive` strategy will also place a `Copy`"},{"DocComment":" bound on type parameters:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Clone)]"},{"DocComment":" struct MyStruct(T);"},{"DocComment":""},{"DocComment":" impl Copy for MyStruct { }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" This isn't always desired. For example, shared references (`&T`) can be copied regardless of"},{"DocComment":" whether `T` is `Copy`. Likewise, a generic struct containing markers such as [`PhantomData`]"},{"DocComment":" could potentially be duplicated with a bit-wise copy."},{"DocComment":""},{"DocComment":" ## What's the difference between `Copy` and `Clone`?"},{"DocComment":""},{"DocComment":" Copies happen implicitly, for example as part of an assignment `y = x`. The behavior of"},{"DocComment":" `Copy` is not overloadable; it is always a simple bit-wise copy."},{"DocComment":""},{"DocComment":" Cloning is an explicit action, `x.clone()`. The implementation of [`Clone`] can"},{"DocComment":" provide any type-specific behavior necessary to duplicate values safely. For example,"},{"DocComment":" the implementation of [`Clone`] for [`String`] needs to copy the pointed-to string"},{"DocComment":" buffer in the heap. A simple bitwise copy of [`String`] values would merely copy the"},{"DocComment":" pointer, leading to a double free down the line. For this reason, [`String`] is [`Clone`]"},{"DocComment":" but not `Copy`."},{"DocComment":""},{"DocComment":" [`Clone`] is a supertrait of `Copy`, so everything which is `Copy` must also implement"},{"DocComment":" [`Clone`]. If a type is `Copy` then its [`Clone`] implementation only needs to return `*self`"},{"DocComment":" (see the example above)."},{"DocComment":""},{"DocComment":" ## When can my type be `Copy`?"},{"DocComment":""},{"DocComment":" A type can implement `Copy` if all of its components implement `Copy`. For example, this"},{"DocComment":" struct can be `Copy`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" A struct can be `Copy`, and [`i32`] is `Copy`, therefore `Point` is eligible to be `Copy`."},{"DocComment":" By contrast, consider"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" # struct Point;"},{"DocComment":" struct PointList {"},{"DocComment":" points: Vec,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The struct `PointList` cannot implement `Copy`, because [`Vec`] is not `Copy`. If we"},{"DocComment":" attempt to derive a `Copy` implementation, we'll get an error:"},{"DocComment":""},{"DocComment":" ```text"},{"DocComment":" the trait `Copy` cannot be implemented for this type; field `points` does not implement `Copy`"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Shared references (`&T`) are also `Copy`, so a type can be `Copy`, even when it holds"},{"DocComment":" shared references of types `T` that are *not* `Copy`. Consider the following struct,"},{"DocComment":" which can implement `Copy`, because it only holds a *shared reference* to our non-`Copy`"},{"DocComment":" type `PointList` from above:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" # struct PointList;"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct PointListWrapper<'a> {"},{"DocComment":" point_list_ref: &'a PointList,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## When *can't* my type be `Copy`?"},{"DocComment":""},{"DocComment":" Some types can't be copied safely. For example, copying `&mut T` would create an aliased"},{"DocComment":" mutable reference. Copying [`String`] would duplicate responsibility for managing the"},{"DocComment":" [`String`]'s buffer, leading to a double free."},{"DocComment":""},{"DocComment":" Generalizing the latter case, any type implementing [`Drop`] can't be `Copy`, because it's"},{"DocComment":" managing some resource besides its own [`size_of::`] bytes."},{"DocComment":""},{"DocComment":" If you try to implement `Copy` on a struct or enum containing non-`Copy` data, you will get"},{"DocComment":" the error [E0204]."},{"DocComment":""},{"DocComment":" [E0204]: ../../error_codes/E0204.html"},{"DocComment":""},{"DocComment":" ## When *should* my type be `Copy`?"},{"DocComment":""},{"DocComment":" Generally speaking, if your type _can_ implement `Copy`, it should. Keep in mind, though,"},{"DocComment":" that implementing `Copy` is part of the public API of your type. If the type might become"},{"DocComment":" non-`Copy` in the future, it could be prudent to omit the `Copy` implementation now, to"},{"DocComment":" avoid a breaking API change."},{"DocComment":""},{"DocComment":" ## Additional implementors"},{"DocComment":""},{"DocComment":" In addition to the [implementors listed below][impls],"},{"DocComment":" the following types also implement `Copy`:"},{"DocComment":""},{"DocComment":" * Function item types (i.e., the distinct types defined for each function)"},{"DocComment":" * Function pointer types (e.g., `fn() -> i32`)"},{"DocComment":" * Closure types, if they capture no value from the environment"},{"DocComment":" or if all such captured values implement `Copy` themselves."},{"DocComment":" Note that variables captured by shared reference always implement `Copy`"},{"DocComment":" (even if the referent doesn't),"},{"DocComment":" while variables captured by mutable reference never implement `Copy`."},{"DocComment":""},{"DocComment":" [`Vec`]: ../../std/vec/struct.Vec.html"},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`size_of::`]: size_of"},{"DocComment":" [impls]: #implementors"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"copy"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":13,"beg":{"line":454,"col":16},"end":{"line":454,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":5,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]}],"span":{"data":{"file_id":14,"beg":{"line":194,"col":0},"end":{"line":194,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A common trait that allows explicit creation of a duplicate value."},{"DocComment":""},{"DocComment":" Calling [`clone`] always produces a new value."},{"DocComment":" However, for types that are references to other data (such as smart pointers or references),"},{"DocComment":" the new value may still point to the same underlying data, rather than duplicating it."},{"DocComment":" See [`Clone::clone`] for more details."},{"DocComment":""},{"DocComment":" This distinction is especially important when using `#[derive(Clone)]` on structs containing"},{"DocComment":" smart pointers like `Arc>` - the cloned struct will share mutable state with the"},{"DocComment":" original."},{"DocComment":""},{"DocComment":" Differs from [`Copy`] in that [`Copy`] is implicit and an inexpensive bit-wise copy, while"},{"DocComment":" `Clone` is always explicit and may or may not be expensive. [`Copy`] has no methods, so you"},{"DocComment":" cannot change its behavior, but when implementing `Clone`, the `clone` method you provide"},{"DocComment":" may run arbitrary code."},{"DocComment":""},{"DocComment":" Since `Clone` is a supertrait of [`Copy`], any type that implements `Copy` must also implement"},{"DocComment":" `Clone`."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]` if all fields are `Clone`. The `derive`d"},{"DocComment":" implementation of [`Clone`] calls [`clone`] on each field."},{"DocComment":""},{"DocComment":" [`clone`]: Clone::clone"},{"DocComment":""},{"DocComment":" For a generic struct, `#[derive]` implements `Clone` conditionally by adding bound `Clone` on"},{"DocComment":" generic parameters."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // `derive` implements Clone for Reading when T is Clone."},{"DocComment":" #[derive(Clone)]"},{"DocComment":" struct Reading {"},{"DocComment":" frequency: T,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I implement `Clone`?"},{"DocComment":""},{"DocComment":" Types that are [`Copy`] should have a trivial implementation of `Clone`. More formally:"},{"DocComment":" if `T: Copy`, `x: T`, and `y: &T`, then `let x = y.clone();` is equivalent to `let x = *y;`."},{"DocComment":" Manual implementations should be careful to uphold this invariant; however, unsafe code"},{"DocComment":" must not rely on it to ensure memory safety."},{"DocComment":""},{"DocComment":" An example is a generic struct holding a function pointer. In this case, the"},{"DocComment":" implementation of `Clone` cannot be `derive`d, but can be implemented as:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" impl Copy for Generate {}"},{"DocComment":""},{"DocComment":" impl Clone for Generate {"},{"DocComment":" fn clone(&self) -> Self {"},{"DocComment":" *self"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If we `derive`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" the auto-derived implementations will have unnecessary `T: Copy` and `T: Clone` bounds:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" // Automatically derived"},{"DocComment":" impl Copy for Generate { }"},{"DocComment":""},{"DocComment":" // Automatically derived"},{"DocComment":" impl Clone for Generate {"},{"DocComment":" fn clone(&self) -> Generate {"},{"DocComment":" Generate(Clone::clone(&self.0))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The bounds are unnecessary because clearly the function itself should be"},{"DocComment":" copy- and cloneable even if its return type is not:"},{"DocComment":""},{"DocComment":" ```compile_fail,E0599"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" struct NotCloneable;"},{"DocComment":""},{"DocComment":" fn generate_not_cloneable() -> NotCloneable {"},{"DocComment":" NotCloneable"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" Generate(generate_not_cloneable).clone(); // error: trait bounds were not satisfied"},{"DocComment":" // Note: With the manual implementations the above line will compile."},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## `Clone` and `PartialEq`/`Eq`"},{"DocComment":" `Clone` is intended for the duplication of objects. Consequently, when implementing"},{"DocComment":" both `Clone` and [`PartialEq`], the following property is expected to hold:"},{"DocComment":" ```text"},{"DocComment":" x == x -> x.clone() == x"},{"DocComment":" ```"},{"DocComment":" In other words, if an object compares equal to itself,"},{"DocComment":" its clone must also compare equal to the original."},{"DocComment":""},{"DocComment":" For types that also implement [`Eq`] – for which `x == x` always holds –"},{"DocComment":" this implies that `x.clone() == x` must always be true."},{"DocComment":" Standard library collections such as"},{"DocComment":" [`HashMap`], [`HashSet`], [`BTreeMap`], [`BTreeSet`] and [`BinaryHeap`]"},{"DocComment":" rely on their keys respecting this property for correct behavior."},{"DocComment":" Furthermore, these collections require that cloning a key preserves the outcome of the"},{"DocComment":" [`Hash`] and [`Ord`] methods. Thankfully, this follows automatically from `x.clone() == x`"},{"DocComment":" if `Hash` and `Ord` are correctly implemented according to their own requirements."},{"DocComment":""},{"DocComment":" When deriving both `Clone` and [`PartialEq`] using `#[derive(Clone, PartialEq)]`"},{"DocComment":" or when additionally deriving [`Eq`] using `#[derive(Clone, PartialEq, Eq)]`,"},{"DocComment":" then this property is automatically upheld – provided that it is satisfied by"},{"DocComment":" the underlying types."},{"DocComment":""},{"DocComment":" Violating this property is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on this property"},{"DocComment":" being satisfied."},{"DocComment":""},{"DocComment":" ## Additional implementors"},{"DocComment":""},{"DocComment":" In addition to the [implementors listed below][impls],"},{"DocComment":" the following types also implement `Clone`:"},{"DocComment":""},{"DocComment":" * Function item types (i.e., the distinct types defined for each function)"},{"DocComment":" * Function pointer types (e.g., `fn() -> i32`)"},{"DocComment":" * Closure types, if they capture no value from the environment"},{"DocComment":" or if all such captured values implement `Clone` themselves."},{"DocComment":" Note that variables captured by shared reference always implement `Clone`"},{"DocComment":" (even if the referent doesn't),"},{"DocComment":" while variables captured by mutable reference never implement `Clone`."},{"DocComment":""},{"DocComment":" [`HashMap`]: ../../std/collections/struct.HashMap.html"},{"DocComment":" [`HashSet`]: ../../std/collections/struct.HashSet.html"},{"DocComment":" [`BTreeMap`]: ../../std/collections/struct.BTreeMap.html"},{"DocComment":" [`BTreeSet`]: ../../std/collections/struct.BTreeSet.html"},{"DocComment":" [`BinaryHeap`]: ../../std/collections/struct.BinaryHeap.html"},{"DocComment":" [impls]: #implementors"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"clone"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"clone","attr_info":{"attributes":[{"DocComment":" Returns a duplicate of the value."},{"DocComment":""},{"DocComment":" Note that what \"duplicate\" means varies by type:"},{"DocComment":" - For most types, this creates a deep, independent copy"},{"DocComment":" - For reference types like `&T`, this creates another reference to the same value"},{"DocComment":" - For smart pointers like [`Arc`] or [`Rc`], this increments the reference count"},{"DocComment":" but still points to the same underlying data"},{"DocComment":""},{"DocComment":" [`Arc`]: ../../std/sync/struct.Arc.html"},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(noop_method_call)]"},{"DocComment":" let hello = \"Hello\"; // &str implements Clone"},{"DocComment":""},{"DocComment":" assert_eq!(\"Hello\", hello.clone());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Example with a reference-counted type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::sync::{Arc, Mutex};"},{"DocComment":""},{"DocComment":" let data = Arc::new(Mutex::new(vec![1, 2, 3]));"},{"DocComment":" let data_clone = data.clone(); // Creates another Arc pointing to the same Mutex"},{"DocComment":""},{"DocComment":" {"},{"DocComment":" let mut lock = data.lock().unwrap();"},{"DocComment":" lock.push(4);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Changes are visible through the clone because they share the same underlying data"},{"DocComment":" assert_eq!(*data_clone.lock().unwrap(), vec![1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569}],"output":{"Deduplicated":10511}},"item":{"id":18,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10576,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},null,{"def_id":7,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]}],"span":{"data":{"file_id":13,"beg":{"line":1062,"col":0},"end":{"line":1062,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A marker for types that can be dropped."},{"DocComment":""},{"DocComment":" This should be used for `[const]` bounds,"},{"DocComment":" as non-const bounds will always hold for every type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"destruct"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"drop_glue","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[10577,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10511},"Mut"]}]}],"output":{"Deduplicated":1443}},"item":{"id":139,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}},"kind":{"TraitMethod":[7,0]}}],"vtable":null},{"def_id":8,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Debug",0]}],"span":{"data":{"file_id":15,"beg":{"line":1053,"col":0},"end":{"line":1053,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" `?` formatting."},{"DocComment":""},{"DocComment":" `Debug` should format the output in a programmer-facing, debugging context."},{"DocComment":""},{"DocComment":" Generally speaking, you should just `derive` a `Debug` implementation."},{"DocComment":""},{"DocComment":" When used with the alternate format specifier `#?`, the output is pretty-printed."},{"DocComment":""},{"DocComment":" For more information on formatters, see [the module-level documentation][module]."},{"DocComment":""},{"DocComment":" [module]: ../../std/fmt/index.html"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]` if all fields implement `Debug`. When"},{"DocComment":" `derive`d for structs, it will use the name of the `struct`, then `{`, then a"},{"DocComment":" comma-separated list of each field's name and `Debug` value, then `}`. For"},{"DocComment":" `enum`s, it will use the name of the variant and, if applicable, `(`, then the"},{"DocComment":" `Debug` values of the fields, then `)`."},{"DocComment":""},{"DocComment":" # Stability"},{"DocComment":""},{"DocComment":" Derived `Debug` formats are not stable, and so may change with future Rust"},{"DocComment":" versions. Additionally, `Debug` implementations of types provided by the"},{"DocComment":" standard library (`std`, `core`, `alloc`, etc.) are not stable, and"},{"DocComment":" may also change with future Rust versions."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Deriving an implementation:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let origin = Point { x: 0, y: 0 };"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" format!(\"The origin is: {origin:?}\"),"},{"DocComment":" \"The origin is: Point { x: 0, y: 0 }\","},{"DocComment":" );"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Manually implementing:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fmt;"},{"DocComment":""},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl fmt::Debug for Point {"},{"DocComment":" fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" f.debug_struct(\"Point\")"},{"DocComment":" .field(\"x\", &self.x)"},{"DocComment":" .field(\"y\", &self.y)"},{"DocComment":" .finish()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let origin = Point { x: 0, y: 0 };"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" format!(\"The origin is: {origin:?}\"),"},{"DocComment":" \"The origin is: Point { x: 0, y: 0 }\","},{"DocComment":" );"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" There are a number of helper methods on the [`Formatter`] struct to help you with manual"},{"DocComment":" implementations, such as [`debug_struct`]."},{"DocComment":""},{"DocComment":" [`debug_struct`]: Formatter::debug_struct"},{"DocComment":""},{"DocComment":" Types that do not wish to use the standard suite of debug representations"},{"DocComment":" provided by the `Formatter` trait (`debug_struct`, `debug_tuple`,"},{"DocComment":" `debug_list`, `debug_set`, `debug_map`) can do something totally custom by"},{"DocComment":" manually writing an arbitrary representation to the `Formatter`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # use std::fmt;"},{"DocComment":" # struct Point {"},{"DocComment":" # x: i32,"},{"DocComment":" # y: i32,"},{"DocComment":" # }"},{"DocComment":" #"},{"DocComment":" impl fmt::Debug for Point {"},{"DocComment":" fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" write!(f, \"Point [{} {}]\", self.x, self.y)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" `Debug` implementations using either `derive` or the debug builder API"},{"DocComment":" on [`Formatter`] support pretty-printing using the alternate flag: `{:#?}`."},{"DocComment":""},{"DocComment":" Pretty-printing with `#?`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let origin = Point { x: 0, y: 0 };"},{"DocComment":""},{"DocComment":" let expected = \"The origin is: Point {"},{"DocComment":" x: 0,"},{"DocComment":" y: 0,"},{"DocComment":" }\";"},{"DocComment":" assert_eq!(format!(\"The origin is: {origin:#?}\"), expected);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Debug"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"fmt","attr_info":{"attributes":[{"DocComment":"Formats the value using the given formatter.\n\n# Errors\n\nThis function should return [`Err`] if, and only if, the provided [`Formatter`] returns [`Err`].\nString formatting is considered an infallible operation; this function only\nreturns a [`Result`] because writing to the underlying stream might fail and it must\nprovide a way to propagate the fact that an error has occurred back up the stack.\n"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fmt;"},{"DocComment":""},{"DocComment":" struct Position {"},{"DocComment":" longitude: f32,"},{"DocComment":" latitude: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl fmt::Debug for Position {"},{"DocComment":" fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {"},{"DocComment":" f.debug_tuple(\"\")"},{"DocComment":" .field(&self.longitude)"},{"DocComment":" .field(&self.latitude)"},{"DocComment":" .finish()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let position = Position { longitude: 1.987, latitude: 2.983 };"},{"DocComment":" assert_eq!(format!(\"{position:?}\"), \"(1.987, 2.983)\");"},{"DocComment":""},{"DocComment":" assert_eq!(format!(\"{position:#?}\"), \"("},{"DocComment":" 1.987,"},{"DocComment":" 2.983,"},{"DocComment":" )\");"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"HashConsedValue":[3008,{"Ref":[{"Var":{"Bound":[0,1]}},{"HashConsedValue":[3007,{"Adt":{"id":{"Adt":14},"generics":{"regions":[{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"Deduplicated":3010}},"item":{"id":140,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10578,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":{"Adt":13},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["AddAssign",0]}],"span":{"data":{"file_id":16,"beg":{"line":768,"col":0},"end":{"line":768,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The addition assignment operator `+=`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" This example creates a `Point` struct that implements the `AddAssign`"},{"DocComment":" trait, and then demonstrates add-assigning to a mutable `Point`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::AddAssign;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl AddAssign for Point {"},{"DocComment":" fn add_assign(&mut self, other: Self) {"},{"DocComment":" *self = Self {"},{"DocComment":" x: self.x + other.x,"},{"DocComment":" y: self.y + other.y,"},{"DocComment":" };"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut point = Point { x: 1, y: 0 };"},{"DocComment":" point += Point { x: 2, y: 3 };"},{"DocComment":" assert_eq!(point, Point { x: 3, y: 3 });"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"add_assign"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"add_assign","attr_info":{"attributes":[{"DocComment":" Performs the `+=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x += 1;"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577},{"Deduplicated":10512}],"output":{"Deduplicated":1443}},"item":{"id":145,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10579,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":{"Adt":20},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Add",0]}],"span":{"data":{"file_id":16,"beg":{"line":76,"col":0},"end":{"line":76,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The addition operator `+`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory. For"},{"DocComment":" example, [`std::time::SystemTime`] implements `Add`, which permits"},{"DocComment":" operations of the form `SystemTime = SystemTime + Duration`."},{"DocComment":""},{"DocComment":" [`std::time::SystemTime`]: ../../std/time/struct.SystemTime.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## `Add`able points"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Add;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Add for Point {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn add(self, other: Self) -> Self {"},{"DocComment":" Self {"},{"DocComment":" x: self.x + other.x,"},{"DocComment":" y: self.y + other.y,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },"},{"DocComment":" Point { x: 3, y: 3 });"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Implementing `Add` with generics"},{"DocComment":""},{"DocComment":" Here is an example of the same `Point` struct implementing the `Add` trait"},{"DocComment":" using generics."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Add;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: T,"},{"DocComment":" y: T,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Notice that the implementation uses the associated type `Output`."},{"DocComment":" impl> Add for Point {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn add(self, other: Self) -> Self::Output {"},{"DocComment":" Self {"},{"DocComment":" x: self.x + other.x,"},{"DocComment":" y: self.y + other.y,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },"},{"DocComment":" Point { x: 3, y: 3 });"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"add"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"add","attr_info":{"attributes":[{"DocComment":" Performs the `+` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 + 1, 13);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"item":{"id":148,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10580,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":{"Adt":23},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":11,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["SubAssign",0]}],"span":{"data":{"file_id":16,"beg":{"line":839,"col":0},"end":{"line":839,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The subtraction assignment operator `-=`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" This example creates a `Point` struct that implements the `SubAssign`"},{"DocComment":" trait, and then demonstrates sub-assigning to a mutable `Point`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::SubAssign;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl SubAssign for Point {"},{"DocComment":" fn sub_assign(&mut self, other: Self) {"},{"DocComment":" *self = Self {"},{"DocComment":" x: self.x - other.x,"},{"DocComment":" y: self.y - other.y,"},{"DocComment":" };"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut point = Point { x: 3, y: 3 };"},{"DocComment":" point -= Point { x: 2, y: 3 };"},{"DocComment":" assert_eq!(point, Point {x: 1, y: 0});"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"sub_assign"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"sub_assign","attr_info":{"attributes":[{"DocComment":" Performs the `-=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x -= 1;"},{"DocComment":" assert_eq!(x, 11);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577},{"Deduplicated":10512}],"output":{"Deduplicated":1443}},"item":{"id":149,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10581,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[11,0]}}],"vtable":{"id":{"Adt":24},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":12,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Sub",0]}],"span":{"data":{"file_id":16,"beg":{"line":188,"col":0},"end":{"line":188,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The subtraction operator `-`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory. For"},{"DocComment":" example, [`std::time::SystemTime`] implements `Sub`, which permits"},{"DocComment":" operations of the form `SystemTime = SystemTime - Duration`."},{"DocComment":""},{"DocComment":" [`std::time::SystemTime`]: ../../std/time/struct.SystemTime.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## `Sub`tractable points"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Sub;"},{"DocComment":""},{"DocComment":" #[derive(Debug, Copy, Clone, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Sub for Point {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn sub(self, other: Self) -> Self::Output {"},{"DocComment":" Self {"},{"DocComment":" x: self.x - other.x,"},{"DocComment":" y: self.y - other.y,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Point { x: 3, y: 3 } - Point { x: 2, y: 3 },"},{"DocComment":" Point { x: 1, y: 0 });"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Implementing `Sub` with generics"},{"DocComment":""},{"DocComment":" Here is an example of the same `Point` struct implementing the `Sub` trait"},{"DocComment":" using generics."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Sub;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Point {"},{"DocComment":" x: T,"},{"DocComment":" y: T,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Notice that the implementation uses the associated type `Output`."},{"DocComment":" impl> Sub for Point {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn sub(self, other: Self) -> Self::Output {"},{"DocComment":" Point {"},{"DocComment":" x: self.x - other.x,"},{"DocComment":" y: self.y - other.y,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Point { x: 2, y: 3 } - Point { x: 1, y: 0 },"},{"DocComment":" Point { x: 1, y: 3 });"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"sub"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"sub","attr_info":{"attributes":[{"DocComment":" Performs the `-` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 - 1, 11);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"item":{"id":150,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10582,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":{"Adt":25},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":13,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["MulAssign",0]}],"span":{"data":{"file_id":16,"beg":{"line":901,"col":0},"end":{"line":901,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The multiplication assignment operator `*=`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::MulAssign;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Frequency { hertz: f64 }"},{"DocComment":""},{"DocComment":" impl MulAssign for Frequency {"},{"DocComment":" fn mul_assign(&mut self, rhs: f64) {"},{"DocComment":" self.hertz *= rhs;"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut frequency = Frequency { hertz: 50.0 };"},{"DocComment":" frequency *= 4.0;"},{"DocComment":" assert_eq!(Frequency { hertz: 200.0 }, frequency);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"mul_assign"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"mul_assign","attr_info":{"attributes":[{"DocComment":" Performs the `*=` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x: u32 = 12;"},{"DocComment":" x *= 2;"},{"DocComment":" assert_eq!(x, 24);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577},{"Deduplicated":10512}],"output":{"Deduplicated":1443}},"item":{"id":151,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10583,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":{"Adt":26},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Mul",0]}],"span":{"data":{"file_id":16,"beg":{"line":322,"col":0},"end":{"line":322,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The multiplication operator `*`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## `Mul`tipliable rational numbers"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Mul;"},{"DocComment":""},{"DocComment":" // By the fundamental theorem of arithmetic, rational numbers in lowest"},{"DocComment":" // terms are unique. So, by keeping `Rational`s in reduced form, we can"},{"DocComment":" // derive `Eq` and `PartialEq`."},{"DocComment":" #[derive(Debug, Eq, PartialEq)]"},{"DocComment":" struct Rational {"},{"DocComment":" numerator: usize,"},{"DocComment":" denominator: usize,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Rational {"},{"DocComment":" fn new(numerator: usize, denominator: usize) -> Self {"},{"DocComment":" if denominator == 0 {"},{"DocComment":" panic!(\"Zero is an invalid denominator!\");"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Reduce to lowest terms by dividing by the greatest common"},{"DocComment":" // divisor."},{"DocComment":" let gcd = gcd(numerator, denominator);"},{"DocComment":" Self {"},{"DocComment":" numerator: numerator / gcd,"},{"DocComment":" denominator: denominator / gcd,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Mul for Rational {"},{"DocComment":" // The multiplication of rational numbers is a closed operation."},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn mul(self, rhs: Self) -> Self {"},{"DocComment":" let numerator = self.numerator * rhs.numerator;"},{"DocComment":" let denominator = self.denominator * rhs.denominator;"},{"DocComment":" Self::new(numerator, denominator)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Euclid's two-thousand-year-old algorithm for finding the greatest common"},{"DocComment":" // divisor."},{"DocComment":" fn gcd(x: usize, y: usize) -> usize {"},{"DocComment":" let mut x = x;"},{"DocComment":" let mut y = y;"},{"DocComment":" while y != 0 {"},{"DocComment":" let t = y;"},{"DocComment":" y = x % y;"},{"DocComment":" x = t;"},{"DocComment":" }"},{"DocComment":" x"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Rational::new(1, 2), Rational::new(2, 4));"},{"DocComment":" assert_eq!(Rational::new(2, 3) * Rational::new(3, 4),"},{"DocComment":" Rational::new(1, 2));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Multiplying vectors by scalars as in linear algebra"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Mul;"},{"DocComment":""},{"DocComment":" struct Scalar { value: usize }"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Vector { value: Vec }"},{"DocComment":""},{"DocComment":" impl Mul for Vector {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn mul(self, rhs: Scalar) -> Self::Output {"},{"DocComment":" Self { value: self.value.iter().map(|v| v * rhs.value).collect() }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let vector = Vector { value: vec![2, 4, 6] };"},{"DocComment":" let scalar = Scalar { value: 3 };"},{"DocComment":" assert_eq!(vector * scalar, Vector { value: vec![6, 12, 18] });"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"mul"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"mul","attr_info":{"attributes":[{"DocComment":" Performs the `*` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(12 * 2, 24);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"item":{"id":152,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10584,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":{"Adt":27},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":15,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["arith",0]},{"Ident":["Neg",0]}],"span":{"data":{"file_id":16,"beg":{"line":690,"col":0},"end":{"line":690,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The unary negation operator `-`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" An implementation of `Neg` for `Sign`, which allows the use of `-` to"},{"DocComment":" negate its value."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Neg;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" enum Sign {"},{"DocComment":" Negative,"},{"DocComment":" Zero,"},{"DocComment":" Positive,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Neg for Sign {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn neg(self) -> Self::Output {"},{"DocComment":" match self {"},{"DocComment":" Sign::Negative => Sign::Positive,"},{"DocComment":" Sign::Zero => Sign::Zero,"},{"DocComment":" Sign::Positive => Sign::Negative,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // A negative positive is a negative."},{"DocComment":" assert_eq!(-Sign::Positive, Sign::Negative);"},{"DocComment":" // A double negative is a positive."},{"DocComment":" assert_eq!(-Sign::Negative, Sign::Positive);"},{"DocComment":" // Zero is its own negation."},{"DocComment":" assert_eq!(-Sign::Zero, Sign::Zero);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"neg"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"neg","attr_info":{"attributes":[{"DocComment":" Performs the unary `-` operation."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: i32 = 12;"},{"DocComment":" assert_eq!(-x, -12);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"Deduplicated":10512}},"item":{"id":154,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10585,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":{"Adt":28},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":16,"item_meta":{"name":[{"Ident":["subtle",0]},{"Ident":["ConditionallySelectable",0]}],"span":{"data":{"file_id":11,"beg":{"line":393,"col":0},"end":{"line":393,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A type which can be conditionally selected in constant time."},{"DocComment":""},{"DocComment":" This trait also provides generic implementations of conditional"},{"DocComment":" assignment and conditional swaps."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":11,"beg":{"line":393,"col":35},"end":{"line":393,"col":39}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"conditional_select","attr_info":{"attributes":[{"DocComment":" Select `a` or `b` according to `choice`."},{"DocComment":""},{"DocComment":" # Returns"},{"DocComment":""},{"DocComment":" * `a` if `choice == Choice(0)`;"},{"DocComment":" * `b` if `choice == Choice(1)`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let x: u8 = 13;"},{"DocComment":" let y: u8 = 42;"},{"DocComment":""},{"DocComment":" let z = u8::conditional_select(&x, &y, 0.into());"},{"DocComment":" assert_eq!(z, x);"},{"DocComment":" let z = u8::conditional_select(&x, &y, 1.into());"},{"DocComment":" assert_eq!(z, y);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"Deduplicated":10573},{"Deduplicated":1496}],"output":{"Deduplicated":10511}},"item":{"id":53,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10586,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"conditional_assign","attr_info":{"attributes":[{"DocComment":" Conditionally assign `other` to `self`, according to `choice`."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" x.conditional_assign(&y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" x.conditional_assign(&y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577},{"Deduplicated":10573},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"item":{"id":54,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10586}]}}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"conditional_swap","attr_info":{"attributes":[{"DocComment":" Conditionally swap `self` and `other` if `choice == 1`; otherwise,"},{"DocComment":" reassign both unto themselves."},{"DocComment":""},{"DocComment":" This function should execute in constant time."},{"DocComment":""},{"DocComment":" # Example"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use subtle::ConditionallySelectable;"},{"DocComment":" #"},{"DocComment":" # fn main() {"},{"DocComment":" let mut x: u8 = 13;"},{"DocComment":" let mut y: u8 = 42;"},{"DocComment":""},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 0.into());"},{"DocComment":" assert_eq!(x, 13);"},{"DocComment":" assert_eq!(y, 42);"},{"DocComment":" u8::conditional_swap(&mut x, &mut y, 1.into());"},{"DocComment":" assert_eq!(x, 42);"},{"DocComment":" assert_eq!(y, 13);"},{"DocComment":" # }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577},{"HashConsedValue":[10587,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":10511},"Mut"]}]},{"Deduplicated":1496}],"output":{"Deduplicated":1443}},"item":{"id":55,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10586}]}}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":17,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["StructuralPartialEq",0]}],"span":{"data":{"file_id":13,"beg":{"line":257,"col":0},"end":{"line":257,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Required trait for constants used in pattern matches."},{"DocComment":""},{"DocComment":" Constants are only allowed as patterns if (a) their type implements"},{"DocComment":" `PartialEq`, and (b) interpreting the value of the constant as a pattern"},{"DocComment":" is equivalent to calling `PartialEq`. This ensures that constants used as"},{"DocComment":" patterns cannot expose implementation details in an unexpected way or"},{"DocComment":" cause semver hazards."},{"DocComment":""},{"DocComment":" This trait ensures point (b)."},{"DocComment":" Any type that derives `PartialEq` automatically implements this trait."},{"DocComment":""},{"DocComment":" Implementing this trait (which is unstable) is a way for type authors to explicitly allow"},{"DocComment":" comparing const values of this type; that operation will recursively compare all fields"},{"DocComment":" (including private fields), even if that behavior differs from `PartialEq`. This can make it"},{"DocComment":" semver-breaking to add further private fields to a type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"structural_peq"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[],"vtable":{"id":{"Adt":29},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":18,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["Identity",0]}],"span":{"data":{"file_id":18,"beg":{"line":32,"col":0},"end":{"line":36,"col":1}},"generated_from_span":null},"source_text":"pub trait Identity {\n /// Returns the identity element of the curve.\n /// Can be used as a constructor.\n fn identity() -> Self;\n}","attr_info":{"attributes":[{"DocComment":" Trait for getting the identity element of a point type."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"identity","attr_info":{"attributes":[{"DocComment":" Returns the identity element of the curve."},{"DocComment":" Can be used as a constructor."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":10511}},"item":{"id":163,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10588,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":19,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["ValidityCheck",0]}],"span":{"data":{"file_id":18,"beg":{"line":451,"col":0},"end":{"line":454,"col":1}},"generated_from_span":null},"source_text":"pub(crate) trait ValidityCheck {\n /// Checks whether the point is on the curve. Not CT.\n fn is_valid(&self) -> bool;\n}","attr_info":{"attributes":[{"DocComment":" Trait for checking whether a point is on the curve."},{"DocComment":""},{"DocComment":" This trait is only for debugging/testing, since it should be"},{"DocComment":" impossible for a `curve25519-dalek` user to construct an invalid"},{"DocComment":" point."},{"Unknown":{"path":"allow","args":"dead_code"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"is_valid","attr_info":{"attributes":[{"DocComment":" Checks whether the point is on the curve. Not CT."}],"inline":null,"rename":null,"public":false},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569}],"output":{"Deduplicated":1470}},"item":{"id":164,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10589,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[19,0]}}],"vtable":{"id":{"Adt":30},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":20,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hash",0]}],"span":{"data":{"file_id":20,"beg":{"line":185,"col":0},"end":{"line":185,"col":36}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A hashable type."},{"DocComment":""},{"DocComment":" Types implementing `Hash` are able to be [`hash`]ed with an instance of"},{"DocComment":" [`Hasher`]."},{"DocComment":""},{"DocComment":" ## Implementing `Hash`"},{"DocComment":""},{"DocComment":" You can derive `Hash` with `#[derive(Hash)]` if all fields implement `Hash`."},{"DocComment":" The resulting hash will be the combination of the values from calling"},{"DocComment":" [`hash`] on each field."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Hash)]"},{"DocComment":" struct Rustacean {"},{"DocComment":" name: String,"},{"DocComment":" country: String,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If you need more control over how a value is hashed, you can of course"},{"DocComment":" implement the `Hash` trait yourself:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{Hash, Hasher};"},{"DocComment":""},{"DocComment":" struct Person {"},{"DocComment":" id: u32,"},{"DocComment":" name: String,"},{"DocComment":" phone: u64,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Hash for Person {"},{"DocComment":" fn hash(&self, state: &mut H) {"},{"DocComment":" self.id.hash(state);"},{"DocComment":" self.phone.hash(state);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## `Hash` and `Eq`"},{"DocComment":""},{"DocComment":" When implementing both `Hash` and [`Eq`], it is important that the following"},{"DocComment":" property holds:"},{"DocComment":""},{"DocComment":" ```text"},{"DocComment":" k1 == k2 -> hash(k1) == hash(k2)"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" In other words, if two keys are equal, their hashes must also be equal."},{"DocComment":" [`HashMap`] and [`HashSet`] both rely on this behavior."},{"DocComment":""},{"DocComment":" Thankfully, you won't need to worry about upholding this property when"},{"DocComment":" deriving both [`Eq`] and `Hash` with `#[derive(PartialEq, Eq, Hash)]`."},{"DocComment":""},{"DocComment":" Violating this property is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Prefix collisions"},{"DocComment":""},{"DocComment":" Implementations of `hash` should ensure that the data they"},{"DocComment":" pass to the `Hasher` are prefix-free. That is,"},{"DocComment":" values which are not equal should cause two different sequences of values to be written,"},{"DocComment":" and neither of the two sequences should be a prefix of the other."},{"DocComment":""},{"DocComment":" For example, the standard implementation of [`Hash` for `&str`][impl] passes an extra"},{"DocComment":" `0xFF` byte to the `Hasher` so that the values `(\"ab\", \"c\")` and `(\"a\","},{"DocComment":" \"bc\")` hash differently."},{"DocComment":""},{"DocComment":" ## Portability"},{"DocComment":""},{"DocComment":" Due to differences in endianness and type sizes, data fed by `Hash` to a `Hasher`"},{"DocComment":" should not be considered portable across platforms. Additionally the data passed by most"},{"DocComment":" standard library types should not be considered stable between compiler versions."},{"DocComment":""},{"DocComment":" This means tests shouldn't probe hard-coded hash values or data fed to a `Hasher` and"},{"DocComment":" instead should check consistency with `Eq`."},{"DocComment":""},{"DocComment":" Serialization formats intended to be portable between platforms or compiler versions should"},{"DocComment":" either avoid encoding hashes or only rely on `Hash` and `Hasher` implementations that"},{"DocComment":" provide additional guarantees."},{"DocComment":""},{"DocComment":" [`HashMap`]: ../../std/collections/struct.HashMap.html"},{"DocComment":" [`HashSet`]: ../../std/collections/struct.HashSet.html"},{"DocComment":" [`hash`]: Hash::hash"},{"DocComment":" [impl]: ../../std/primitive.str.html#impl-Hash-for-str"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Hash"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"hash","attr_info":{"attributes":[{"DocComment":" Feeds this value into the given [`Hasher`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hash, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" 7920.hash(&mut hasher);"},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"HashConsedValue":[2184,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":1436},"Mut"]}]}],"output":{"Deduplicated":1443}},"item":{"id":74,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511},{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10590,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[2163,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[20,0]}},null],"vtable":null},{"def_id":21,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["Hasher",0]}],"span":{"data":{"file_id":20,"beg":{"line":312,"col":0},"end":{"line":312,"col":16}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for hashing an arbitrary stream of bytes."},{"DocComment":""},{"DocComment":" Instances of `Hasher` usually represent state that is changed while hashing"},{"DocComment":" data."},{"DocComment":""},{"DocComment":" `Hasher` provides a fairly basic interface for retrieving the generated hash"},{"DocComment":" (with [`finish`]), and writing integers as well as slices of bytes into an"},{"DocComment":" instance (with [`write`] and [`write_u8`] etc.). Most of the time, `Hasher`"},{"DocComment":" instances are used in conjunction with the [`Hash`] trait."},{"DocComment":""},{"DocComment":" This trait provides no guarantees about how the various `write_*` methods are"},{"DocComment":" defined and implementations of [`Hash`] should not assume that they work one"},{"DocComment":" way or another. You cannot assume, for example, that a [`write_u32`] call is"},{"DocComment":" equivalent to four calls of [`write_u8`]. Nor can you assume that adjacent"},{"DocComment":" `write` calls are merged, so it's possible, for example, that"},{"DocComment":" ```"},{"DocComment":" # fn foo(hasher: &mut impl std::hash::Hasher) {"},{"DocComment":" hasher.write(&[1, 2]);"},{"DocComment":" hasher.write(&[3, 4, 5, 6]);"},{"DocComment":" # }"},{"DocComment":" ```"},{"DocComment":" and"},{"DocComment":" ```"},{"DocComment":" # fn foo(hasher: &mut impl std::hash::Hasher) {"},{"DocComment":" hasher.write(&[1, 2, 3, 4]);"},{"DocComment":" hasher.write(&[5, 6]);"},{"DocComment":" # }"},{"DocComment":" ```"},{"DocComment":" end up producing different hashes."},{"DocComment":""},{"DocComment":" Thus to produce the same hash value, [`Hash`] implementations must ensure"},{"DocComment":" for equivalent items that exactly the same sequence of calls is made -- the"},{"DocComment":" same methods with the same parameters in the same order."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":""},{"DocComment":" hasher.write_u32(1989);"},{"DocComment":" hasher.write_u8(11);"},{"DocComment":" hasher.write_u8(9);"},{"DocComment":" hasher.write(b\"Huh?\");"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`finish`]: Hasher::finish"},{"DocComment":" [`write`]: Hasher::write"},{"DocComment":" [`write_u8`]: Hasher::write_u8"},{"DocComment":" [`write_u32`]: Hasher::write_u32"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"finish","attr_info":{"attributes":[{"DocComment":" Returns the hash value for the values written so far."},{"DocComment":""},{"DocComment":" Despite its name, the method does not reset the hasher’s internal"},{"DocComment":" state. Additional [`write`]s will continue from the current value."},{"DocComment":" If you need to start a fresh hash value, you will have to create"},{"DocComment":" a new hasher."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" hasher.write(b\"Cool!\");"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`write`]: Hasher::write"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569}],"output":{"Deduplicated":1550}},"item":{"id":176,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10591,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[21,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"write","attr_info":{"attributes":[{"DocComment":" Writes some data into this `Hasher`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::{DefaultHasher, Hasher};"},{"DocComment":""},{"DocComment":" let mut hasher = DefaultHasher::new();"},{"DocComment":" let data = [0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef];"},{"DocComment":""},{"DocComment":" hasher.write(&data);"},{"DocComment":""},{"DocComment":" println!(\"Hash is {:x}!\", hasher.finish());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Note to Implementers"},{"DocComment":""},{"DocComment":" You generally should not do length-prefixing as part of implementing"},{"DocComment":" this method. It's up to the [`Hash`] implementation to call"},{"DocComment":" [`Hasher::write_length_prefix`] before sequences that need it."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577},{"HashConsedValue":[4184,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":2239},"Shared"]}]}],"output":{"Deduplicated":1443}},"item":{"id":177,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10591}]}}},"kind":{"TraitMethod":[21,1]}},null,null,null,null,null,null,null,null,null,null,null,null,null,null],"vtable":{"id":{"Adt":31},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":22,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["TryFrom",0]}],"span":{"data":{"file_id":21,"beg":{"line":694,"col":0},"end":{"line":694,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Simple and safe type conversions that may fail in a controlled"},{"DocComment":" way under some circumstances. It is the reciprocal of [`TryInto`]."},{"DocComment":""},{"DocComment":" This is useful when you are doing a type conversion that may"},{"DocComment":" trivially succeed but may also need special handling."},{"DocComment":" For example, there is no way to convert an [`i64`] into an [`i32`]"},{"DocComment":" using the [`From`] trait, because an [`i64`] may contain a value"},{"DocComment":" that an [`i32`] cannot represent and so the conversion would lose data."},{"DocComment":" This might be handled by truncating the [`i64`] to an [`i32`] or by"},{"DocComment":" simply returning [`i32::MAX`], or by some other method. The [`From`]"},{"DocComment":" trait is intended for perfect conversions, so the `TryFrom` trait"},{"DocComment":" informs the programmer when a type conversion could go bad and lets"},{"DocComment":" them decide how to handle it."},{"DocComment":""},{"DocComment":" # Generic Implementations"},{"DocComment":""},{"DocComment":" - `TryFrom for U` implies [`TryInto`]` for T`"},{"DocComment":" - [`try_from`] is reflexive, which means that `TryFrom for T`"},{"DocComment":" is implemented and cannot fail -- the associated `Error` type for"},{"DocComment":" calling `T::try_from()` on a value of type `T` is [`Infallible`]."},{"DocComment":" When the [`!`] type is stabilized [`Infallible`] and [`!`] will be"},{"DocComment":" equivalent."},{"DocComment":""},{"DocComment":" Prefer using [`TryInto`] over [`TryFrom`] when specifying trait bounds on a generic function"},{"DocComment":" to ensure that types that only implement [`TryInto`] can be used as well."},{"DocComment":""},{"DocComment":" `TryFrom` can be implemented as follows:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct GreaterThanZero(i32);"},{"DocComment":""},{"DocComment":" impl TryFrom for GreaterThanZero {"},{"DocComment":" type Error = &'static str;"},{"DocComment":""},{"DocComment":" fn try_from(value: i32) -> Result {"},{"DocComment":" if value <= 0 {"},{"DocComment":" Err(\"GreaterThanZero only accepts values greater than zero!\")"},{"DocComment":" } else {"},{"DocComment":" Ok(GreaterThanZero(value))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" As described, [`i32`] implements `TryFrom<`[`i64`]`>`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let big_number = 1_000_000_000_000i64;"},{"DocComment":" // Silently truncates `big_number`, requires detecting"},{"DocComment":" // and handling the truncation after the fact."},{"DocComment":" let smaller_number = big_number as i32;"},{"DocComment":" assert_eq!(smaller_number, -727379968);"},{"DocComment":""},{"DocComment":" // Returns an error because `big_number` is too big to"},{"DocComment":" // fit in an `i32`."},{"DocComment":" let try_smaller_number = i32::try_from(big_number);"},{"DocComment":" assert!(try_smaller_number.is_err());"},{"DocComment":""},{"DocComment":" // Returns `Ok(3)`."},{"DocComment":" let try_successful_smaller_number = i32::try_from(3);"},{"DocComment":" assert!(try_successful_smaller_number.is_ok());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`try_from`]: TryFrom::try_from"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"TryFrom"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Self_Error"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"try_from","attr_info":{"attributes":[{"DocComment":" Performs the conversion."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10512}],"output":{"Deduplicated":10592}},"item":{"id":195,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10593,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[22,0]}}],"vtable":null},{"def_id":23,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["borrow",0]},{"Ident":["Borrow",0]}],"span":{"data":{"file_id":23,"beg":{"line":158,"col":0},"end":{"line":158,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for borrowing data."},{"DocComment":""},{"DocComment":" In Rust, it is common to provide different representations of a type for"},{"DocComment":" different use cases. For instance, storage location and management for a"},{"DocComment":" value can be specifically chosen as appropriate for a particular use via"},{"DocComment":" pointer types such as [`Box`] or [`Rc`]. Beyond these generic"},{"DocComment":" wrappers that can be used with any type, some types provide optional"},{"DocComment":" facets providing potentially costly functionality. An example for such a"},{"DocComment":" type is [`String`] which adds the ability to extend a string to the basic"},{"DocComment":" [`str`]. This requires keeping additional information unnecessary for a"},{"DocComment":" simple, immutable string."},{"DocComment":""},{"DocComment":" These types provide access to the underlying data through references"},{"DocComment":" to the type of that data. They are said to be ‘borrowed as’ that type."},{"DocComment":" For instance, a [`Box`] can be borrowed as `T` while a [`String`]"},{"DocComment":" can be borrowed as `str`."},{"DocComment":""},{"DocComment":" Types express that they can be borrowed as some type `T` by implementing"},{"DocComment":" `Borrow`, providing a reference to a `T` in the trait’s"},{"DocComment":" [`borrow`] method. A type is free to borrow as several different types."},{"DocComment":" If it wishes to mutably borrow as the type, allowing the underlying data"},{"DocComment":" to be modified, it can additionally implement [`BorrowMut`]."},{"DocComment":""},{"DocComment":" Further, when providing implementations for additional traits, it needs"},{"DocComment":" to be considered whether they should behave identically to those of the"},{"DocComment":" underlying type as a consequence of acting as a representation of that"},{"DocComment":" underlying type. Generic code typically uses `Borrow` when it relies"},{"DocComment":" on the identical behavior of these additional trait implementations."},{"DocComment":" These traits will likely appear as additional trait bounds."},{"DocComment":""},{"DocComment":" In particular `Eq`, `Ord` and `Hash` must be equivalent for"},{"DocComment":" borrowed and owned values: `x.borrow() == y.borrow()` should give the"},{"DocComment":" same result as `x == y`."},{"DocComment":""},{"DocComment":" If generic code merely needs to work for all types that can"},{"DocComment":" provide a reference to related type `T`, it is often better to use"},{"DocComment":" [`AsRef`] as more types can safely implement it."},{"DocComment":""},{"DocComment":" [`Box`]: ../../std/boxed/struct.Box.html"},{"DocComment":" [`Mutex`]: ../../std/sync/struct.Mutex.html"},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html"},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`borrow`]: Borrow::borrow"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" As a data collection, [`HashMap`] owns both keys and values. If"},{"DocComment":" the key’s actual data is wrapped in a managing type of some kind, it"},{"DocComment":" should, however, still be possible to search for a value using a"},{"DocComment":" reference to the key’s data. For instance, if the key is a string, then"},{"DocComment":" it is likely stored with the hash map as a [`String`], while it should"},{"DocComment":" be possible to search using a [`&str`][`str`]. Thus, `insert` needs to"},{"DocComment":" operate on a `String` while `get` needs to be able to use a `&str`."},{"DocComment":""},{"DocComment":" Slightly simplified, the relevant parts of `HashMap` look like"},{"DocComment":" this:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::borrow::Borrow;"},{"DocComment":" use std::hash::Hash;"},{"DocComment":""},{"DocComment":" pub struct HashMap {"},{"DocComment":" # marker: ::std::marker::PhantomData<(K, V)>,"},{"DocComment":" // fields omitted"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl HashMap {"},{"DocComment":" pub fn insert(&self, key: K, value: V) -> Option"},{"DocComment":" where K: Hash + Eq"},{"DocComment":" {"},{"DocComment":" # unimplemented!()"},{"DocComment":" // ..."},{"DocComment":" }"},{"DocComment":""},{"DocComment":" pub fn get(&self, k: &Q) -> Option<&V>"},{"DocComment":" where"},{"DocComment":" K: Borrow,"},{"DocComment":" Q: Hash + Eq + ?Sized"},{"DocComment":" {"},{"DocComment":" # unimplemented!()"},{"DocComment":" // ..."},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The entire hash map is generic over a key type `K`. Because these keys"},{"DocComment":" are stored with the hash map, this type has to own the key’s data."},{"DocComment":" When inserting a key-value pair, the map is given such a `K` and needs"},{"DocComment":" to find the correct hash bucket and check if the key is already present"},{"DocComment":" based on that `K`. It therefore requires `K: Hash + Eq`."},{"DocComment":""},{"DocComment":" When searching for a value in the map, however, having to provide a"},{"DocComment":" reference to a `K` as the key to search for would require to always"},{"DocComment":" create such an owned value. For string keys, this would mean a `String`"},{"DocComment":" value needs to be created just for the search for cases where only a"},{"DocComment":" `str` is available."},{"DocComment":""},{"DocComment":" Instead, the `get` method is generic over the type of the underlying key"},{"DocComment":" data, called `Q` in the method signature above. It states that `K`"},{"DocComment":" borrows as a `Q` by requiring that `K: Borrow`. By additionally"},{"DocComment":" requiring `Q: Hash + Eq`, it signals the requirement that `K` and `Q`"},{"DocComment":" have implementations of the `Hash` and `Eq` traits that produce identical"},{"DocComment":" results."},{"DocComment":""},{"DocComment":" The implementation of `get` relies in particular on identical"},{"DocComment":" implementations of `Hash` by determining the key’s hash bucket by calling"},{"DocComment":" `Hash::hash` on the `Q` value even though it inserted the key based on"},{"DocComment":" the hash value calculated from the `K` value."},{"DocComment":""},{"DocComment":" As a consequence, the hash map breaks if a `K` wrapping a `Q` value"},{"DocComment":" produces a different hash than `Q`. For instance, imagine you have a"},{"DocComment":" type that wraps a string but compares ASCII letters ignoring their case:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" pub struct CaseInsensitiveString(String);"},{"DocComment":""},{"DocComment":" impl PartialEq for CaseInsensitiveString {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.0.eq_ignore_ascii_case(&other.0)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for CaseInsensitiveString { }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Because two equal values need to produce the same hash value, the"},{"DocComment":" implementation of `Hash` needs to ignore ASCII case, too:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # use std::hash::{Hash, Hasher};"},{"DocComment":" # pub struct CaseInsensitiveString(String);"},{"DocComment":" impl Hash for CaseInsensitiveString {"},{"DocComment":" fn hash(&self, state: &mut H) {"},{"DocComment":" for c in self.0.as_bytes() {"},{"DocComment":" c.to_ascii_lowercase().hash(state)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Can `CaseInsensitiveString` implement `Borrow`? It certainly can"},{"DocComment":" provide a reference to a string slice via its contained owned string."},{"DocComment":" But because its `Hash` implementation differs, it behaves differently"},{"DocComment":" from `str` and therefore must not, in fact, implement `Borrow`."},{"DocComment":" If it wants to allow others access to the underlying `str`, it can do"},{"DocComment":" that via `AsRef` which doesn’t carry any extra requirements."},{"DocComment":""},{"DocComment":" [`Hash`]: crate::hash::Hash"},{"DocComment":" [`HashMap`]: ../../std/collections/struct.HashMap.html"},{"DocComment":" [`String`]: ../../std/string/struct.String.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Borrow"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Borrowed"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"borrow","attr_info":{"attributes":[{"DocComment":" Immutably borrows from an owned value."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::borrow::Borrow;"},{"DocComment":""},{"DocComment":" fn check>(s: T) {"},{"DocComment":" assert_eq!(\"Hello\", s.borrow());"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let s = \"Hello\".to_string();"},{"DocComment":""},{"DocComment":" check(s);"},{"DocComment":""},{"DocComment":" let s = \"Hello\";"},{"DocComment":""},{"DocComment":" check(s);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569}],"output":{"HashConsedValue":[10594,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10512},"Shared"]}]}},"item":{"id":197,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10595,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[23,0]}}],"vtable":{"id":{"Adt":33},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":24,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]}],"span":{"data":{"file_id":24,"beg":{"line":18,"col":0},"end":{"line":18,"col":36}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait to represent types that can be created by summing up an iterator."},{"DocComment":""},{"DocComment":" This trait is used to implement [`Iterator::sum()`]. Types which implement"},{"DocComment":" this trait can be generated by using the [`sum()`] method on an iterator."},{"DocComment":" Like [`FromIterator`], this trait should rarely be called directly."},{"DocComment":""},{"DocComment":" [`sum()`]: Iterator::sum"},{"DocComment":" [`FromIterator`]: iter::FromIterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":24,"beg":{"line":22,"col":14},"end":{"line":22,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"sum","attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by \"summing up\""},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1436}],"output":{"Deduplicated":10511}},"item":{"id":198,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10596,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10597,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[24,0]}}],"vtable":null},{"def_id":25,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]}],"span":{"data":{"file_id":27,"beg":{"line":42,"col":0},"end":{"line":42,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for dealing with iterators."},{"DocComment":""},{"DocComment":" This is the main iterator trait. For more about the concept of iterators"},{"DocComment":" generally, please see the [module-level documentation]. In particular, you"},{"DocComment":" may want to know how to [implement `Iterator`][impl]."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":" [impl]: crate::iter#implementing-iterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"iterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"next","attr_info":{"attributes":[{"DocComment":" Advances the iterator and returns the next value."},{"DocComment":""},{"DocComment":" Returns [`None`] when iteration is finished. Individual iterator"},{"DocComment":" implementations may choose to resume iteration, and so calling `next()`"},{"DocComment":" again may or may not eventually start returning [`Some(Item)`] again at some"},{"DocComment":" point."},{"DocComment":""},{"DocComment":" [`Some(Item)`]: Some"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = [1, 2, 3];"},{"DocComment":""},{"DocComment":" let mut iter = a.into_iter();"},{"DocComment":""},{"DocComment":" // A call to next() returns the next value..."},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":""},{"DocComment":" // ... and then None once it's over."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":""},{"DocComment":" // More calls may or may not return `None`. Here, they always will."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577}],"output":{"Deduplicated":10598}},"item":{"id":199,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10599,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[25,0]}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"vtable":{"id":{"Adt":34},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":26,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]}],"span":{"data":{"file_id":21,"beg":{"line":587,"col":0},"end":{"line":587,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to do value-to-value conversions while consuming the input value. It is the reciprocal of"},{"DocComment":" [`Into`]."},{"DocComment":""},{"DocComment":" One should always prefer implementing `From` over [`Into`]"},{"DocComment":" because implementing `From` automatically provides one with an implementation of [`Into`]"},{"DocComment":" thanks to the blanket implementation in the standard library."},{"DocComment":""},{"DocComment":" Only implement [`Into`] when targeting a version prior to Rust 1.41 and converting to a type"},{"DocComment":" outside the current crate."},{"DocComment":" `From` was not able to do these types of conversions in earlier versions because of Rust's"},{"DocComment":" orphaning rules."},{"DocComment":" See [`Into`] for more details."},{"DocComment":""},{"DocComment":" Prefer using [`Into`] over [`From`] when specifying trait bounds on a generic function"},{"DocComment":" to ensure that types that only implement [`Into`] can be used as well."},{"DocComment":""},{"DocComment":" The `From` trait is also very useful when performing error handling. When constructing a function"},{"DocComment":" that is capable of failing, the return type will generally be of the form `Result`."},{"DocComment":" `From` simplifies error handling by allowing a function to return a single error type"},{"DocComment":" that encapsulates multiple error types. See the \"Examples\" section and [the book][book] for more"},{"DocComment":" details."},{"DocComment":""},{"DocComment":" **Note: This trait must not fail**. The `From` trait is intended for perfect conversions."},{"DocComment":" If the conversion can fail or is not perfect, use [`TryFrom`]."},{"DocComment":""},{"DocComment":" # Generic Implementations"},{"DocComment":""},{"DocComment":" - `From for U` implies [`Into`]` for T`"},{"DocComment":" - `From` is reflexive, which means that `From for T` is implemented"},{"DocComment":""},{"DocComment":" # When to implement `From`"},{"DocComment":""},{"DocComment":" While there's no technical restrictions on which conversions can be done using"},{"DocComment":" a `From` implementation, the general expectation is that the conversions"},{"DocComment":" should typically be restricted as follows:"},{"DocComment":""},{"DocComment":" * The conversion is *infallible*: if the conversion can fail, use [`TryFrom`]"},{"DocComment":" instead; don't provide a `From` impl that panics."},{"DocComment":""},{"DocComment":" * The conversion is *lossless*: semantically, it should not lose or discard"},{"DocComment":" information. For example, `i32: From` exists, where the original"},{"DocComment":" value can be recovered using `u16: TryFrom`. And `String: From<&str>`"},{"DocComment":" exists, where you can get something equivalent to the original value via"},{"DocComment":" `Deref`. But `From` cannot be used to convert from `u32` to `u16`, since"},{"DocComment":" that cannot succeed in a lossless way. (There's some wiggle room here for"},{"DocComment":" information not considered semantically relevant. For example,"},{"DocComment":" `Box<[T]>: From>` exists even though it might not preserve capacity,"},{"DocComment":" like how two vectors can be equal despite differing capacities.)"},{"DocComment":""},{"DocComment":" * The conversion is *value-preserving*: the conceptual kind and meaning of"},{"DocComment":" the resulting value is the same, even though the Rust type and technical"},{"DocComment":" representation might be different. For example `-1_i8 as u8` is *lossless*,"},{"DocComment":" since `as` casting back can recover the original value, but that conversion"},{"DocComment":" is *not* available via `From` because `-1` and `255` are different conceptual"},{"DocComment":" values (despite being identical bit patterns technically). But"},{"DocComment":" `f32: From` *is* available because `1_i16` and `1.0_f32` are conceptually"},{"DocComment":" the same real number (despite having very different bit patterns technically)."},{"DocComment":" `String: From` is available because they're both *text*, but"},{"DocComment":" `String: From` is *not* available, since `1` (a number) and `\"1\"`"},{"DocComment":" (text) are too different. (Converting values to text is instead covered"},{"DocComment":" by the [`Display`](crate::fmt::Display) trait.)"},{"DocComment":""},{"DocComment":" * The conversion is *obvious*: it's the only reasonable conversion between"},{"DocComment":" the two types. Otherwise it's better to have it be a named method or"},{"DocComment":" constructor, like how [`str::as_bytes`] is a method and how integers have"},{"DocComment":" methods like [`u32::from_ne_bytes`], [`u32::from_le_bytes`], and"},{"DocComment":" [`u32::from_be_bytes`], none of which are `From` implementations. Whereas"},{"DocComment":" there's only one reasonable way to wrap an [`Ipv6Addr`](crate::net::Ipv6Addr)"},{"DocComment":" into an [`IpAddr`](crate::net::IpAddr), thus `IpAddr: From` exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" [`String`] implements `From<&str>`:"},{"DocComment":""},{"DocComment":" An explicit conversion from a `&str` to a String is done as follows:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let string = \"hello\".to_string();"},{"DocComment":" let other_string = String::from(\"hello\");"},{"DocComment":""},{"DocComment":" assert_eq!(string, other_string);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" While performing error handling it is often useful to implement `From` for your own error type."},{"DocComment":" By converting underlying error types to our own custom error type that encapsulates the"},{"DocComment":" underlying error type, we can return a single error type without losing information on the"},{"DocComment":" underlying cause. The '?' operator automatically converts the underlying error type to our"},{"DocComment":" custom error type with `From::from`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fs;"},{"DocComment":" use std::io;"},{"DocComment":" use std::num;"},{"DocComment":""},{"DocComment":" enum CliError {"},{"DocComment":" IoError(io::Error),"},{"DocComment":" ParseError(num::ParseIntError),"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl From for CliError {"},{"DocComment":" fn from(error: io::Error) -> Self {"},{"DocComment":" CliError::IoError(error)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl From for CliError {"},{"DocComment":" fn from(error: num::ParseIntError) -> Self {"},{"DocComment":" CliError::ParseError(error)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn open_and_parse_file(file_name: &str) -> Result {"},{"DocComment":" let mut contents = fs::read_to_string(&file_name)?;"},{"DocComment":" let num: i32 = contents.trim().parse()?;"},{"DocComment":" Ok(num)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`from`]: From::from"},{"DocComment":" [book]: ../../book/ch09-00-error-handling.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"From"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from","attr_info":{"attributes":[{"DocComment":" Converts to this type from the input type."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10512}],"output":{"Deduplicated":10511}},"item":{"id":281,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10600,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[26,0]}}],"vtable":null},{"def_id":27,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]}],"span":{"data":{"file_id":33,"beg":{"line":59,"col":0},"end":{"line":59,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used for indexing operations (`container[index]`) in immutable contexts."},{"DocComment":""},{"DocComment":" `container[index]` is actually syntactic sugar for `*container.index(index)`,"},{"DocComment":" but only when used as an immutable value. If a mutable value is requested,"},{"DocComment":" [`IndexMut`] is used instead. This allows nice things such as"},{"DocComment":" `let value = v[index]` if the type of `value` implements [`Copy`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The following example implements `Index` on a read-only `NucleotideCount`"},{"DocComment":" container, enabling individual counts to be retrieved with index syntax."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Index;"},{"DocComment":""},{"DocComment":" enum Nucleotide {"},{"DocComment":" A,"},{"DocComment":" C,"},{"DocComment":" G,"},{"DocComment":" T,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct NucleotideCount {"},{"DocComment":" a: usize,"},{"DocComment":" c: usize,"},{"DocComment":" g: usize,"},{"DocComment":" t: usize,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Index for NucleotideCount {"},{"DocComment":" type Output = usize;"},{"DocComment":""},{"DocComment":" fn index(&self, nucleotide: Nucleotide) -> &Self::Output {"},{"DocComment":" match nucleotide {"},{"DocComment":" Nucleotide::A => &self.a,"},{"DocComment":" Nucleotide::C => &self.c,"},{"DocComment":" Nucleotide::G => &self.g,"},{"DocComment":" Nucleotide::T => &self.t,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let nucleotide_count = NucleotideCount {a: 14, c: 9, g: 10, t: 12};"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::A], 14);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::C], 9);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::G], 10);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::T], 12);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"index"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Idx"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index","attr_info":{"attributes":[{"DocComment":" Performs the indexing (`container[index]`) operation."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" May panic if the index is out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"Deduplicated":10512}],"output":{"HashConsedValue":[10601,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10547},"Shared"]}]}},"item":{"id":288,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10602,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":{"Adt":64},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":28,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]}],"span":{"data":{"file_id":34,"beg":{"line":163,"col":0},"end":{"line":163,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A helper trait used for indexing operations."},{"DocComment":""},{"DocComment":" Implementations of this trait have to promise that if the argument"},{"DocComment":" to `get_unchecked(_mut)` is a safe reference, then so is the result."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"SliceIndex"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":34,"beg":{"line":163,"col":46},"end":{"line":163,"col":73}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":46,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get","attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10594}],"output":{"HashConsedValue":[10603,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"Deduplicated":10601}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":290,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10604,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[28,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"HashConsedValue":[10605,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10512},"Mut"]}]}],"output":{"HashConsedValue":[10607,{"Adt":{"id":{"Adt":22},"generics":{"regions":[],"types":[{"HashConsedValue":[10606,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":10547},"Mut"]}]}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":291,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"Deduplicated":10604}]}}},"kind":{"TraitMethod":[28,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_unchecked","attr_info":{"attributes":[{"DocComment":" Returns a pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10608}],"output":{"Deduplicated":10609}},"item":{"id":292,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"Deduplicated":10604}]}}},"kind":{"TraitMethod":[28,2]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_unchecked_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10610}],"output":{"Deduplicated":10611}},"item":{"id":293,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"Deduplicated":10604}]}}},"kind":{"TraitMethod":[28,3]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index","attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10594}],"output":{"Deduplicated":10601}},"item":{"id":294,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"Deduplicated":10604}]}}},"kind":{"TraitMethod":[28,4]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10605}],"output":{"Deduplicated":10606}},"item":{"id":295,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"Deduplicated":10604}]}}},"kind":{"TraitMethod":[28,5]}}],"vtable":{"id":{"Adt":65},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":29,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]}],"span":{"data":{"file_id":39,"beg":{"line":34,"col":0},"end":{"line":34,"col":64}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Objects that have a notion of *successor* and *predecessor* operations."},{"DocComment":""},{"DocComment":" The *successor* operation moves towards values that compare greater."},{"DocComment":" The *predecessor* operation moves towards values that compare lesser."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"range_step"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":39,"beg":{"line":34,"col":22},"end":{"line":34,"col":35}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":39,"beg":{"line":34,"col":38},"end":{"line":34,"col":56}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"steps_between","attr_info":{"attributes":[{"DocComment":" Returns the bounds on the number of *successor* steps required to get from `start` to `end`"},{"DocComment":" like [`Iterator::size_hint()`][Iterator::size_hint()]."},{"DocComment":""},{"DocComment":" Returns `(usize::MAX, None)` if the number of steps would overflow `usize`, or is infinite."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `b`, and `n`:"},{"DocComment":""},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::forward_checked(&a, n) == Some(b)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::backward_checked(&b, n) == Some(a)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` only if `a <= b`"},{"DocComment":" * Corollary: `steps_between(&a, &b) == (0, Some(0))` if and only if `a == b`"},{"DocComment":" * `steps_between(&a, &b) == (0, None)` if `a > b`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"Deduplicated":10573}],"output":{"Deduplicated":4622}},"item":{"id":314,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10612,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[29,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"forward_checked","attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *successor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == Step::forward_checked(a, m).and_then(|x| Step::forward_checked(x, n))`"},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == try { Step::forward_checked(a, n.checked_add(m)) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::forward_checked(&x, 1))`"},{"DocComment":" * Corollary: `Step::forward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":1551}],"output":{"Deduplicated":10613}},"item":{"id":315,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10612}]}}},"kind":{"TraitMethod":[29,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"backward_checked","attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *predecessor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == n.checked_add(m).and_then(|x| Step::backward_checked(a, x))`"},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == try { Step::backward_checked(a, n.checked_add(m)?) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::backward_checked(x, 1))`"},{"DocComment":" * Corollary: `Step::backward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":1551}],"output":{"Deduplicated":10613}},"item":{"id":318,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10612}]}}},"kind":{"TraitMethod":[29,4]}},null,null],"vtable":null},{"def_id":30,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["ZeroablePrimitive",0]}],"span":{"data":{"file_id":43,"beg":{"line":34,"col":0},"end":{"line":34,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A marker trait for primitive types which can be zero."},{"DocComment":""},{"DocComment":" This is an implementation detail for [NonZero]\\ which may disappear or be replaced at any time."},{"DocComment":""},{"DocComment":" # Safety"},{"DocComment":""},{"DocComment":" Types implementing this trait must be primitives that are valid when zeroed."},{"DocComment":""},{"DocComment":" The associated `Self::NonZeroInner` type must have the same size+align as `Self`,"},{"DocComment":" but with a niche and bit validity making it so the following `transmutes` are sound:"},{"DocComment":""},{"DocComment":" - `Self::NonZeroInner` to `Option`"},{"DocComment":" - `Option` to `Self`"},{"DocComment":""},{"DocComment":" (And, consequently, `Self::NonZeroInner` to `Self`.)"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_NonZeroInner"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":43,"beg":{"line":34,"col":44},"end":{"line":34,"col":48}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":43,"beg":{"line":34,"col":51},"end":{"line":34,"col":66}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":48,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":2,"span":{"data":{"file_id":43,"beg":{"line":36,"col":31},"end":{"line":36,"col":35}},"generated_from_span":null},"origin":{"TraitItem":0},"trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":31,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]}],"span":{"data":{"file_id":38,"beg":{"line":283,"col":0},"end":{"line":283,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conversion into an [`Iterator`]."},{"DocComment":""},{"DocComment":" By implementing `IntoIterator` for a type, you define how it will be"},{"DocComment":" converted to an iterator. This is common for types which describe a"},{"DocComment":" collection of some kind."},{"DocComment":""},{"DocComment":" One benefit of implementing `IntoIterator` is that your type will [work"},{"DocComment":" with Rust's `for` loop syntax](crate::iter#for-loops-and-intoiterator)."},{"DocComment":""},{"DocComment":" See also: [`FromIterator`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"},{"DocComment":" Implementing `IntoIterator` for your type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // and we'll implement IntoIterator"},{"DocComment":" impl IntoIterator for MyCollection {"},{"DocComment":" type Item = i32;"},{"DocComment":" type IntoIter = std::vec::IntoIter;"},{"DocComment":""},{"DocComment":" fn into_iter(self) -> Self::IntoIter {"},{"DocComment":" self.0.into_iter()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Now we can make a new collection..."},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" // ... add some stuff to it ..."},{"DocComment":" c.add(0);"},{"DocComment":" c.add(1);"},{"DocComment":" c.add(2);"},{"DocComment":""},{"DocComment":" // ... and then turn it into an Iterator:"},{"DocComment":" for (i, n) in c.into_iter().enumerate() {"},{"DocComment":" assert_eq!(i as i32, n);"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It is common to use `IntoIterator` as a trait bound. This allows"},{"DocComment":" the input collection type to change, so long as it is still an"},{"DocComment":" iterator. Additional bounds can be specified by restricting on"},{"DocComment":" `Item`:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" fn collect_as_strings(collection: T) -> Vec"},{"DocComment":" where"},{"DocComment":" T: IntoIterator,"},{"DocComment":" T::Item: std::fmt::Debug,"},{"DocComment":" {"},{"DocComment":" collection"},{"DocComment":" .into_iter()"},{"DocComment":" .map(|item| format!(\"{item:?}\"))"},{"DocComment":" .collect()"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"IntoIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Item"},{"index":2,"name":"Self_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":291,"col":19},"end":{"line":291,"col":46}},"generated_from_span":null},"origin":{"TraitItem":1},"trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10547},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null,null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"into_iter","attr_info":{"attributes":[{"DocComment":" Creates an iterator from a value."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"Deduplicated":10547}},"item":{"id":340,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10614,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[31,0]}}],"vtable":{"id":{"Adt":67},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":32,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]}],"span":{"data":{"file_id":50,"beg":{"line":163,"col":0},"end":{"line":163,"col":48}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The version of the call operator that takes a mutable receiver."},{"DocComment":""},{"DocComment":" Instances of `FnMut` can be called repeatedly and may mutate state."},{"DocComment":""},{"DocComment":" `FnMut` is implemented automatically by closures which take mutable"},{"DocComment":" references to captured variables, as well as all types that implement"},{"DocComment":" [`Fn`], e.g., (safe) [function pointers] (since `FnMut` is a supertrait of"},{"DocComment":" [`Fn`]). Additionally, for any type `F` that implements `FnMut`, `&mut F`"},{"DocComment":" implements `FnMut`, too."},{"DocComment":""},{"DocComment":" Since [`FnOnce`] is a supertrait of `FnMut`, any instance of `FnMut` can be"},{"DocComment":" used where a [`FnOnce`] is expected, and since [`Fn`] is a subtrait of"},{"DocComment":" `FnMut`, any instance of [`Fn`] can be used where `FnMut` is expected."},{"DocComment":""},{"DocComment":" Use `FnMut` as a bound when you want to accept a parameter of function-like"},{"DocComment":" type and need to call it repeatedly, while allowing it to mutate state."},{"DocComment":" If you don't want the parameter to mutate state, use [`Fn`] as a"},{"DocComment":" bound; if you don't need to call it repeatedly, use [`FnOnce`]."},{"DocComment":""},{"DocComment":" See the [chapter on closures in *The Rust Programming Language*][book] for"},{"DocComment":" some more information on this topic."},{"DocComment":""},{"DocComment":" Also of note is the special syntax for `Fn` traits (e.g."},{"DocComment":" `Fn(usize, bool) -> usize`). Those interested in the technical details of"},{"DocComment":" this can refer to [the relevant section in the *Rustonomicon*][nomicon]."},{"DocComment":""},{"DocComment":" [book]: ../../book/ch13-01-closures.html"},{"DocComment":" [function pointers]: fn"},{"DocComment":" [nomicon]: ../../nomicon/hrtb.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## Calling a mutably capturing closure"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x = 5;"},{"DocComment":" {"},{"DocComment":" let mut square_x = || x *= x;"},{"DocComment":" square_x();"},{"DocComment":" }"},{"DocComment":" assert_eq!(x, 25);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Using a `FnMut` parameter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" fn do_twice(mut func: F)"},{"DocComment":" where F: FnMut()"},{"DocComment":" {"},{"DocComment":" func();"},{"DocComment":" func();"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut x: usize = 1;"},{"DocComment":" {"},{"DocComment":" let add_two_to_x = || x += 2;"},{"DocComment":" do_twice(add_two_to_x);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(x, 5);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"fn_mut"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Self_Clause0_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":50,"beg":{"line":163,"col":36},"end":{"line":163,"col":48}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"call_mut","attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":10577},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"item":{"id":341,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10615,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[32,0]}}],"vtable":{"id":{"Adt":68},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":33,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]}],"span":{"data":{"file_id":50,"beg":{"line":242,"col":0},"end":{"line":242,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The version of the call operator that takes a by-value receiver."},{"DocComment":""},{"DocComment":" Instances of `FnOnce` can be called, but might not be callable multiple"},{"DocComment":" times. Because of this, if the only thing known about a type is that it"},{"DocComment":" implements `FnOnce`, it can only be called once."},{"DocComment":""},{"DocComment":" `FnOnce` is implemented automatically by closures that might consume captured"},{"DocComment":" variables, as well as all types that implement [`FnMut`], e.g., (safe)"},{"DocComment":" [function pointers] (since `FnOnce` is a supertrait of [`FnMut`])."},{"DocComment":""},{"DocComment":" Since both [`Fn`] and [`FnMut`] are subtraits of `FnOnce`, any instance of"},{"DocComment":" [`Fn`] or [`FnMut`] can be used where a `FnOnce` is expected."},{"DocComment":""},{"DocComment":" Use `FnOnce` as a bound when you want to accept a parameter of function-like"},{"DocComment":" type and only need to call it once. If you need to call the parameter"},{"DocComment":" repeatedly, use [`FnMut`] as a bound; if you also need it to not mutate"},{"DocComment":" state, use [`Fn`]."},{"DocComment":""},{"DocComment":" See the [chapter on closures in *The Rust Programming Language*][book] for"},{"DocComment":" some more information on this topic."},{"DocComment":""},{"DocComment":" Also of note is the special syntax for `Fn` traits (e.g."},{"DocComment":" `Fn(usize, bool) -> usize`). Those interested in the technical details of"},{"DocComment":" this can refer to [the relevant section in the *Rustonomicon*][nomicon]."},{"DocComment":""},{"DocComment":" [book]: ../../book/ch13-01-closures.html"},{"DocComment":" [function pointers]: fn"},{"DocComment":" [nomicon]: ../../nomicon/hrtb.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## Using a `FnOnce` parameter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" fn consume_with_relish(func: F)"},{"DocComment":" where F: FnOnce() -> String"},{"DocComment":" {"},{"DocComment":" // `func` consumes its captured variables, so it cannot be run more"},{"DocComment":" // than once."},{"DocComment":" println!(\"Consumed: {}\", func());"},{"DocComment":""},{"DocComment":" println!(\"Delicious!\");"},{"DocComment":""},{"DocComment":" // Attempting to invoke `func()` again will throw a `use of moved"},{"DocComment":" // value` error for `func`."},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let x = String::from(\"x\");"},{"DocComment":" let consume_and_return_x = move || x;"},{"DocComment":" consume_with_relish(consume_and_return_x);"},{"DocComment":""},{"DocComment":" // `consume_and_return_x` can no longer be invoked at this point"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"fn_once"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"call_once","attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"item":{"id":342,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10616,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[33,0]}}],"vtable":{"id":{"Adt":69},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":34,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]}],"span":{"data":{"file_id":38,"beg":{"line":134,"col":0},"end":{"line":134,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conversion from an [`Iterator`]."},{"DocComment":""},{"DocComment":" By implementing `FromIterator` for a type, you define how it will be"},{"DocComment":" created from an iterator. This is common for types which describe a"},{"DocComment":" collection of some kind."},{"DocComment":""},{"DocComment":" If you want to create a collection from the contents of an iterator, the"},{"DocComment":" [`Iterator::collect()`] method is preferred. However, when you need to"},{"DocComment":" specify the container type, [`FromIterator::from_iter()`] can be more"},{"DocComment":" readable than using a turbofish (e.g. `::>()`). See the"},{"DocComment":" [`Iterator::collect()`] documentation for more examples of its use."},{"DocComment":""},{"DocComment":" See also: [`IntoIterator`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Using [`Iterator::collect()`] to implicitly use `FromIterator`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v: Vec = five_fives.collect();"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Using [`FromIterator::from_iter()`] as a more readable alternative to"},{"DocComment":" [`Iterator::collect()`]:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::collections::VecDeque;"},{"DocComment":" let first = (0..10).collect::>();"},{"DocComment":" let second = VecDeque::from_iter(0..10);"},{"DocComment":""},{"DocComment":" assert_eq!(first, second);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Implementing `FromIterator` for your type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // and we'll implement FromIterator"},{"DocComment":" impl FromIterator for MyCollection {"},{"DocComment":" fn from_iter>(iter: I) -> Self {"},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" for i in iter {"},{"DocComment":" c.add(i);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" c"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Now we can make a new iterator..."},{"DocComment":" let iter = (0..5).into_iter();"},{"DocComment":""},{"DocComment":" // ... and make a MyCollection out of it"},{"DocComment":" let c = MyCollection::from_iter(iter);"},{"DocComment":""},{"DocComment":" assert_eq!(c.0, vec![0, 1, 2, 3, 4]);"},{"DocComment":""},{"DocComment":" // collect works too!"},{"DocComment":""},{"DocComment":" let iter = (0..5).into_iter();"},{"DocComment":" let c: MyCollection = iter.collect();"},{"DocComment":""},{"DocComment":" assert_eq!(c.0, vec![0, 1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"FromIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":152,"col":20},"end":{"line":152,"col":42}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10512},{"HashConsedValue":[1459,{"TypeVar":{"Bound":[1,1]}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_iter","attr_info":{"attributes":[{"DocComment":" Creates a value from an iterator."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1436}],"output":{"Deduplicated":10511}},"item":{"id":343,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":1436},{"HashConsedValue":[1458,{"TypeVar":{"Bound":[0,1]}}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10617,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":34,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10618,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10512},{"Deduplicated":1459}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[34,0]}}],"vtable":null},{"def_id":35,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]}],"span":{"data":{"file_id":66,"beg":{"line":133,"col":0},"end":{"line":133,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The `?` operator and `try {}` blocks."},{"DocComment":""},{"DocComment":" `try_*` methods typically involve a type implementing this trait. For"},{"DocComment":" example, the closures passed to [`Iterator::try_fold`] and"},{"DocComment":" [`Iterator::try_for_each`] must return such a type."},{"DocComment":""},{"DocComment":" `Try` types are typically those containing two or more categories of values,"},{"DocComment":" some subset of which are so commonly handled via early returns that it's"},{"DocComment":" worth providing a terse (but still visible) syntax to make that easy."},{"DocComment":""},{"DocComment":" This is most often seen for error handling with [`Result`] and [`Option`]."},{"DocComment":" The quintessential implementation of this trait is on [`ControlFlow`]."},{"DocComment":""},{"DocComment":" # Using `Try` in Generic Code"},{"DocComment":""},{"DocComment":" `Iterator::try_fold` was stabilized to call back in Rust 1.27, but"},{"DocComment":" this trait is much newer. To illustrate the various associated types and"},{"DocComment":" methods, let's implement our own version."},{"DocComment":""},{"DocComment":" As a reminder, an infallible version of a fold looks something like this:"},{"DocComment":" ```"},{"DocComment":" fn simple_fold("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> A,"},{"DocComment":" ) -> A {"},{"DocComment":" for x in iter {"},{"DocComment":" accum = f(accum, x);"},{"DocComment":" }"},{"DocComment":" accum"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" So instead of `f` returning just an `A`, we'll need it to return some other"},{"DocComment":" type that produces an `A` in the \"don't short circuit\" path. Conveniently,"},{"DocComment":" that's also the type we need to return from the function."},{"DocComment":""},{"DocComment":" Let's add a new generic parameter `R` for that type, and bound it to the"},{"DocComment":" output type that we want:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::Try;"},{"DocComment":" fn simple_try_fold_1>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" todo!()"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If we get through the entire iterator, we need to wrap up the accumulator"},{"DocComment":" into the return type using [`Try::from_output`]:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::{ControlFlow, Try};"},{"DocComment":" fn simple_try_fold_2>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" let cf = f(accum, x).branch();"},{"DocComment":" match cf {"},{"DocComment":" ControlFlow::Continue(a) => accum = a,"},{"DocComment":" ControlFlow::Break(_) => todo!(),"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" We'll also need [`FromResidual::from_residual`] to turn the residual back"},{"DocComment":" into the original type. But because it's a supertrait of `Try`, we don't"},{"DocComment":" need to mention it in the bounds. All types which implement `Try` can be"},{"DocComment":" recreated from their corresponding residual, so we'll just call it:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::{ControlFlow, Try};"},{"DocComment":" pub fn simple_try_fold_3>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" let cf = f(accum, x).branch();"},{"DocComment":" match cf {"},{"DocComment":" ControlFlow::Continue(a) => accum = a,"},{"DocComment":" ControlFlow::Break(r) => return R::from_residual(r),"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" But this \"call `branch`, then `match` on it, and `return` if it was a"},{"DocComment":" `Break`\" is exactly what happens inside the `?` operator. So rather than"},{"DocComment":" do all this manually, we can just use `?` instead:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::Try;"},{"DocComment":" fn simple_try_fold>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" accum = f(accum, x)?;"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Try"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":66,"beg":{"line":133,"col":21},"end":{"line":133,"col":41}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"HashConsedValue":[10620,{"TraitType":[{"HashConsedValue":[10619,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]},1,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":66,"beg":{"line":160,"col":19},"end":{"line":160,"col":41}},"generated_from_span":null},"origin":{"TraitItem":1},"trait_":{"regions":[],"skip_binder":{"id":36,"generics":{"regions":[],"types":[{"Deduplicated":10620},{"HashConsedValue":[10621,{"TraitType":[{"Deduplicated":10619},0,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]},{"HashConsedValue":[10622,{"TraitType":[{"Deduplicated":10619},2,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Output","attr_info":{"attributes":[{"DocComment":" The type of the value produced by `?` when *not* short-circuiting."}],"inline":null,"rename":null,"public":false},"default":null,"implied_clauses":[]},"kind":{"TraitType":[35,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Residual","attr_info":{"attributes":[{"DocComment":" The type of the value passed to [`FromResidual::from_residual`]"},{"DocComment":" as part of `?` when short-circuiting."},{"DocComment":""},{"DocComment":" This represents the possible values of the `Self` type which are *not*"},{"DocComment":" represented by the `Output` type."},{"DocComment":""},{"DocComment":" # Note to Implementors"},{"DocComment":""},{"DocComment":" The choice of this type is critical to interconversion."},{"DocComment":" Unlike the `Output` type, which will often be a raw generic type,"},{"DocComment":" this type is typically a newtype of some sort to \"color\" the type"},{"DocComment":" so that it's distinguishable from the residuals of other types."},{"DocComment":""},{"DocComment":" This is why `Result::Residual` is not `E`, but `Result`."},{"DocComment":" That way it's distinct from `ControlFlow::Residual`, for example,"},{"DocComment":" and thus `?` on `ControlFlow` cannot be used in a method returning `Result`."},{"DocComment":""},{"DocComment":" If you're making a generic type `Foo` that implements `Try`,"},{"DocComment":" then typically you can use `Foo` as its `Residual`"},{"DocComment":" type: that type will have a \"hole\" in the correct place, and will maintain the"},{"DocComment":" \"foo-ness\" of the residual so other types need to opt-in to interconversion."}],"inline":null,"rename":null,"public":false},"default":null,"implied_clauses":[]},"kind":{"TraitType":[35,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Self_Clause1_TryType","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"default":null,"implied_clauses":[]},"kind":{"TraitType":[35,2]}}],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_output","attr_info":{"attributes":[{"DocComment":" Constructs the type from its `Output` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method"},{"DocComment":" such that applying the `?` operator will get back the original value:"},{"DocComment":" `Try::from_output(x).branch() --> ControlFlow::Continue(x)`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::Try;"},{"DocComment":""},{"DocComment":" assert_eq!( as Try>::from_output(3), Ok(3));"},{"DocComment":" assert_eq!( as Try>::from_output(4), Some(4));"},{"DocComment":" assert_eq!("},{"DocComment":" as Try>::from_output(5),"},{"DocComment":" std::ops::ControlFlow::Continue(5),"},{"DocComment":" );"},{"DocComment":""},{"DocComment":" # fn make_question_mark_work() -> Option<()> {"},{"DocComment":" assert_eq!(Option::from_output(4)?, 4);"},{"DocComment":" # None }"},{"DocComment":" # make_question_mark_work();"},{"DocComment":""},{"DocComment":" // This is used, for example, on the accumulator in `try_fold`:"},{"DocComment":" let r = std::iter::empty().try_fold(4, |_, ()| -> Option<_> { unreachable!() });"},{"DocComment":" assert_eq!(r, Some(4));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10621}],"output":{"Deduplicated":10511}},"item":{"id":344,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10619}]}}},"kind":{"TraitMethod":[35,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"branch","attr_info":{"attributes":[{"DocComment":" Used in `?` to decide whether the operator should produce a value"},{"DocComment":" (because this returned [`ControlFlow::Continue`])"},{"DocComment":" or propagate a value back to the caller"},{"DocComment":" (because this returned [`ControlFlow::Break`])."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, Try};"},{"DocComment":""},{"DocComment":" assert_eq!(Ok::<_, String>(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(Err::(3).branch(), ControlFlow::Break(Err(3)));"},{"DocComment":""},{"DocComment":" assert_eq!(Some(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(None::.branch(), ControlFlow::Break(None));"},{"DocComment":""},{"DocComment":" assert_eq!(ControlFlow::::Continue(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::Break(3).branch(),"},{"DocComment":" ControlFlow::Break(ControlFlow::Break(3)),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"HashConsedValue":[10623,{"Adt":{"id":{"Adt":70},"generics":{"regions":[],"types":[{"Deduplicated":10620},{"Deduplicated":10621}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":345,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10619}]}}},"kind":{"TraitMethod":[35,1]}}],"vtable":null},{"def_id":36,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Residual",0]}],"span":{"data":{"file_id":66,"beg":{"line":364,"col":0},"end":{"line":364,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Allows retrieving the canonical type implementing [`Try`] that has this type"},{"DocComment":" as its residual and allows it to hold an `O` as its output."},{"DocComment":""},{"DocComment":" If you think of the `Try` trait as splitting a type into its [`Try::Output`]"},{"DocComment":" and [`Try::Residual`] components, this allows putting them back together."},{"DocComment":""},{"DocComment":" For example,"},{"DocComment":" `Result: Try>`,"},{"DocComment":" and in the other direction,"},{"DocComment":" ` as Residual>::TryType = Result`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"O"},{"index":2,"name":"Self_TryType"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[{"regions":[],"skip_binder":{"trait_ref":{"HashConsedValue":[10625,{"kind":{"ParentClause":[{"HashConsedValue":[10624,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":36,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]},0]},"trait_decl_ref":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]},"type_id":0,"ty":{"Deduplicated":10512}}},{"regions":[],"skip_binder":{"trait_ref":{"Deduplicated":10625},"type_id":1,"ty":{"Deduplicated":10511}}}]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":66,"beg":{"line":368,"col":18},"end":{"line":368,"col":58}},"generated_from_span":null},"origin":{"TraitItem":0},"trait_":{"regions":[],"skip_binder":{"id":35,"generics":{"regions":[],"types":[{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":37,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]}],"span":{"data":{"file_id":38,"beg":{"line":397,"col":0},"end":{"line":397,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Extend a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" Iterators produce a series of values, and collections can also be thought"},{"DocComment":" of as a series of values. The `Extend` trait bridges this gap, allowing you"},{"DocComment":" to extend a collection by including the contents of that iterator. When"},{"DocComment":" extending a collection with an already existing key, that entry is updated"},{"DocComment":" or, in the case of collections that permit multiple entries with equal"},{"DocComment":" keys, that entry is inserted."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"The first three letters are: \");"},{"DocComment":""},{"DocComment":" message.extend(&['a', 'b', 'c']);"},{"DocComment":""},{"DocComment":" assert_eq!(\"abc\", &message[29..32]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Implementing `Extend`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // since MyCollection has a list of i32s, we implement Extend for i32"},{"DocComment":" impl Extend for MyCollection {"},{"DocComment":""},{"DocComment":" // This is a bit simpler with the concrete type signature: we can call"},{"DocComment":" // extend on anything which can be turned into an Iterator which gives"},{"DocComment":" // us i32s. Because we need i32s to put into MyCollection."},{"DocComment":" fn extend>(&mut self, iter: T) {"},{"DocComment":""},{"DocComment":" // The implementation is very straightforward: loop through the"},{"DocComment":" // iterator, and add() each element to ourselves."},{"DocComment":" for elem in iter {"},{"DocComment":" self.add(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" c.add(5);"},{"DocComment":" c.add(6);"},{"DocComment":" c.add(7);"},{"DocComment":""},{"DocComment":" // let's extend our collection with three more numbers"},{"DocComment":" c.extend(vec![1, 2, 3]);"},{"DocComment":""},{"DocComment":" // we've added these elements onto the end"},{"DocComment":" assert_eq!(\"MyCollection([5, 6, 7, 1, 2, 3])\", format!(\"{c:?}\"));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":416,"col":17},"end":{"line":416,"col":39}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10512},{"Deduplicated":1459}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"extend","attr_info":{"attributes":[{"DocComment":" Extends a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" As this is the only required method for this trait, the [trait-level] docs"},{"DocComment":" contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: Extend"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"abc\");"},{"DocComment":""},{"DocComment":" message.extend(['d', 'e', 'f'].iter());"},{"DocComment":""},{"DocComment":" assert_eq!(\"abcdef\", &message);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577},{"Deduplicated":1436}],"output":{"Deduplicated":1443}},"item":{"id":346,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":1436},{"Deduplicated":1458}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10626,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":37,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]},{"Deduplicated":10618}]}}},"kind":{"TraitMethod":[37,0]}},null,null,null],"vtable":null},{"def_id":38,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]}],"span":{"data":{"file_id":67,"beg":{"line":43,"col":0},"end":{"line":43,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator able to yield elements from both ends."},{"DocComment":""},{"DocComment":" Something that implements `DoubleEndedIterator` has one extra capability"},{"DocComment":" over something that implements [`Iterator`]: the ability to also take"},{"DocComment":" `Item`s from the back, as well as the front."},{"DocComment":""},{"DocComment":" It is important to note that both back and forth work on the same range,"},{"DocComment":" and do not cross: iteration is over when they meet in the middle."},{"DocComment":""},{"DocComment":" In a similar fashion to the [`Iterator`] protocol, once a"},{"DocComment":" `DoubleEndedIterator` returns [`None`] from a [`next_back()`], calling it"},{"DocComment":" again may or may not ever return [`Some`] again. [`next()`] and"},{"DocComment":" [`next_back()`] are interchangeable for this purpose."},{"DocComment":""},{"DocComment":" [`next_back()`]: DoubleEndedIterator::next_back"},{"DocComment":" [`next()`]: Iterator::next"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"DoubleEndedIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":67,"beg":{"line":43,"col":37},"end":{"line":43,"col":53}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"next_back","attr_info":{"attributes":[{"DocComment":" Removes and returns an element from the end of the iterator."},{"DocComment":""},{"DocComment":" Returns `None` when there are no more elements."},{"DocComment":""},{"DocComment":" The [trait-level] docs contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: DoubleEndedIterator"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Remarks"},{"DocComment":""},{"DocComment":" The elements yielded by `DoubleEndedIterator`'s methods may differ from"},{"DocComment":" the ones yielded by [`Iterator`]'s methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let vec = vec![(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b')];"},{"DocComment":" let uniq_by_fst_comp = || {"},{"DocComment":" let mut seen = std::collections::HashSet::new();"},{"DocComment":" vec.iter().copied().filter(move |x| seen.insert(x.0))"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" assert_eq!(uniq_by_fst_comp().last(), Some((2, 'a')));"},{"DocComment":" assert_eq!(uniq_by_fst_comp().next_back(), Some((2, 'b')));"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().fold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(1, 'a'), (2, 'a')]"},{"DocComment":" );"},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().rfold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(2, 'b'), (1, 'c')]"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10577}],"output":{"Deduplicated":10598}},"item":{"id":350,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10627,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":38,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[38,0]}},null,null,null,null,null],"vtable":{"id":{"Adt":71},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":39,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]}],"span":{"data":{"file_id":68,"beg":{"line":86,"col":0},"end":{"line":86,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that knows its exact length."},{"DocComment":""},{"DocComment":" Many [`Iterator`]s don't know how many times they will iterate, but some do."},{"DocComment":" If an iterator knows how many times it can iterate, providing access to"},{"DocComment":" that information can be useful. For example, if you want to iterate"},{"DocComment":" backwards, a good start is to know where the end is."},{"DocComment":""},{"DocComment":" When implementing an `ExactSizeIterator`, you must also implement"},{"DocComment":" [`Iterator`]. When doing so, the implementation of [`Iterator::size_hint`]"},{"DocComment":" *must* return the exact size of the iterator."},{"DocComment":""},{"DocComment":" The [`len`] method has a default implementation, so you usually shouldn't"},{"DocComment":" implement it. However, you may be able to provide a more performant"},{"DocComment":" implementation than the default, so overriding it in this case makes sense."},{"DocComment":""},{"DocComment":" Note that this trait is a safe trait and as such does *not* and *cannot*"},{"DocComment":" guarantee that the returned length is correct. This means that `unsafe`"},{"DocComment":" code **must not** rely on the correctness of [`Iterator::size_hint`]. The"},{"DocComment":" unstable and unsafe [`TrustedLen`](super::marker::TrustedLen) trait gives"},{"DocComment":" this additional guarantee."},{"DocComment":""},{"DocComment":" [`len`]: ExactSizeIterator::len"},{"DocComment":""},{"DocComment":" # When *shouldn't* an adapter be `ExactSizeIterator`?"},{"DocComment":""},{"DocComment":" If an adapter makes an iterator *longer*, then it's usually incorrect for"},{"DocComment":" that adapter to implement `ExactSizeIterator`. The inner exact-sized"},{"DocComment":" iterator might already be `usize::MAX`-long, and thus the length of the"},{"DocComment":" longer adapted iterator would no longer be exactly representable in `usize`."},{"DocComment":""},{"DocComment":" This is why [`Chain`](crate::iter::Chain) isn't `ExactSizeIterator`,"},{"DocComment":" even when `A` and `B` are both `ExactSizeIterator`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // a finite range knows exactly how many times it will iterate"},{"DocComment":" let five = 0..5;"},{"DocComment":""},{"DocComment":" assert_eq!(5, five.len());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" In the [module-level docs], we implemented an [`Iterator`], `Counter`."},{"DocComment":" Let's implement `ExactSizeIterator` for it as well:"},{"DocComment":""},{"DocComment":" [module-level docs]: crate::iter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # struct Counter {"},{"DocComment":" # count: usize,"},{"DocComment":" # }"},{"DocComment":" # impl Counter {"},{"DocComment":" # fn new() -> Counter {"},{"DocComment":" # Counter { count: 0 }"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" # impl Iterator for Counter {"},{"DocComment":" # type Item = usize;"},{"DocComment":" # fn next(&mut self) -> Option {"},{"DocComment":" # self.count += 1;"},{"DocComment":" # if self.count < 6 {"},{"DocComment":" # Some(self.count)"},{"DocComment":" # } else {"},{"DocComment":" # None"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" impl ExactSizeIterator for Counter {"},{"DocComment":" // We can easily calculate the remaining number of iterations."},{"DocComment":" fn len(&self) -> usize {"},{"DocComment":" 5 - self.count"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // And now we can use it!"},{"DocComment":""},{"DocComment":" let mut counter = Counter::new();"},{"DocComment":""},{"DocComment":" assert_eq!(5, counter.len());"},{"DocComment":" let _ = counter.next();"},{"DocComment":" assert_eq!(4, counter.len());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":68,"beg":{"line":86,"col":29},"end":{"line":86,"col":37}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[null,null],"vtable":{"id":{"Adt":72},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":40,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]}],"span":{"data":{"file_id":9,"beg":{"line":982,"col":0},"end":{"line":982,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for types that form a [total order](https://en.wikipedia.org/wiki/Total_order)."},{"DocComment":""},{"DocComment":" Implementations must be consistent with the [`PartialOrd`] implementation, and ensure `max`,"},{"DocComment":" `min`, and `clamp` are consistent with `cmp`:"},{"DocComment":""},{"DocComment":" - `partial_cmp(a, b) == Some(cmp(a, b))`."},{"DocComment":" - `max(a, b) == max_by(a, b, cmp)` (ensured by the default implementation)."},{"DocComment":" - `min(a, b) == min_by(a, b, cmp)` (ensured by the default implementation)."},{"DocComment":" - For `a.clamp(min, max)`, see the [method docs](#method.clamp) (ensured by the default"},{"DocComment":" implementation)."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Corollaries"},{"DocComment":""},{"DocComment":" From the above and the requirements of `PartialOrd`, it follows that for all `a`, `b` and `c`:"},{"DocComment":""},{"DocComment":" - exactly one of `a < b`, `a == b` or `a > b` is true; and"},{"DocComment":" - `<` is transitive: `a < b` and `b < c` implies `a < c`. The same must hold for both `==` and"},{"DocComment":" `>`."},{"DocComment":""},{"DocComment":" Mathematically speaking, the `<` operator defines a strict [weak order]. In cases where `==`"},{"DocComment":" conforms to mathematical equality, it also defines a strict [total order]."},{"DocComment":""},{"DocComment":" [weak order]: https://en.wikipedia.org/wiki/Weak_ordering"},{"DocComment":" [total order]: https://en.wikipedia.org/wiki/Total_order"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`."},{"DocComment":""},{"DocComment":" When `derive`d on structs, it will produce a"},{"DocComment":" [lexicographic](https://en.wikipedia.org/wiki/Lexicographic_order) ordering based on the"},{"DocComment":" top-to-bottom declaration order of the struct's members."},{"DocComment":""},{"DocComment":" When `derive`d on enums, variants are ordered primarily by their discriminants. Secondarily,"},{"DocComment":" they are ordered by their fields. By default, the discriminant is smallest for variants at the"},{"DocComment":" top, and largest for variants at the bottom. Here's an example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, Eq, PartialOrd, Ord)]"},{"DocComment":" enum E {"},{"DocComment":" Top,"},{"DocComment":" Bottom,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Top < E::Bottom);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, manually setting the discriminants can override this default behavior:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, Eq, PartialOrd, Ord)]"},{"DocComment":" enum E {"},{"DocComment":" Top = 2,"},{"DocComment":" Bottom = 1,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Bottom < E::Top);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Lexicographical comparison"},{"DocComment":""},{"DocComment":" Lexicographical comparison is an operation with the following properties:"},{"DocComment":" - Two sequences are compared element by element."},{"DocComment":" - The first mismatching element defines which sequence is lexicographically less or greater"},{"DocComment":" than the other."},{"DocComment":" - If one sequence is a prefix of another, the shorter sequence is lexicographically less than"},{"DocComment":" the other."},{"DocComment":" - If two sequences have equivalent elements and are of the same length, then the sequences are"},{"DocComment":" lexicographically equal."},{"DocComment":" - An empty sequence is lexicographically less than any non-empty sequence."},{"DocComment":" - Two empty sequences are lexicographically equal."},{"DocComment":""},{"DocComment":" ## How can I implement `Ord`?"},{"DocComment":""},{"DocComment":" `Ord` requires that the type also be [`PartialOrd`], [`PartialEq`], and [`Eq`]."},{"DocComment":""},{"DocComment":" Because `Ord` implies a stronger ordering relationship than [`PartialOrd`], and both `Ord` and"},{"DocComment":" [`PartialOrd`] must agree, you must choose how to implement `Ord` **first**. You can choose to"},{"DocComment":" derive it, or implement it manually. If you derive it, you should derive all four traits. If you"},{"DocComment":" implement it manually, you should manually implement all four traits, based on the"},{"DocComment":" implementation of `Ord`."},{"DocComment":""},{"DocComment":" Here's an example where you want to define the `Character` comparison by `health` and"},{"DocComment":" `experience` only, disregarding the field `mana`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" mana: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> Ordering {"},{"DocComment":" self.experience"},{"DocComment":" .cmp(&other.experience)"},{"DocComment":" .then(self.health.cmp(&other.health))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.health == other.health && self.experience == other.experience"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If all you need is to `slice::sort` a type by a field value, it can be simpler to use"},{"DocComment":" `slice::sort_by_key`."},{"DocComment":""},{"DocComment":" ## Examples of incorrect `Ord` implementations"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> std::cmp::Ordering {"},{"DocComment":" if self.health < other.health {"},{"DocComment":" Ordering::Less"},{"DocComment":" } else if self.health > other.health {"},{"DocComment":" Ordering::Greater"},{"DocComment":" } else {"},{"DocComment":" Ordering::Equal"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.health == other.health"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":""},{"DocComment":" let a = Character { health: 4.5 };"},{"DocComment":" let b = Character { health: f32::NAN };"},{"DocComment":""},{"DocComment":" // Mistake: floating-point values do not form a total order and using the built-in comparison"},{"DocComment":" // operands to implement `Ord` irregardless of that reality does not change it. Use"},{"DocComment":" // `f32::total_cmp` if you need a total order for floating-point values."},{"DocComment":""},{"DocComment":" // Reflexivity requirement of `Ord` is not given."},{"DocComment":" assert!(a == a);"},{"DocComment":" assert!(b != b);"},{"DocComment":""},{"DocComment":" // Antisymmetry requirement of `Ord` is not given. Only one of a < c and c < a is allowed to be"},{"DocComment":" // true, not both or neither."},{"DocComment":" assert_eq!((a < b) as u8 + (b < a) as u8, 0);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> std::cmp::Ordering {"},{"DocComment":" if self.health < 50 {"},{"DocComment":" self.health.cmp(&other.health)"},{"DocComment":" } else {"},{"DocComment":" self.experience.cmp(&other.experience)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // For performance reasons implementing `PartialEq` this way is not the idiomatic way, but it"},{"DocComment":" // ensures consistent behavior between `PartialEq`, `PartialOrd` and `Ord` in this example."},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.cmp(other) == Ordering::Equal"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":""},{"DocComment":" let a = Character {"},{"DocComment":" health: 3,"},{"DocComment":" experience: 5,"},{"DocComment":" };"},{"DocComment":" let b = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 77,"},{"DocComment":" };"},{"DocComment":" let c = Character {"},{"DocComment":" health: 143,"},{"DocComment":" experience: 2,"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" // Mistake: The implementation of `Ord` compares different fields depending on the value of"},{"DocComment":" // `self.health`, the resulting order is not total."},{"DocComment":""},{"DocComment":" // Transitivity requirement of `Ord` is not given. If a is smaller than b and b is smaller than"},{"DocComment":" // c, by transitive property a must also be smaller than c."},{"DocComment":" assert!(a < b && b < c && c < a);"},{"DocComment":""},{"DocComment":" // Antisymmetry requirement of `Ord` is not given. Only one of a < c and c < a is allowed to be"},{"DocComment":" // true, not both or neither."},{"DocComment":" assert_eq!((a < c) as u8 + (c < a) as u8, 2);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The documentation of [`PartialOrd`] contains further examples, for example it's wrong for"},{"DocComment":" [`PartialOrd`] and [`PartialEq`] to disagree."},{"DocComment":""},{"DocComment":" [`cmp`]: Ord::cmp"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Ord"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":982,"col":21},"end":{"line":982,"col":31}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":9,"beg":{"line":982,"col":34},"end":{"line":982,"col":58}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"cmp","attr_info":{"attributes":[{"DocComment":" This method returns an [`Ordering`] between `self` and `other`."},{"DocComment":""},{"DocComment":" By convention, `self.cmp(&other)` returns the ordering matching the expression"},{"DocComment":" `self other` if true."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(5.cmp(&10), Ordering::Less);"},{"DocComment":" assert_eq!(10.cmp(&5), Ordering::Greater);"},{"DocComment":" assert_eq!(5.cmp(&5), Ordering::Equal);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"Deduplicated":10573}],"output":{"Deduplicated":6088}},"item":{"id":358,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10628,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[40,0]}},null,null,null],"vtable":null},{"def_id":41,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]}],"span":{"data":{"file_id":24,"beg":{"line":40,"col":0},"end":{"line":40,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait to represent types that can be created by multiplying elements of an"},{"DocComment":" iterator."},{"DocComment":""},{"DocComment":" This trait is used to implement [`Iterator::product()`]. Types which implement"},{"DocComment":" this trait can be generated by using the [`product()`] method on an iterator."},{"DocComment":" Like [`FromIterator`], this trait should rarely be called directly."},{"DocComment":""},{"DocComment":" [`product()`]: Iterator::product"},{"DocComment":" [`FromIterator`]: iter::FromIterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":24,"beg":{"line":44,"col":18},"end":{"line":44,"col":36}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"product","attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by multiplying"},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1436}],"output":{"Deduplicated":10511}},"item":{"id":362,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10629,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":41,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]},{"Deduplicated":10597}]}}},"kind":{"TraitMethod":[41,0]}}],"vtable":null},{"def_id":42,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]}],"span":{"data":{"file_id":9,"beg":{"line":1366,"col":0},"end":{"line":1367,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for types that form a [partial order](https://en.wikipedia.org/wiki/Partial_order)."},{"DocComment":""},{"DocComment":" The `lt`, `le`, `gt`, and `ge` methods of this trait can be called using the `<`, `<=`, `>`, and"},{"DocComment":" `>=` operators, respectively."},{"DocComment":""},{"DocComment":" This trait should **only** contain the comparison logic for a type **if one plans on only"},{"DocComment":" implementing `PartialOrd` but not [`Ord`]**. Otherwise the comparison logic should be in [`Ord`]"},{"DocComment":" and this trait implemented with `Some(self.cmp(other))`."},{"DocComment":""},{"DocComment":" The methods of this trait must be consistent with each other and with those of [`PartialEq`]."},{"DocComment":" The following conditions must hold:"},{"DocComment":""},{"DocComment":" 1. `a == b` if and only if `partial_cmp(a, b) == Some(Equal)`."},{"DocComment":" 2. `a < b` if and only if `partial_cmp(a, b) == Some(Less)`"},{"DocComment":" 3. `a > b` if and only if `partial_cmp(a, b) == Some(Greater)`"},{"DocComment":" 4. `a <= b` if and only if `a < b || a == b`"},{"DocComment":" 5. `a >= b` if and only if `a > b || a == b`"},{"DocComment":" 6. `a != b` if and only if `!(a == b)`."},{"DocComment":""},{"DocComment":" Conditions 2–5 above are ensured by the default implementation. Condition 6 is already ensured"},{"DocComment":" by [`PartialEq`]."},{"DocComment":""},{"DocComment":" If [`Ord`] is also implemented for `Self` and `Rhs`, it must also be consistent with"},{"DocComment":" `partial_cmp` (see the documentation of that trait for the exact requirements). It's easy to"},{"DocComment":" accidentally make them disagree by deriving some of the traits and manually implementing others."},{"DocComment":""},{"DocComment":" The comparison relations must satisfy the following conditions (for all `a`, `b`, `c` of type"},{"DocComment":" `A`, `B`, `C`):"},{"DocComment":""},{"DocComment":" - **Transitivity**: if `A: PartialOrd` and `B: PartialOrd` and `A: PartialOrd`, then `a"},{"DocComment":" < b` and `b < c` implies `a < c`. The same must hold for both `==` and `>`. This must also"},{"DocComment":" work for longer chains, such as when `A: PartialOrd`, `B: PartialOrd`, `C:"},{"DocComment":" PartialOrd`, and `A: PartialOrd` all exist."},{"DocComment":" - **Duality**: if `A: PartialOrd` and `B: PartialOrd`, then `a < b` if and only if `b >"},{"DocComment":" a`."},{"DocComment":""},{"DocComment":" Note that the `B: PartialOrd` (dual) and `A: PartialOrd` (transitive) impls are not forced"},{"DocComment":" to exist, but these requirements apply whenever they do exist."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Cross-crate considerations"},{"DocComment":""},{"DocComment":" Upholding the requirements stated above can become tricky when one crate implements `PartialOrd`"},{"DocComment":" for a type of another crate (i.e., to allow comparing one of its own types with a type from the"},{"DocComment":" standard library). The recommendation is to never implement this trait for a foreign type. In"},{"DocComment":" other words, such a crate should do `impl PartialOrd for LocalType`, but it should"},{"DocComment":" *not* do `impl PartialOrd for ForeignType`."},{"DocComment":""},{"DocComment":" This avoids the problem of transitive chains that criss-cross crate boundaries: for all local"},{"DocComment":" types `T`, you may assume that no other crate will add `impl`s that allow comparing `T < U`. In"},{"DocComment":" other words, if other crates add `impl`s that allow building longer transitive chains `U1 < ..."},{"DocComment":" < T < V1 < ...`, then all the types that appear to the right of `T` must be types that the crate"},{"DocComment":" defining `T` already knows about. This rules out transitive chains where downstream crates can"},{"DocComment":" add new `impl`s that \"stitch together\" comparisons of foreign types in ways that violate"},{"DocComment":" transitivity."},{"DocComment":""},{"DocComment":" Not having such foreign `impl`s also avoids forward compatibility issues where one crate adding"},{"DocComment":" more `PartialOrd` implementations can cause build failures in downstream crates."},{"DocComment":""},{"DocComment":" ## Corollaries"},{"DocComment":""},{"DocComment":" The following corollaries follow from the above requirements:"},{"DocComment":""},{"DocComment":" - irreflexivity of `<` and `>`: `!(a < a)`, `!(a > a)`"},{"DocComment":" - transitivity of `>`: if `a > b` and `b > c` then `a > c`"},{"DocComment":" - duality of `partial_cmp`: `partial_cmp(a, b) == partial_cmp(b, a).map(Ordering::reverse)`"},{"DocComment":""},{"DocComment":" ## Strict and non-strict partial orders"},{"DocComment":""},{"DocComment":" The `<` and `>` operators behave according to a *strict* partial order. However, `<=` and `>=`"},{"DocComment":" do **not** behave according to a *non-strict* partial order. That is because mathematically, a"},{"DocComment":" non-strict partial order would require reflexivity, i.e. `a <= a` would need to be true for"},{"DocComment":" every `a`. This isn't always the case for types that implement `PartialOrd`, for example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = f64::NAN;"},{"DocComment":" assert_eq!(a <= a, false);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`."},{"DocComment":""},{"DocComment":" When `derive`d on structs, it will produce a"},{"DocComment":" [lexicographic](https://en.wikipedia.org/wiki/Lexicographic_order) ordering based on the"},{"DocComment":" top-to-bottom declaration order of the struct's members."},{"DocComment":""},{"DocComment":" When `derive`d on enums, variants are primarily ordered by their discriminants. Secondarily,"},{"DocComment":" they are ordered by their fields. By default, the discriminant is smallest for variants at the"},{"DocComment":" top, and largest for variants at the bottom. Here's an example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, PartialOrd)]"},{"DocComment":" enum E {"},{"DocComment":" Top,"},{"DocComment":" Bottom,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Top < E::Bottom);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, manually setting the discriminants can override this default behavior:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, PartialOrd)]"},{"DocComment":" enum E {"},{"DocComment":" Top = 2,"},{"DocComment":" Bottom = 1,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Bottom < E::Top);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I implement `PartialOrd`?"},{"DocComment":""},{"DocComment":" `PartialOrd` only requires implementation of the [`partial_cmp`] method, with the others"},{"DocComment":" generated from default implementations."},{"DocComment":""},{"DocComment":" However it remains possible to implement the others separately for types which do not have a"},{"DocComment":" total order. For example, for floating point numbers, `NaN < 0 == false` and `NaN >= 0 == false`"},{"DocComment":" (cf. IEEE 754-2008 section 5.11)."},{"DocComment":""},{"DocComment":" `PartialOrd` requires your type to be [`PartialEq`]."},{"DocComment":""},{"DocComment":" If your type is [`Ord`], you can implement [`partial_cmp`] by using [`cmp`]:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Person {"},{"DocComment":" id: u32,"},{"DocComment":" name: String,"},{"DocComment":" height: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Person {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Person {"},{"DocComment":" fn cmp(&self, other: &Self) -> Ordering {"},{"DocComment":" self.height.cmp(&other.height)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Person {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.height == other.height"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Person {}"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You may also find it useful to use [`partial_cmp`] on your type's fields. Here is an example of"},{"DocComment":" `Person` types who have a floating-point `height` field that is the only field to be used for"},{"DocComment":" sorting:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Person {"},{"DocComment":" id: u32,"},{"DocComment":" name: String,"},{"DocComment":" height: f64,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Person {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" self.height.partial_cmp(&other.height)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Person {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.height == other.height"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Examples of incorrect `PartialOrd` implementations"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(PartialEq, Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.health.cmp(&other.health))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let a = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 5,"},{"DocComment":" };"},{"DocComment":" let b = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 77,"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" // Mistake: `PartialEq` and `PartialOrd` disagree with each other."},{"DocComment":""},{"DocComment":" assert_eq!(a.partial_cmp(&b).unwrap(), Ordering::Equal); // a == b according to `PartialOrd`."},{"DocComment":" assert_ne!(a, b); // a != b according to `PartialEq`."},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: u32 = 0;"},{"DocComment":" let y: u32 = 1;"},{"DocComment":""},{"DocComment":" assert_eq!(x < y, true);"},{"DocComment":" assert_eq!(x.lt(&y), true);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`partial_cmp`]: PartialOrd::partial_cmp"},{"DocComment":" [`cmp`]: Ord::cmp"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"partial_ord"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":1367,"col":4},"end":{"line":1367,"col":26}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"partial_cmp","attr_info":{"attributes":[{"DocComment":" This method returns an ordering between `self` and `other` values if one exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&2.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Less));"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Equal));"},{"DocComment":""},{"DocComment":" let result = 2.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Greater));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" When comparison is impossible:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let result = f64::NAN.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, None);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569},{"Deduplicated":10571}],"output":{"Deduplicated":6382}},"item":{"id":363,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10630,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[42,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":{"Adt":73},"generics":{"regions":[],"types":[{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}},{"def_id":43,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]}],"span":{"data":{"file_id":48,"beg":{"line":576,"col":0},"end":{"line":576,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Like [`TrustedRandomAccess`] but without any of the requirements / guarantees around"},{"DocComment":" coercions to supertypes after `__iterator_get_unchecked` (they aren’t allowed here!), and"},{"DocComment":" without the requirement that subtypes / supertypes implement `TrustedRandomAccessNoCoerce`."},{"DocComment":""},{"DocComment":" This trait was created in PR #85874 to fix soundness issue #85873 without performance regressions."},{"DocComment":" It is subject to change as we might want to build a more generally useful (for performance"},{"DocComment":" optimizations) and more sophisticated trait or trait hierarchy that replaces or extends"},{"DocComment":" [`TrustedRandomAccess`] and `TrustedRandomAccessNoCoerce`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[{"name":"MAY_HAVE_SIDE_EFFECT","attr_info":{"attributes":[{"DocComment":" `true` if getting an iterator element may have side effects."},{"DocComment":" Remember to take inner iterators into account."}],"inline":null,"rename":null,"public":true},"ty":{"Deduplicated":1470},"default":null}],"types":[],"methods":[null],"vtable":null},{"def_id":44,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["Into",0]}],"span":{"data":{"file_id":21,"beg":{"line":450,"col":0},"end":{"line":450,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A value-to-value conversion that consumes the input value. The"},{"DocComment":" opposite of [`From`]."},{"DocComment":""},{"DocComment":" One should avoid implementing [`Into`] and implement [`From`] instead."},{"DocComment":" Implementing [`From`] automatically provides one with an implementation of [`Into`]"},{"DocComment":" thanks to the blanket implementation in the standard library."},{"DocComment":""},{"DocComment":" Prefer using [`Into`] over [`From`] when specifying trait bounds on a generic function"},{"DocComment":" to ensure that types that only implement [`Into`] can be used as well."},{"DocComment":""},{"DocComment":" **Note: This trait must not fail**. If the conversion can fail, use [`TryInto`]."},{"DocComment":""},{"DocComment":" # Generic Implementations"},{"DocComment":""},{"DocComment":" - [`From`]` for U` implies `Into for T`"},{"DocComment":" - [`Into`] is reflexive, which means that `Into for T` is implemented"},{"DocComment":""},{"DocComment":" # Implementing [`Into`] for conversions to external types in old versions of Rust"},{"DocComment":""},{"DocComment":" Prior to Rust 1.41, if the destination type was not part of the current crate"},{"DocComment":" then you couldn't implement [`From`] directly."},{"DocComment":" For example, take this code:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(non_local_definitions)]"},{"DocComment":" struct Wrapper(Vec);"},{"DocComment":" impl From> for Vec {"},{"DocComment":" fn from(w: Wrapper) -> Vec {"},{"DocComment":" w.0"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":" This will fail to compile in older versions of the language because Rust's orphaning rules"},{"DocComment":" used to be a little bit more strict. To bypass this, you could implement [`Into`] directly:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct Wrapper(Vec);"},{"DocComment":" impl Into> for Wrapper {"},{"DocComment":" fn into(self) -> Vec {"},{"DocComment":" self.0"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It is important to understand that [`Into`] does not provide a [`From`] implementation"},{"DocComment":" (as [`From`] does with [`Into`]). Therefore, you should always try to implement [`From`]"},{"DocComment":" and then fall back to [`Into`] if [`From`] can't be implemented."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" [`String`] implements [`Into`]`<`[`Vec`]`<`[`u8`]`>>`:"},{"DocComment":""},{"DocComment":" In order to express that we want a generic function to take all arguments that can be"},{"DocComment":" converted to a specified type `T`, we can use a trait bound of [`Into`]``."},{"DocComment":" For example: The function `is_hello` takes all arguments that can be converted into a"},{"DocComment":" [`Vec`]`<`[`u8`]`>`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" fn is_hello>>(s: T) {"},{"DocComment":" let bytes = b\"hello\".to_vec();"},{"DocComment":" assert_eq!(bytes, s.into());"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let s = \"hello\".to_string();"},{"DocComment":" is_hello(s);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`Vec`]: ../../std/vec/struct.Vec.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Into"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"into","attr_info":{"attributes":[{"DocComment":" Converts this type into the (usually inferred) input type."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511}],"output":{"Deduplicated":10512}},"item":{"id":389,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10631,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[44,0]}}],"vtable":null},{"def_id":45,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitOr",0]}],"span":{"data":{"file_id":76,"beg":{"line":254,"col":0},"end":{"line":254,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The bitwise OR operator `|`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" An implementation of `BitOr` for a wrapper around `bool`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::BitOr;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Scalar(bool);"},{"DocComment":""},{"DocComment":" impl BitOr for Scalar {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" // rhs is the \"right-hand side\" of the expression `a | b`"},{"DocComment":" fn bitor(self, rhs: Self) -> Self::Output {"},{"DocComment":" Self(self.0 | rhs.0)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Scalar(true) | Scalar(true), Scalar(true));"},{"DocComment":" assert_eq!(Scalar(true) | Scalar(false), Scalar(true));"},{"DocComment":" assert_eq!(Scalar(false) | Scalar(true), Scalar(true));"},{"DocComment":" assert_eq!(Scalar(false) | Scalar(false), Scalar(false));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" An implementation of `BitOr` for a wrapper around `Vec`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::BitOr;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct BooleanVector(Vec);"},{"DocComment":""},{"DocComment":" impl BitOr for BooleanVector {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn bitor(self, Self(rhs): Self) -> Self::Output {"},{"DocComment":" let Self(lhs) = self;"},{"DocComment":" assert_eq!(lhs.len(), rhs.len());"},{"DocComment":" Self("},{"DocComment":" lhs.iter()"},{"DocComment":" .zip(rhs.iter())"},{"DocComment":" .map(|(x, y)| *x | *y)"},{"DocComment":" .collect()"},{"DocComment":" )"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let bv1 = BooleanVector(vec![true, true, false, false]);"},{"DocComment":" let bv2 = BooleanVector(vec![true, false, true, false]);"},{"DocComment":" let expected = BooleanVector(vec![true, true, true, false]);"},{"DocComment":" assert_eq!(bv1 | bv2, expected);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"bitor"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"bitor","attr_info":{"attributes":[{"DocComment":" Performs the `|` operation."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(true | false, true);"},{"DocComment":" assert_eq!(false | false, false);"},{"DocComment":" assert_eq!(5u8 | 1u8, 5);"},{"DocComment":" assert_eq!(5u8 | 2u8, 7);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"item":{"id":390,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10632,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[45,0]}}],"vtable":{"id":{"Adt":75},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":46,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]}],"span":{"data":{"file_id":34,"beg":{"line":109,"col":4},"end":{"line":109,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[],"vtable":{"id":{"Adt":76},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":47,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["bit",0]},{"Ident":["BitAnd",0]}],"span":{"data":{"file_id":76,"beg":{"line":150,"col":0},"end":{"line":150,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The bitwise AND operator `&`."},{"DocComment":""},{"DocComment":" Note that `Rhs` is `Self` by default, but this is not mandatory."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" An implementation of `BitAnd` for a wrapper around `bool`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::BitAnd;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct Scalar(bool);"},{"DocComment":""},{"DocComment":" impl BitAnd for Scalar {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" // rhs is the \"right-hand side\" of the expression `a & b`"},{"DocComment":" fn bitand(self, rhs: Self) -> Self::Output {"},{"DocComment":" Self(self.0 & rhs.0)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(Scalar(true) & Scalar(true), Scalar(true));"},{"DocComment":" assert_eq!(Scalar(true) & Scalar(false), Scalar(false));"},{"DocComment":" assert_eq!(Scalar(false) & Scalar(true), Scalar(false));"},{"DocComment":" assert_eq!(Scalar(false) & Scalar(false), Scalar(false));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" An implementation of `BitAnd` for a wrapper around `Vec`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::BitAnd;"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" struct BooleanVector(Vec);"},{"DocComment":""},{"DocComment":" impl BitAnd for BooleanVector {"},{"DocComment":" type Output = Self;"},{"DocComment":""},{"DocComment":" fn bitand(self, Self(rhs): Self) -> Self::Output {"},{"DocComment":" let Self(lhs) = self;"},{"DocComment":" assert_eq!(lhs.len(), rhs.len());"},{"DocComment":" Self("},{"DocComment":" lhs.iter()"},{"DocComment":" .zip(rhs.iter())"},{"DocComment":" .map(|(x, y)| *x & *y)"},{"DocComment":" .collect()"},{"DocComment":" )"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let bv1 = BooleanVector(vec![true, true, false, false]);"},{"DocComment":" let bv2 = BooleanVector(vec![true, false, true, false]);"},{"DocComment":" let expected = BooleanVector(vec![true, false, false, false]);"},{"DocComment":" assert_eq!(bv1 & bv2, expected);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"bitand"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"bitand","attr_info":{"attributes":[{"DocComment":" Performs the `&` operation."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!(true & false, false);"},{"DocComment":" assert_eq!(true & true, true);"},{"DocComment":" assert_eq!(5u8 & 1u8, 1);"},{"DocComment":" assert_eq!(5u8 & 2u8, 0);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10511},{"Deduplicated":10512}],"output":{"Deduplicated":10547}},"item":{"id":403,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10633,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[47,0]}}],"vtable":{"id":{"Adt":77},"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}},{"def_id":48,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]}],"span":{"data":{"file_id":43,"beg":{"line":47,"col":12},"end":{"line":47,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[],"vtable":{"id":{"Adt":78},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":49,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]}],"span":{"data":{"file_id":66,"beg":{"line":310,"col":0},"end":{"line":310,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to specify which residuals can be converted into which [`crate::ops::Try`] types."},{"DocComment":""},{"DocComment":" Every `Try` type needs to be recreatable from its own associated"},{"DocComment":" `Residual` type, but can also have additional `FromResidual` implementations"},{"DocComment":" to support interconversion with other `Try` types."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"FromResidual"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"R"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_residual","attr_info":{"attributes":[{"DocComment":" Constructs the type from a compatible `Residual` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method such"},{"DocComment":" that applying the `?` operator will get back an equivalent residual:"},{"DocComment":" `FromResidual::from_residual(r).branch() --> ControlFlow::Break(r)`."},{"DocComment":" (The residual is not mandated to be *identical* when interconversion is involved.)"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, FromResidual};"},{"DocComment":""},{"DocComment":" assert_eq!(Result::::from_residual(Err(3_u8)), Err(3));"},{"DocComment":" assert_eq!(Option::::from_residual(None), None);"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::from_residual(ControlFlow::Break(5)),"},{"DocComment":" ControlFlow::Break(5),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10512}],"output":{"Deduplicated":10511}},"item":{"id":404,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10634,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[49,0]}}],"vtable":null},{"def_id":50,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Ident":["IsIdentity",0]}],"span":{"data":{"file_id":18,"beg":{"line":39,"col":0},"end":{"line":42,"col":1}},"generated_from_span":null},"source_text":"pub trait IsIdentity {\n /// Return true if this element is the identity element of the curve.\n fn is_identity(&self) -> bool;\n}","attr_info":{"attributes":[{"DocComment":" Trait for testing if a curve point is equivalent to the identity point."}],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"is_identity","attr_info":{"attributes":[{"DocComment":" Return true if this element is the identity element of the curve."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":10569}],"output":{"Deduplicated":1470}},"item":{"id":421,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"HashConsedValue":[10635,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[50,0]}}],"vtable":{"id":{"Adt":80},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}],"trait_impls":[{"def_id":0,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":0}}],"span":{"data":{"file_id":1,"beg":{"line":52,"col":0},"end":{"line":52,"col":27}},"generated_from_span":null},"source_text":"impl Eq for FieldElement {}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10514,{"kind":{"TraitImpl":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":437,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":1,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":1}}],"span":{"data":{"file_id":1,"beg":{"line":54,"col":0},"end":{"line":58,"col":1}},"generated_from_span":null},"source_text":"impl PartialEq for FieldElement {\n fn eq(&self, other: &FieldElement) -> bool {\n self.ct_eq(other).into()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":2,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":0,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":2,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":2}}],"span":{"data":{"file_id":1,"beg":{"line":60,"col":0},"end":{"line":67,"col":1}},"generated_from_span":null},"source_text":"impl ConstantTimeEq for FieldElement {\n /// Test equality between two `FieldElement`s. Since the\n /// internal representation is not canonical, the field elements\n /// are normalized to wire format before comparison.\n fn ct_eq(&self, other: &FieldElement) -> Choice {\n self.to_bytes().ct_eq(&other.to_bytes())\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":5,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":3,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["field",0]},{"Impl":{"Trait":3}}],"span":{"data":{"file_id":1,"beg":{"line":69,"col":0},"end":{"line":73,"col":1}},"generated_from_span":null},"source_text":"impl Default for FieldElement {\n fn default() -> Self {\n FieldElement::ZERO\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":8,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":4,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":4}}],"span":{"data":{"file_id":5,"beg":{"line":42,"col":9},"end":{"line":42,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10515,{"kind":{"TraitImpl":{"id":6,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":6,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":6}}],"span":{"data":{"file_id":5,"beg":{"line":42,"col":15},"end":{"line":42,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":17,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":7,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":7}}],"span":{"data":{"file_id":5,"beg":{"line":45,"col":0},"end":{"line":49,"col":1}},"generated_from_span":null},"source_text":"impl Debug for FieldElement51 {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"FieldElement51({:?})\", &self.0[..])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":20,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":8,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":8}}],"span":{"data":{"file_id":5,"beg":{"line":54,"col":0},"end":{"line":60,"col":1}},"generated_from_span":null},"source_text":"impl<'a> AddAssign<&'a FieldElement51> for FieldElement51 {\n fn add_assign(&mut self, _rhs: &'a FieldElement51) {\n for i in 0..5 {\n self.0[i] += _rhs.0[i];\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10516}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":21,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":2,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":9}}],"span":{"data":{"file_id":5,"beg":{"line":62,"col":0},"end":{"line":69,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Add<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n fn add(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n let mut output = *self;\n output += _rhs;\n output\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10517},{"Deduplicated":10516},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":22,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":3,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":10}}],"span":{"data":{"file_id":5,"beg":{"line":71,"col":0},"end":{"line":76,"col":1}},"generated_from_span":null},"source_text":"impl<'a> SubAssign<&'a FieldElement51> for FieldElement51 {\n fn sub_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) - _rhs;\n self.0 = result.0;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10516}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":23,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}}],"vtable":{"id":4,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":11,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":11}}],"span":{"data":{"file_id":5,"beg":{"line":78,"col":0},"end":{"line":98,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Sub<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n fn sub(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n // To avoid underflow, first add a multiple of p.\n // Choose 16*p = p << 4 to be larger than 54-bit _rhs.\n //\n // If we could statically track the bitlengths of the limbs\n // of every FieldElement51, we could choose a multiple of p\n // just bigger than _rhs and avoid having to do a reduction.\n //\n // Since we don't yet have type-level integers to do this, we\n // have to add an explicit reduction call here.\n FieldElement51::reduce([\n (self.0[0] + 36028797018963664u64) - _rhs.0[0],\n (self.0[1] + 36028797018963952u64) - _rhs.0[1],\n (self.0[2] + 36028797018963952u64) - _rhs.0[2],\n (self.0[3] + 36028797018963952u64) - _rhs.0[3],\n (self.0[4] + 36028797018963952u64) - _rhs.0[4],\n ])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10517},{"Deduplicated":10516},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":24,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":5,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":12,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":12}}],"span":{"data":{"file_id":5,"beg":{"line":100,"col":0},"end":{"line":105,"col":1}},"generated_from_span":null},"source_text":"impl<'a> MulAssign<&'a FieldElement51> for FieldElement51 {\n fn mul_assign(&mut self, _rhs: &'a FieldElement51) {\n let result = (self as &FieldElement51) * _rhs;\n self.0 = result.0;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1391},{"Deduplicated":10516}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":25,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":6,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":13,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":13}}],"span":{"data":{"file_id":5,"beg":{"line":107,"col":0},"end":{"line":210,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Mul<&'a FieldElement51> for &FieldElement51 {\n type Output = FieldElement51;\n\n #[rustfmt::skip] // keep alignment of c* calculations\n fn mul(self, _rhs: &'a FieldElement51) -> FieldElement51 {\n /// Helper function to multiply two 64-bit integers with 128\n /// bits of output.\n #[inline(always)]\n fn m(x: u64, y: u64) -> u128 { (x as u128) * (y as u128) }\n\n // Alias self, _rhs for more readable formulas\n let a: &[u64; 5] = &self.0;\n let b: &[u64; 5] = &_rhs.0;\n\n // Precondition: assume input limbs a[i], b[i] are bounded as\n //\n // a[i], b[i] < 2^(51 + b)\n //\n // where b is a real parameter measuring the \"bit excess\" of the limbs.\n\n // 64-bit precomputations to avoid 128-bit multiplications.\n //\n // This fits into a u64 whenever 51 + b + lg(19) < 64.\n //\n // Since 51 + b + lg(19) < 51 + 4.25 + b\n // = 55.25 + b,\n // this fits if b < 8.75.\n let b1_19 = b[1] * 19;\n let b2_19 = b[2] * 19;\n let b3_19 = b[3] * 19;\n let b4_19 = b[4] * 19;\n\n // Multiply to get 128-bit coefficients of output\n let c0: u128 = m(a[0], b[0]) + m(a[4], b1_19) + m(a[3], b2_19) + m(a[2], b3_19) + m(a[1], b4_19);\n let mut c1: u128 = m(a[1], b[0]) + m(a[0], b[1]) + m(a[4], b2_19) + m(a[3], b3_19) + m(a[2], b4_19);\n let mut c2: u128 = m(a[2], b[0]) + m(a[1], b[1]) + m(a[0], b[2]) + m(a[4], b3_19) + m(a[3], b4_19);\n let mut c3: u128 = m(a[3], b[0]) + m(a[2], b[1]) + m(a[1], b[2]) + m(a[0], b[3]) + m(a[4], b4_19);\n let mut c4: u128 = m(a[4], b[0]) + m(a[3], b[1]) + m(a[2], b[2]) + m(a[1], b[3]) + m(a[0] , b[4]);\n\n // How big are the c[i]? We have\n //\n // c[i] < 2^(102 + 2*b) * (1+i + (4-i)*19)\n // < 2^(102 + lg(1 + 4*19) + 2*b)\n // < 2^(108.27 + 2*b)\n //\n // The carry (c[i] >> 51) fits into a u64 when\n // 108.27 + 2*b - 51 < 64\n // 2*b < 6.73\n // b < 3.365.\n //\n // So we require b < 3 to ensure this fits.\n debug_assert!(a[0] < (1 << 54)); debug_assert!(b[0] < (1 << 54));\n debug_assert!(a[1] < (1 << 54)); debug_assert!(b[1] < (1 << 54));\n debug_assert!(a[2] < (1 << 54)); debug_assert!(b[2] < (1 << 54));\n debug_assert!(a[3] < (1 << 54)); debug_assert!(b[3] < (1 << 54));\n debug_assert!(a[4] < (1 << 54)); debug_assert!(b[4] < (1 << 54));\n\n // Casting to u64 and back tells the compiler that the carry is\n // bounded by 2^64, so that the addition is a u128 + u64 rather\n // than u128 + u128.\n\n const LOW_51_BIT_MASK: u64 = (1u64 << 51) - 1;\n let mut out = [0u64; 5];\n\n c1 += ((c0 >> 51) as u64) as u128;\n out[0] = (c0 as u64) & LOW_51_BIT_MASK;\n\n c2 += ((c1 >> 51) as u64) as u128;\n out[1] = (c1 as u64) & LOW_51_BIT_MASK;\n\n c3 += ((c2 >> 51) as u64) as u128;\n out[2] = (c2 as u64) & LOW_51_BIT_MASK;\n\n c4 += ((c3 >> 51) as u64) as u128;\n out[3] = (c3 as u64) & LOW_51_BIT_MASK;\n\n let carry: u64 = (c4 >> 51) as u64;\n out[4] = (c4 as u64) & LOW_51_BIT_MASK;\n\n // To see that this does not overflow, we need out[0] + carry * 19 < 2^64.\n //\n // c4 < a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0 + (carry from c3)\n // < 5*(2^(51 + b) * 2^(51 + b)) + (carry from c3)\n // < 2^(102 + 2*b + lg(5)) + 2^64.\n //\n // When b < 3 we get\n //\n // c4 < 2^110.33 so that carry < 2^59.33\n //\n // so that\n //\n // out[0] + carry * 19 < 2^51 + 19 * 2^59.33 < 2^63.58\n //\n // and there is no overflow.\n out[0] += carry * 19;\n\n // Now out[1] < 2^51 + 2^(64 -51) = 2^51 + 2^13 < 2^(51 + epsilon).\n out[1] += out[0] >> 51;\n out[0] &= LOW_51_BIT_MASK;\n\n // Now out[i] < 2^(51 + epsilon) for all i.\n FieldElement51(out)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10517},{"Deduplicated":10516},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":26,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":7,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":14}}],"span":{"data":{"file_id":5,"beg":{"line":212,"col":0},"end":{"line":219,"col":1}},"generated_from_span":null},"source_text":"impl Neg for &FieldElement51 {\n type Output = FieldElement51;\n fn neg(self) -> FieldElement51 {\n let mut output = *self;\n output.negate();\n output\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10516},{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":27,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":8,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":15,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["u64",0]},{"Ident":["field",0]},{"Impl":{"Trait":15}}],"span":{"data":{"file_id":5,"beg":{"line":221,"col":0},"end":{"line":251,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for FieldElement51 {\n fn conditional_select(\n a: &FieldElement51,\n b: &FieldElement51,\n choice: Choice,\n ) -> FieldElement51 {\n FieldElement51([\n u64::conditional_select(&a.0[0], &b.0[0], choice),\n u64::conditional_select(&a.0[1], &b.0[1], choice),\n u64::conditional_select(&a.0[2], &b.0[2], choice),\n u64::conditional_select(&a.0[3], &b.0[3], choice),\n u64::conditional_select(&a.0[4], &b.0[4], choice),\n ])\n }\n\n fn conditional_swap(a: &mut FieldElement51, b: &mut FieldElement51, choice: Choice) {\n u64::conditional_swap(&mut a.0[0], &mut b.0[0], choice);\n u64::conditional_swap(&mut a.0[1], &mut b.0[1], choice);\n u64::conditional_swap(&mut a.0[2], &mut b.0[2], choice);\n u64::conditional_swap(&mut a.0[3], &mut b.0[3], choice);\n u64::conditional_swap(&mut a.0[4], &mut b.0[4], choice);\n }\n\n fn conditional_assign(&mut self, other: &FieldElement51, choice: Choice) {\n self.0[0].conditional_assign(&other.0[0], choice);\n self.0[1].conditional_assign(&other.0[1], choice);\n self.0[2].conditional_assign(&other.0[2], choice);\n self.0[3].conditional_assign(&other.0[3], choice);\n self.0[4].conditional_assign(&other.0[4], choice);\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10518,{"kind":{"TraitImpl":{"id":4,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1391}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":28,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":29,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":30,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":16,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":16}}],"span":{"data":{"file_id":6,"beg":{"line":153,"col":9},"end":{"line":153,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10519,{"kind":{"TraitImpl":{"id":18,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":18,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":18}}],"span":{"data":{"file_id":6,"beg":{"line":153,"col":15},"end":{"line":153,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":39,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":19,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":19}}],"span":{"data":{"file_id":6,"beg":{"line":167,"col":9},"end":{"line":167,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10520,{"kind":{"TraitImpl":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":21,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":21}}],"span":{"data":{"file_id":6,"beg":{"line":167,"col":15},"end":{"line":167,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":40,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":22,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":22}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":9},"end":{"line":182,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10521,{"kind":{"TraitImpl":{"id":24,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":24,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":24}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":15},"end":{"line":182,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":41,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":25,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":25}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":22},"end":{"line":182,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10522,{"kind":{"TraitImpl":{"id":27,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1842},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":42,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":26,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":26}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":17,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":12,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":27,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":27}}],"span":{"data":{"file_id":6,"beg":{"line":182,"col":26},"end":{"line":182,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1842},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":43,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":13,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":28,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":28}}],"span":{"data":{"file_id":6,"beg":{"line":204,"col":9},"end":{"line":204,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10523,{"kind":{"TraitImpl":{"id":30,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":30,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":30}}],"span":{"data":{"file_id":6,"beg":{"line":204,"col":15},"end":{"line":204,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":44,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":31,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":31}}],"span":{"data":{"file_id":6,"beg":{"line":229,"col":0},"end":{"line":237,"col":1}},"generated_from_span":null},"source_text":"impl Identity for ProjectivePoint {\n fn identity() -> ProjectivePoint {\n ProjectivePoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":45,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":32,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":32}}],"span":{"data":{"file_id":6,"beg":{"line":239,"col":0},"end":{"line":248,"col":1}},"generated_from_span":null},"source_text":"impl Identity for ProjectiveNielsPoint {\n fn identity() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::ONE,\n Y_minus_X: FieldElement::ONE,\n Z: FieldElement::ONE,\n T2d: FieldElement::ZERO,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":46,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":33,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":33}}],"span":{"data":{"file_id":6,"beg":{"line":250,"col":0},"end":{"line":254,"col":1}},"generated_from_span":null},"source_text":"impl Default for ProjectiveNielsPoint {\n fn default() -> ProjectiveNielsPoint {\n ProjectiveNielsPoint::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":47,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":34,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":34}}],"span":{"data":{"file_id":6,"beg":{"line":256,"col":0},"end":{"line":264,"col":1}},"generated_from_span":null},"source_text":"impl Identity for AffineNielsPoint {\n fn identity() -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: FieldElement::ONE,\n y_minus_x: FieldElement::ONE,\n xy2d: FieldElement::ZERO,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":48,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":35,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":35}}],"span":{"data":{"file_id":6,"beg":{"line":266,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"source_text":"impl Default for AffineNielsPoint {\n fn default() -> AffineNielsPoint {\n AffineNielsPoint::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":49,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":36,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":36}}],"span":{"data":{"file_id":6,"beg":{"line":276,"col":0},"end":{"line":289,"col":1}},"generated_from_span":null},"source_text":"impl ValidityCheck for ProjectivePoint {\n fn is_valid(&self) -> bool {\n // Curve equation is -x^2 + y^2 = 1 + d*x^2*y^2,\n // homogenized as (-X^2 + Y^2)*Z^2 = Z^4 + d*X^2*Y^2\n let XX = self.X.square();\n let YY = self.Y.square();\n let ZZ = self.Z.square();\n let ZZZZ = ZZ.square();\n let lhs = &(&YY - &XX) * &ZZ;\n let rhs = &ZZZZ + &(&constants::EDWARDS_D * &(&XX * &YY));\n\n lhs == rhs\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":50,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[19,0]}}],"vtable":{"id":14,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":37,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":37}}],"span":{"data":{"file_id":6,"beg":{"line":295,"col":0},"end":{"line":311,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for ProjectiveNielsPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n ProjectiveNielsPoint {\n Y_plus_X: FieldElement::conditional_select(&a.Y_plus_X, &b.Y_plus_X, choice),\n Y_minus_X: FieldElement::conditional_select(&a.Y_minus_X, &b.Y_minus_X, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T2d: FieldElement::conditional_select(&a.T2d, &b.T2d, choice),\n }\n }\n\n fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.Y_plus_X.conditional_assign(&other.Y_plus_X, choice);\n self.Y_minus_X.conditional_assign(&other.Y_minus_X, choice);\n self.Z.conditional_assign(&other.Z, choice);\n self.T2d.conditional_assign(&other.T2d, choice);\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":1866}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":51,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":52,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":438,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":38,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":38}}],"span":{"data":{"file_id":6,"beg":{"line":313,"col":0},"end":{"line":327,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for AffineNielsPoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n AffineNielsPoint {\n y_plus_x: FieldElement::conditional_select(&a.y_plus_x, &b.y_plus_x, choice),\n y_minus_x: FieldElement::conditional_select(&a.y_minus_x, &b.y_minus_x, choice),\n xy2d: FieldElement::conditional_select(&a.xy2d, &b.xy2d, choice),\n }\n }\n\n fn conditional_assign(&mut self, other: &Self, choice: Choice) {\n self.y_plus_x.conditional_assign(&other.y_plus_x, choice);\n self.y_minus_x.conditional_assign(&other.y_minus_x, choice);\n self.xy2d.conditional_assign(&other.xy2d, choice);\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10524,{"kind":{"TraitImpl":{"id":22,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":56,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":57,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":439,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":39,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":39}}],"span":{"data":{"file_id":6,"beg":{"line":411,"col":0},"end":{"line":430,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Add<&'a ProjectiveNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn add(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.Y_plus_X;\n let MM = &Y_minus_X * &other.Y_minus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &ZZ2 + &TT2d,\n T: &ZZ2 - &TT2d,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10526},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":62,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":15,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":40,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":40}}],"span":{"data":{"file_id":6,"beg":{"line":433,"col":0},"end":{"line":452,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Sub<&'a ProjectiveNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn sub(self, other: &'a ProjectiveNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.Y_minus_X;\n let MP = &Y_minus_X * &other.Y_plus_X;\n let TT2d = &self.T * &other.T2d;\n let ZZ = &self.Z * &other.Z;\n let ZZ2 = &ZZ + &ZZ;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &ZZ2 - &TT2d,\n T: &ZZ2 + &TT2d,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10526},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":63,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":16,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":41,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":41}}],"span":{"data":{"file_id":6,"beg":{"line":455,"col":0},"end":{"line":473,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Add<&'a AffineNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn add(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PP = &Y_plus_X * &other.y_plus_x;\n let MM = &Y_minus_X * &other.y_minus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PP - &MM,\n Y: &PP + &MM,\n Z: &Z2 + &Txy2d,\n T: &Z2 - &Txy2d,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10527},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":64,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":17,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":42,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":42}}],"span":{"data":{"file_id":6,"beg":{"line":476,"col":0},"end":{"line":494,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Sub<&'a AffineNielsPoint> for &EdwardsPoint {\n type Output = CompletedPoint;\n\n fn sub(self, other: &'a AffineNielsPoint) -> CompletedPoint {\n let Y_plus_X = &self.Y + &self.X;\n let Y_minus_X = &self.Y - &self.X;\n let PM = &Y_plus_X * &other.y_minus_x;\n let MP = &Y_minus_X * &other.y_plus_x;\n let Txy2d = &self.T * &other.xy2d;\n let Z2 = &self.Z + &self.Z;\n\n CompletedPoint {\n X: &PM - &MP,\n Y: &PM + &MP,\n Z: &Z2 - &Txy2d,\n T: &Z2 + &Txy2d,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10527},{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":65,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":18,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":43,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":43}}],"span":{"data":{"file_id":6,"beg":{"line":500,"col":0},"end":{"line":511,"col":1}},"generated_from_span":null},"source_text":"impl Neg for &ProjectiveNielsPoint {\n type Output = ProjectiveNielsPoint;\n\n fn neg(self) -> ProjectiveNielsPoint {\n ProjectiveNielsPoint {\n Y_plus_X: self.Y_minus_X,\n Y_minus_X: self.Y_plus_X,\n Z: self.Z,\n T2d: -(&self.T2d),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10526},{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":66,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":19,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":44,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":44}}],"span":{"data":{"file_id":6,"beg":{"line":513,"col":0},"end":{"line":523,"col":1}},"generated_from_span":null},"source_text":"impl Neg for &AffineNielsPoint {\n type Output = AffineNielsPoint;\n\n fn neg(self) -> AffineNielsPoint {\n AffineNielsPoint {\n y_plus_x: self.y_minus_x,\n y_minus_x: self.y_plus_x,\n xy2d: -(&self.xy2d),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10527},{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":67,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":20,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":45,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":45}}],"span":{"data":{"file_id":6,"beg":{"line":529,"col":0},"end":{"line":537,"col":1}},"generated_from_span":null},"source_text":"impl Debug for ProjectivePoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectivePoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1819}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":68,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":46,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":46}}],"span":{"data":{"file_id":6,"beg":{"line":539,"col":0},"end":{"line":547,"col":1}},"generated_from_span":null},"source_text":"impl Debug for CompletedPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"CompletedPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1831}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":69,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":22,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":47,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":47}}],"span":{"data":{"file_id":6,"beg":{"line":549,"col":0},"end":{"line":557,"col":1}},"generated_from_span":null},"source_text":"impl Debug for AffineNielsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"AffineNielsPoint{{\\n\\ty_plus_x: {:?},\\n\\ty_minus_x: {:?},\\n\\txy2d: {:?}\\n}}\",\n &self.y_plus_x, &self.y_minus_x, &self.xy2d\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1842}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":70,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":48,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["backend",0]},{"Ident":["serial",0]},{"Ident":["curve_models",0]},{"Impl":{"Trait":48}}],"span":{"data":{"file_id":6,"beg":{"line":559,"col":0},"end":{"line":567,"col":1}},"generated_from_span":null},"source_text":"impl Debug for ProjectiveNielsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"ProjectiveNielsPoint{{\\n\\tY_plus_X: {:?},\\n\\tY_minus_X: {:?},\\n\\tZ: {:?},\\n\\tT2d: {:?}\\n}}\",\n &self.Y_plus_X, &self.Y_minus_X, &self.Z, &self.T2d\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1865}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":71,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":24,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":49,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":49}}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":9},"end":{"line":174,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10528,{"kind":{"TraitImpl":{"id":51,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":51,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":51}}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":15},"end":{"line":174,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":72,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":52,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":52}}],"span":{"data":{"file_id":7,"beg":{"line":174,"col":22},"end":{"line":174,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"clippy::derived_hash_with_manual_eq"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":73,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"Deduplicated":2163}]}},"kind":{"TraitMethod":[20,0]}},null],"vtable":null},{"def_id":53,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":53}}],"span":{"data":{"file_id":7,"beg":{"line":177,"col":0},"end":{"line":181,"col":1}},"generated_from_span":null},"source_text":"impl ConstantTimeEq for CompressedEdwardsY {\n fn ct_eq(&self, other: &CompressedEdwardsY) -> Choice {\n self.as_bytes().ct_eq(other.as_bytes())\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":76,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":54,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":54}}],"span":{"data":{"file_id":7,"beg":{"line":183,"col":0},"end":{"line":183,"col":33}},"generated_from_span":null},"source_text":"impl Eq for CompressedEdwardsY {}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10529,{"kind":{"TraitImpl":{"id":55,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":440,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":55,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":55}}],"span":{"data":{"file_id":7,"beg":{"line":184,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"source_text":"impl PartialEq for CompressedEdwardsY {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":77,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":25,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":56,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":56}}],"span":{"data":{"file_id":7,"beg":{"line":190,"col":0},"end":{"line":194,"col":1}},"generated_from_span":null},"source_text":"impl Debug for CompressedEdwardsY {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(f, \"CompressedEdwardsY: {:?}\", self.as_bytes())\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":78,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":26,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":57,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":57}}],"span":{"data":{"file_id":7,"beg":{"line":260,"col":0},"end":{"line":266,"col":1}},"generated_from_span":null},"source_text":"impl TryFrom<&[u8]> for CompressedEdwardsY {\n type Error = TryFromSliceError;\n\n fn try_from(slice: &[u8]) -> Result {\n Self::from_slice(slice)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":2116},{"Deduplicated":10530},{"Deduplicated":2275}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":82,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[22,0]}}],"vtable":null},{"def_id":58,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":58}}],"span":{"data":{"file_id":7,"beg":{"line":388,"col":9},"end":{"line":388,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10531,{"kind":{"TraitImpl":{"id":60,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":60,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":60}}],"span":{"data":{"file_id":7,"beg":{"line":388,"col":15},"end":{"line":388,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"missing_docs"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":83,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":61,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":61}}],"span":{"data":{"file_id":7,"beg":{"line":401,"col":0},"end":{"line":408,"col":1}},"generated_from_span":null},"source_text":"impl Identity for CompressedEdwardsY {\n fn identity() -> CompressedEdwardsY {\n CompressedEdwardsY([\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0,\n ])\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":84,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":62,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":62}}],"span":{"data":{"file_id":7,"beg":{"line":410,"col":0},"end":{"line":414,"col":1}},"generated_from_span":null},"source_text":"impl Default for CompressedEdwardsY {\n fn default() -> CompressedEdwardsY {\n CompressedEdwardsY::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":2116}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":85,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":63,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":63}}],"span":{"data":{"file_id":7,"beg":{"line":428,"col":0},"end":{"line":437,"col":1}},"generated_from_span":null},"source_text":"impl Identity for EdwardsPoint {\n fn identity() -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::ZERO,\n Y: FieldElement::ONE,\n Z: FieldElement::ONE,\n T: FieldElement::ZERO,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":87,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":64,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":64}}],"span":{"data":{"file_id":7,"beg":{"line":439,"col":0},"end":{"line":443,"col":1}},"generated_from_span":null},"source_text":"impl Default for EdwardsPoint {\n fn default() -> EdwardsPoint {\n EdwardsPoint::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":88,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":65,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":65}}],"span":{"data":{"file_id":7,"beg":{"line":473,"col":0},"end":{"line":480,"col":1}},"generated_from_span":null},"source_text":"impl ValidityCheck for EdwardsPoint {\n fn is_valid(&self) -> bool {\n let point_on_curve = self.as_projective().is_valid();\n let on_segre_image = (&self.X * &self.Y) == (&self.Z * &self.T);\n\n point_on_curve && on_segre_image\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":89,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[19,0]}}],"vtable":{"id":27,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":66,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":66}}],"span":{"data":{"file_id":7,"beg":{"line":486,"col":0},"end":{"line":495,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for EdwardsPoint {\n fn conditional_select(a: &EdwardsPoint, b: &EdwardsPoint, choice: Choice) -> EdwardsPoint {\n EdwardsPoint {\n X: FieldElement::conditional_select(&a.X, &b.X, choice),\n Y: FieldElement::conditional_select(&a.Y, &b.Y, choice),\n Z: FieldElement::conditional_select(&a.Z, &b.Z, choice),\n T: FieldElement::conditional_select(&a.T, &b.T, choice),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10532,{"kind":{"TraitImpl":{"id":58,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":90,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":441,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":442,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":67,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":67}}],"span":{"data":{"file_id":7,"beg":{"line":501,"col":0},"end":{"line":512,"col":1}},"generated_from_span":null},"source_text":"impl ConstantTimeEq for EdwardsPoint {\n fn ct_eq(&self, other: &EdwardsPoint) -> Choice {\n // We would like to check that the point (X/Z, Y/Z) is equal to\n // the point (X'/Z', Y'/Z') without converting into affine\n // coordinates (x, y) and (x', y'), which requires two inversions.\n // We have that X = xZ and X' = x'Z'. Thus, x = x' is equivalent to\n // (xZ)Z' = (x'Z')Z, and similarly for the y-coordinate.\n\n (&self.X * &other.Z).ct_eq(&(&other.X * &self.Z))\n & (&self.Y * &other.Z).ct_eq(&(&other.Y * &self.Z))\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":91,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":68,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":68}}],"span":{"data":{"file_id":7,"beg":{"line":514,"col":0},"end":{"line":518,"col":1}},"generated_from_span":null},"source_text":"impl PartialEq for EdwardsPoint {\n fn eq(&self, other: &EdwardsPoint) -> bool {\n self.ct_eq(other).into()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":92,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":28,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":69,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":69}}],"span":{"data":{"file_id":7,"beg":{"line":520,"col":0},"end":{"line":520,"col":27}},"generated_from_span":null},"source_text":"impl Eq for EdwardsPoint {}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10533,{"kind":{"TraitImpl":{"id":68,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":443,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":70,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":70}}],"span":{"data":{"file_id":7,"beg":{"line":783,"col":0},"end":{"line":788,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Add<&'a EdwardsPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn add(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self + &other.as_projective_niels()).as_extended()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":100,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":29,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":71,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":71}}],"span":{"data":{"file_id":8,"beg":{"line":17,"col":8},"end":{"line":22,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":101,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":30,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":72,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":72}}],"span":{"data":{"file_id":8,"beg":{"line":24,"col":8},"end":{"line":29,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":10534},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":102,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":31,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":73,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":73}}],"span":{"data":{"file_id":8,"beg":{"line":31,"col":8},"end":{"line":36,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":103,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[10,0]}}],"vtable":{"id":32,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":74,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":74}}],"span":{"data":{"file_id":7,"beg":{"line":796,"col":0},"end":{"line":800,"col":1}},"generated_from_span":null},"source_text":"impl<'a> AddAssign<&'a EdwardsPoint> for EdwardsPoint {\n fn add_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) + _rhs;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10534}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":104,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":33,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":75,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":75}}],"span":{"data":{"file_id":8,"beg":{"line":43,"col":8},"end":{"line":47,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":105,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":34,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":76,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":76}}],"span":{"data":{"file_id":7,"beg":{"line":804,"col":0},"end":{"line":809,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Sub<&'a EdwardsPoint> for &EdwardsPoint {\n type Output = EdwardsPoint;\n fn sub(self, other: &'a EdwardsPoint) -> EdwardsPoint {\n (self - &other.as_projective_niels()).as_extended()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":106,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":35,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":77,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":77}}],"span":{"data":{"file_id":8,"beg":{"line":54,"col":8},"end":{"line":59,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":107,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":36,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":78,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":78}}],"span":{"data":{"file_id":8,"beg":{"line":61,"col":8},"end":{"line":66,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":10534},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":108,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":37,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":79,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":79}}],"span":{"data":{"file_id":8,"beg":{"line":68,"col":8},"end":{"line":73,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":109,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":80,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":80}}],"span":{"data":{"file_id":7,"beg":{"line":817,"col":0},"end":{"line":821,"col":1}},"generated_from_span":null},"source_text":"impl<'a> SubAssign<&'a EdwardsPoint> for EdwardsPoint {\n fn sub_assign(&mut self, _rhs: &'a EdwardsPoint) {\n *self = (self as &EdwardsPoint) - _rhs;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10534}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":110,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}}],"vtable":{"id":39,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":81,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":81}}],"span":{"data":{"file_id":8,"beg":{"line":80,"col":8},"end":{"line":84,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":111,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}}],"vtable":{"id":40,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":82,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":82}}],"span":{"data":{"file_id":7,"beg":{"line":825,"col":0},"end":{"line":835,"col":1}},"generated_from_span":null},"source_text":"impl Sum for EdwardsPoint\nwhere\n T: Borrow,\n{\n fn sum(iter: I) -> Self\n where\n I: Iterator,\n {\n iter.fold(EdwardsPoint::identity(), |acc, item| acc + item.borrow())\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":827,"col":7},"end":{"line":827,"col":27}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":24,"beg":{"line":22,"col":14},"end":{"line":22,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":112,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"Deduplicated":10535},{"HashConsedValue":[10536,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":1435},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}]}]}},"kind":{"TraitMethod":[24,0]}}],"vtable":null},{"def_id":83,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":83}}],"span":{"data":{"file_id":7,"beg":{"line":841,"col":0},"end":{"line":852,"col":1}},"generated_from_span":null},"source_text":"impl Neg for &EdwardsPoint {\n type Output = EdwardsPoint;\n\n fn neg(self) -> EdwardsPoint {\n EdwardsPoint {\n X: -(&self.X),\n Y: self.Y,\n Z: self.Z,\n T: -(&self.T),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":113,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":41,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":84,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":84}}],"span":{"data":{"file_id":7,"beg":{"line":854,"col":0},"end":{"line":860,"col":1}},"generated_from_span":null},"source_text":"impl Neg for EdwardsPoint {\n type Output = EdwardsPoint;\n\n fn neg(self) -> EdwardsPoint {\n -&self\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":114,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[15,0]}}],"vtable":{"id":42,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":85,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":85}}],"span":{"data":{"file_id":7,"beg":{"line":866,"col":0},"end":{"line":871,"col":1}},"generated_from_span":null},"source_text":"impl<'a> MulAssign<&'a Scalar> for EdwardsPoint {\n fn mul_assign(&mut self, scalar: &'a Scalar) {\n let result = (self as &EdwardsPoint) * scalar;\n *self = result;\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10537}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":115,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":43,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":86,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":86}}],"span":{"data":{"file_id":8,"beg":{"line":117,"col":8},"end":{"line":121,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":2689}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":116,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":44,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":87,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":87}}],"span":{"data":{"file_id":8,"beg":{"line":91,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":10537},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":117,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":45,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":88,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":88}}],"span":{"data":{"file_id":8,"beg":{"line":98,"col":8},"end":{"line":103,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10534},{"Deduplicated":2689},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":118,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":46,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":89,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":89}}],"span":{"data":{"file_id":8,"beg":{"line":105,"col":8},"end":{"line":110,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":1955},{"Deduplicated":2689},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":119,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":47,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":90,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":90}}],"span":{"data":{"file_id":8,"beg":{"line":91,"col":8},"end":{"line":96,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'b","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":120,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":48,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":91,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":91}}],"span":{"data":{"file_id":8,"beg":{"line":98,"col":8},"end":{"line":103,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10537},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":121,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":49,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":92,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":92}}],"span":{"data":{"file_id":8,"beg":{"line":105,"col":8},"end":{"line":110,"col":9}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":1955},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":122,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":50,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":93,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":93}}],"span":{"data":{"file_id":7,"beg":{"line":878,"col":0},"end":{"line":887,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Mul<&'a Scalar> for &EdwardsPoint {\n type Output = EdwardsPoint;\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, scalar: &'a Scalar) -> EdwardsPoint {\n crate::backend::variable_base_mul(self, scalar)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10525},{"Deduplicated":10537},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":123,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":51,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":94,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":94}}],"span":{"data":{"file_id":7,"beg":{"line":889,"col":0},"end":{"line":899,"col":1}},"generated_from_span":null},"source_text":"impl<'a> Mul<&'a EdwardsPoint> for &Scalar {\n type Output = EdwardsPoint;\n\n /// Scalar multiplication: compute `scalar * self`.\n ///\n /// For scalar multiplication of a basepoint,\n /// `EdwardsBasepointTable` is approximately 4x faster.\n fn mul(self, point: &'a EdwardsPoint) -> EdwardsPoint {\n point * self\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":10538},{"Deduplicated":10534},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":124,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":52,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Free":1}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":95,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Impl":{"Trait":95}}],"span":{"data":{"file_id":7,"beg":{"line":1465,"col":0},"end":{"line":1473,"col":1}},"generated_from_span":null},"source_text":"impl Debug for EdwardsPoint {\n fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {\n write!(\n f,\n \"EdwardsPoint{{\\n\\tX: {:?},\\n\\tY: {:?},\\n\\tZ: {:?},\\n\\tT: {:?}\\n}}\",\n &self.X, &self.Y, &self.Z, &self.T\n )\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":134,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":53,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":96,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":96}}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":9},"end":{"line":11,"col":13}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10539,{"kind":{"TraitImpl":{"id":98,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},null,{"def_id":98,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":98}}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":15},"end":{"line":11,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":165,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":99,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":99}}],"span":{"data":{"file_id":19,"beg":{"line":11,"col":22},"end":{"line":11,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":166,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":61,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":100,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":100}}],"span":{"data":{"file_id":19,"beg":{"line":17,"col":0},"end":{"line":21,"col":1}},"generated_from_span":null},"source_text":"impl ConstantTimeEq for AffinePoint {\n fn ct_eq(&self, other: &Self) -> Choice {\n self.x.ct_eq(&other.x) & self.y.ct_eq(&other.y)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":167,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":101,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":101}}],"span":{"data":{"file_id":19,"beg":{"line":23,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"source_text":"impl ConditionallySelectable for AffinePoint {\n fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {\n Self {\n x: FieldElement::conditional_select(&a.x, &b.x, choice),\n y: FieldElement::conditional_select(&a.y, &b.y, choice),\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10540,{"kind":{"TraitImpl":{"id":96,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":168,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":444,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":445,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":102,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":102}}],"span":{"data":{"file_id":19,"beg":{"line":32,"col":0},"end":{"line":36,"col":1}},"generated_from_span":null},"source_text":"impl Default for AffinePoint {\n fn default() -> AffinePoint {\n AffinePoint::identity()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":169,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":103,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":103}}],"span":{"data":{"file_id":19,"beg":{"line":38,"col":0},"end":{"line":45,"col":1}},"generated_from_span":null},"source_text":"impl Identity for AffinePoint {\n fn identity() -> AffinePoint {\n AffinePoint {\n x: FieldElement::ZERO,\n y: FieldElement::ONE,\n }\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":170,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[18,0]}}],"vtable":null},{"def_id":104,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":104}}],"span":{"data":{"file_id":19,"beg":{"line":47,"col":0},"end":{"line":51,"col":1}},"generated_from_span":null},"source_text":"impl PartialEq for AffinePoint {\n fn eq(&self, other: &Self) -> bool {\n self.ct_eq(other).into()\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":4121},{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":171,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":62,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":105,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":105}}],"span":{"data":{"file_id":19,"beg":{"line":53,"col":0},"end":{"line":53,"col":26}},"generated_from_span":null},"source_text":"impl Eq for AffinePoint {}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10541,{"kind":{"TraitImpl":{"id":104,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":4121},{"Deduplicated":4121}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[null,{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":446,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,1]}}],"vtable":null},{"def_id":106,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":106}}],"span":{"data":{"file_id":19,"beg":{"line":78,"col":0},"end":{"line":85,"col":1}},"generated_from_span":null},"source_text":"impl Mul for Scalar {\n type Output = EdwardsPoint;\n\n #[inline]\n fn mul(self, rhs: AffinePoint) -> EdwardsPoint {\n self * &rhs\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":4121},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":174,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":63,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":107,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["edwards",0]},{"Ident":["affine",0]},{"Impl":{"Trait":107}}],"span":{"data":{"file_id":19,"beg":{"line":87,"col":0},"end":{"line":94,"col":1}},"generated_from_span":null},"source_text":"impl Mul<&AffinePoint> for Scalar {\n type Output = EdwardsPoint;\n\n #[inline]\n fn mul(self, rhs: &AffinePoint) -> EdwardsPoint {\n rhs.to_edwards() * self\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":2689},{"Deduplicated":10542},{"Deduplicated":1955}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":175,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[14,0]}}],"vtable":{"id":64,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":108,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Impl":{"Trait":108}}],"span":{"data":{"file_id":21,"beg":{"line":767,"col":0},"end":{"line":769,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":44,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"U"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":21,"beg":{"line":769,"col":7},"end":{"line":769,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":135,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"Deduplicated":10543}]}},"kind":{"TraitMethod":[44,0]}}],"vtable":null},{"def_id":109,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":109}}],"span":{"data":{"file_id":11,"beg":{"line":138,"col":0},"end":{"line":138,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1470},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":282,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}}],"vtable":null},{"def_id":110,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":110}}],"span":{"data":{"file_id":11,"beg":{"line":289,"col":0},"end":{"line":289,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":11,"beg":{"line":289,"col":8},"end":{"line":289,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":136,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10545}]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":111,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":111}}],"span":{"data":{"file_id":11,"beg":{"line":346,"col":8},"end":{"line":346,"col":36}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":283,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},null],"vtable":null},{"def_id":112,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":112}}],"span":{"data":{"file_id":11,"beg":{"line":236,"col":0},"end":{"line":236,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":284,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}}],"vtable":null},{"def_id":113,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":113}}],"span":{"data":{"file_id":11,"beg":{"line":174,"col":0},"end":{"line":174,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":45,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1496},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":138,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[45,0]}}],"vtable":{"id":69,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":114,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":114}}],"span":{"data":{"file_id":22,"beg":{"line":383,"col":0},"end":{"line":385,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10546},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":385,"col":9},"end":{"line":385,"col":25}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10544},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":141,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10548}]}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":70,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10548}]}}},{"def_id":115,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":115}}],"span":{"data":{"file_id":34,"beg":{"line":11,"col":0},"end":{"line":13,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":10544},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":34,"beg":{"line":13,"col":7},"end":{"line":13,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":10512},{"Deduplicated":10544},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":289,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10547}],"const_generics":[],"trait_refs":[{"Deduplicated":10549}]}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":71,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"Deduplicated":10549}]}}},{"def_id":116,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":116}}],"span":{"data":{"file_id":34,"beg":{"line":631,"col":0},"end":{"line":631,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":3073},{"Deduplicated":10544},{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10550,{"kind":{"TraitImpl":{"id":132,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":46,"generics":{"regions":[],"types":[{"Deduplicated":3073}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":296,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":297,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":298,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,2]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":299,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,3]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":300,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,4]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":301,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[28,5]}}],"vtable":{"id":72,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}},{"def_id":117,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":117}}],"span":{"data":{"file_id":15,"beg":{"line":2871,"col":8},"end":{"line":2871,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":2871,"col":31},"end":{"line":2871,"col":34}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":302,"generics":{"regions":[{"Var":{"Free":0}},{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10552}]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":73,"generics":{"regions":[{"Var":{"Free":0}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10552}]}}},{"def_id":118,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Impl":{"Trait":118}}],"span":{"data":{"file_id":15,"beg":{"line":3121,"col":0},"end":{"line":3121,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10544}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":15,"beg":{"line":3121,"col":8},"end":{"line":3121,"col":13}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":303,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10552}]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":74,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10552}]}}},{"def_id":119,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":119}}],"span":{"data":{"file_id":36,"beg":{"line":83,"col":12},"end":{"line":83,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":304,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":75,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":120,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":120}}],"span":{"data":{"file_id":38,"beg":{"line":317,"col":0},"end":{"line":317,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":317,"col":14},"end":{"line":317,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":10553}],"consts":[],"types":[null,null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":146,"generics":{"regions":[],"types":[{"Deduplicated":10511},{"Deduplicated":10512}],"const_generics":[],"trait_refs":[{"Deduplicated":10553}]}},"kind":{"TraitMethod":[31,0]}}],"vtable":{"id":76,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10553}]}}},{"def_id":121,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":121}}],"span":{"data":{"file_id":39,"beg":{"line":980,"col":0},"end":{"line":980,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":10554},{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"A"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":39,"beg":{"line":980,"col":8},"end":{"line":980,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":147,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10555}]}},"kind":{"TraitMethod":[25,0]}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"vtable":{"id":77,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10555}]}}},{"def_id":122,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":122}}],"span":{"data":{"file_id":39,"beg":{"line":266,"col":12},"end":{"line":266,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[7157,{"kind":{"TraitImpl":{"id":133,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10556,{"kind":{"TraitImpl":{"id":134,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":321,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":322,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":325,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,4]}},null,null],"vtable":null},{"def_id":123,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":123}}],"span":{"data":{"file_id":11,"beg":{"line":511,"col":8},"end":{"line":537,"col":10}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10557,{"kind":{"TraitImpl":{"id":135,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":155,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":156,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,1]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":157,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[16,2]}}],"vtable":null},{"def_id":124,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":124}}],"span":{"data":{"file_id":22,"beg":{"line":348,"col":0},"end":{"line":348,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The hash of an array is the same as that of the corresponding slice,"},{"DocComment":" as required by the `Borrow` implementation."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::hash::BuildHasher;"},{"DocComment":""},{"DocComment":" let b = std::hash::RandomState::new();"},{"DocComment":" let a: [u8; 3] = [0xa8, 0x3c, 0x09];"},{"DocComment":" let s: &[u8] = &[0xa8, 0x3c, 0x09];"},{"DocComment":" assert_eq!(b.hash_one(a), b.hash_one(s));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10546}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":348,"col":8},"end":{"line":348,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":192,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":10511},{"Deduplicated":1436}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10558},{"Deduplicated":2163}]}},"kind":{"TraitMethod":[20,0]}},null],"vtable":null},{"def_id":125,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["hash",0]},{"Ident":["impls",0]},{"Impl":{"Trait":125}}],"span":{"data":{"file_id":20,"beg":{"line":810,"col":12},"end":{"line":810,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"H"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":20,"beg":{"line":198,"col":15},"end":{"line":198,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":1435}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":334,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":1436}],"const_generics":[],"trait_refs":[{"Deduplicated":2163}]}},"kind":{"TraitMethod":[20,0]}},null],"vtable":null},{"def_id":126,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":126}}],"span":{"data":{"file_id":22,"beg":{"line":355,"col":0},"end":{"line":355,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10546}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":1551}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":22,"beg":{"line":355,"col":8},"end":{"line":355,"col":18}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":336,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[{"Deduplicated":10511}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10552}]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":78,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":1551}}],"trait_refs":[{"Deduplicated":10552}]}}},{"def_id":127,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["num",0]},{"Impl":{"Trait":127}}],"span":{"data":{"file_id":36,"beg":{"line":83,"col":12},"end":{"line":83,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":2113}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":337,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}},{"Var":{"Bound":[0,2]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}}],"vtable":{"id":79,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":128,"item_meta":{"name":[{"Ident":["subtle",0]},{"Impl":{"Trait":128}}],"span":{"data":{"file_id":11,"beg":{"line":159,"col":0},"end":{"line":159,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":47,"generics":{"regions":[],"types":[{"Deduplicated":1496},{"Deduplicated":1496},{"Deduplicated":1496}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":196,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[47,0]}}],"vtable":{"id":80,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":129,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":129}}],"span":{"data":{"file_id":43,"beg":{"line":63,"col":12},"end":{"line":63,"col":56}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":30,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10559,{"kind":{"TraitImpl":{"id":136,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10560,{"kind":{"TraitImpl":{"id":137,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":48,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10561,{"kind":{"TraitImpl":{"id":138,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":130,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":130}}],"span":{"data":{"file_id":39,"beg":{"line":266,"col":12},"end":{"line":266,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10562,{"kind":{"TraitImpl":{"id":139,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[10563,{"kind":{"TraitImpl":{"id":140,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":381,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":382,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":385,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[29,4]}},null,null],"vtable":null},{"def_id":131,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["traits",0]},{"Impl":{"Trait":131}}],"span":{"data":{"file_id":18,"beg":{"line":47,"col":0},"end":{"line":54,"col":1}},"generated_from_span":null},"source_text":"impl IsIdentity for T\nwhere\n T: ConstantTimeEq + Identity,\n{\n fn is_identity(&self) -> bool {\n self.ct_eq(&T::identity()).into()\n }\n}","attr_info":{"attributes":[{"DocComment":" Implement generic identity equality testing for a point representations"},{"DocComment":" which have constant-time equality testing and a defined identity"},{"DocComment":" constructor."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":18,"beg":{"line":49,"col":7},"end":{"line":49,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":18,"beg":{"line":49,"col":24},"end":{"line":49,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":280,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10545},{"Deduplicated":10564}]}},"kind":{"TraitMethod":[50,0]}}],"vtable":{"id":81,"generics":{"regions":[],"types":[{"Deduplicated":10511}],"const_generics":[],"trait_refs":[{"Deduplicated":10545},{"Deduplicated":10564}]}}},{"def_id":132,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":132}}],"span":{"data":{"file_id":34,"beg":{"line":120,"col":4},"end":{"line":120,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":46,"generics":{"regions":[],"types":[{"Deduplicated":3073}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":83,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":133,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":133}}],"span":{"data":{"file_id":14,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":391,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":134,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":134}}],"span":{"data":{"file_id":9,"beg":{"line":1997,"col":12},"end":{"line":1997,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10565,{"kind":{"TraitImpl":{"id":141,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":392,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[42,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":84,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":135,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":135}}],"span":{"data":{"file_id":13,"beg":{"line":57,"col":25},"end":{"line":57,"col":62}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10566,{"kind":{"TraitImpl":{"id":142,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":136,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":136}}],"span":{"data":{"file_id":13,"beg":{"line":57,"col":25},"end":{"line":57,"col":62}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":7157}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":137,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":137}}],"span":{"data":{"file_id":43,"beg":{"line":56,"col":12},"end":{"line":56,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":48,"generics":{"regions":[],"types":[{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":87,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":138,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":138}}],"span":{"data":{"file_id":77,"beg":{"line":17,"col":24},"end":{"line":17,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10567,{"kind":{"TraitImpl":{"id":143,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":139,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":139}}],"span":{"data":{"file_id":14,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":411,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":140,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":140}}],"span":{"data":{"file_id":9,"beg":{"line":1997,"col":12},"end":{"line":1997,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":42,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[10568,{"kind":{"TraitImpl":{"id":145,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":412,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[42,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":89,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":141,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":141}}],"span":{"data":{"file_id":9,"beg":{"line":1876,"col":12},"end":{"line":1876,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":1551},{"Deduplicated":1551}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":423,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":90,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":142,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":142}}],"span":{"data":{"file_id":14,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1550}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":425,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":143,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":143}}],"span":{"data":{"file_id":77,"beg":{"line":17,"col":17},"end":{"line":17,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":7427}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":428,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[5,0]}},null],"vtable":null},{"def_id":144,"item_meta":{"name":[{"Ident":["curve25519",0]},{"Ident":["window",0]},{"Impl":{"Trait":144}}],"span":{"data":{"file_id":86,"beg":{"line":231,"col":0},"end":{"line":241,"col":1}},"generated_from_span":null},"source_text":"impl<'a> From<&'a EdwardsPoint> for NafLookupTable5 {\n fn from(A: &'a EdwardsPoint) -> Self {\n let mut Ai = [A.as_projective_niels(); 8];\n let A2 = A.double();\n for i in 0..7 {\n Ai[i + 1] = (&A2 + &Ai[i]).as_extended().as_projective_niels();\n }\n // Now Ai = [A, 3A, 5A, 7A, 9A, 11A, 13A, 15A]\n NafLookupTable5(Ai)\n }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8172},{"Deduplicated":10534}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":407,"generics":{"regions":[{"Var":{"Free":0}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}}],"vtable":null},{"def_id":145,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":145}}],"span":{"data":{"file_id":9,"beg":{"line":1876,"col":12},"end":{"line":1876,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":2925},{"Deduplicated":2925}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":433,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[1,0]}},null],"vtable":{"id":91,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}],"ordered_decls":[{"Type":{"NonRec":11}},{"TraitDecl":{"NonRec":21}},{"TraitDecl":{"NonRec":20}},{"Fun":{"NonRec":192}},{"Type":{"NonRec":15}},{"Type":{"NonRec":13}},{"Type":{"NonRec":14}},{"Type":{"NonRec":16}},{"TraitDecl":{"NonRec":8}},{"Fun":{"NonRec":336}},{"TraitImpl":{"NonRec":126}},{"TraitDecl":{"NonRec":27}},{"Fun":{"NonRec":141}},{"TraitDecl":{"NonRec":23}},{"Fun":{"NonRec":197}},{"TraitDecl":{"NonRec":5}},{"Fun":{"NonRec":18}},{"Fun":{"NonRec":391}},{"TraitImpl":{"NonRec":133}},{"Fun":{"NonRec":411}},{"TraitImpl":{"NonRec":139}},{"TraitDecl":{"NonRec":1}},{"Fun":{"NonRec":3}},{"TraitDecl":{"NonRec":0}},{"Fun":{"NonRec":1}},{"Type":{"NonRec":58}},{"Type":{"NonRec":22}},{"TraitDecl":{"NonRec":42}},{"Fun":{"NonRec":363}},{"Fun":{"NonRec":423}},{"TraitImpl":{"NonRec":141}},{"Fun":{"NonRec":433}},{"TraitImpl":{"NonRec":145}},{"Fun":{"NonRec":392}},{"TraitImpl":{"NonRec":134}},{"Fun":{"NonRec":412}},{"TraitImpl":{"NonRec":140}},{"TraitDecl":{"NonRec":26}},{"Fun":{"NonRec":281}},{"TraitDecl":{"NonRec":22}},{"Fun":{"NonRec":195}},{"Fun":{"NonRec":135}},{"TraitDecl":{"NonRec":3}},{"Fun":{"NonRec":137}},{"Type":{"NonRec":17}},{"Type":{"NonRec":19}},{"Fun":{"NonRec":143}},{"Fun":{"NonRec":140}},{"Fun":{"NonRec":144}},{"Fun":{"NonRec":332}},{"Fun":{"NonRec":302}},{"Fun":{"NonRec":402}},{"Global":{"NonRec":73}},{"TraitImpl":{"NonRec":117}},{"Fun":{"NonRec":303}},{"TraitImpl":{"NonRec":118}},{"Fun":{"NonRec":304}},{"TraitImpl":{"NonRec":119}},{"Fun":{"NonRec":337}},{"TraitImpl":{"NonRec":127}},{"Fun":{"NonRec":142}},{"Fun":{"NonRec":74}},{"Fun":{"NonRec":176}},{"Fun":{"NonRec":177}},{"Fun":{"NonRec":334}},{"TraitImpl":{"NonRec":125}},{"TraitDecl":{"NonRec":29}},{"Fun":{"NonRec":314}},{"Fun":{"NonRec":315}},{"Fun":{"NonRec":318}},{"Fun":{"NonRec":325}},{"Fun":{"NonRec":322}},{"Fun":{"NonRec":321}},{"TraitImpl":{"NonRec":122}},{"Fun":{"NonRec":385}},{"Fun":{"NonRec":382}},{"Fun":{"NonRec":381}},{"TraitImpl":{"NonRec":130}},{"Type":{"NonRec":21}},{"TraitDecl":{"NonRec":25}},{"Fun":{"NonRec":147}},{"TraitImpl":{"NonRec":121}},{"TraitDecl":{"NonRec":24}},{"Fun":{"NonRec":198}},{"Fun":{"NonRec":146}},{"Fun":{"NonRec":199}},{"TraitDecl":{"NonRec":17}},{"TraitDecl":{"NonRec":4}},{"TraitDecl":{"NonRec":7}},{"Fun":{"NonRec":139}},{"Fun":{"NonRec":429}},{"TraitDecl":{"NonRec":10}},{"Fun":{"NonRec":148}},{"TraitDecl":{"NonRec":12}},{"Fun":{"NonRec":150}},{"TraitDecl":{"NonRec":14}},{"Fun":{"NonRec":152}},{"TraitDecl":{"NonRec":15}},{"Fun":{"NonRec":154}},{"TraitDecl":{"NonRec":9}},{"Fun":{"NonRec":145}},{"TraitDecl":{"NonRec":11}},{"Fun":{"NonRec":149}},{"TraitDecl":{"NonRec":13}},{"Fun":{"NonRec":151}},{"Fun":{"NonRec":288}},{"Type":{"NonRec":18}},{"Type":{"NonRec":81}},{"TraitDecl":{"NonRec":46}},{"TraitDecl":{"NonRec":28}},{"Fun":{"NonRec":289}},{"TraitImpl":{"NonRec":115}},{"TraitImpl":{"NonRec":132}},{"Fun":{"NonRec":290}},{"Fun":{"NonRec":291}},{"Fun":{"NonRec":292}},{"Fun":{"NonRec":293}},{"Fun":{"NonRec":294}},{"Fun":{"NonRec":295}},{"Fun":{"NonRec":301}},{"Fun":{"NonRec":300}},{"Fun":{"NonRec":299}},{"Fun":{"NonRec":298}},{"Fun":{"NonRec":297}},{"Fun":{"NonRec":296}},{"TraitImpl":{"NonRec":116}},{"Type":{"NonRec":9}},{"Fun":{"NonRec":333}},{"Fun":{"NonRec":282}},{"TraitImpl":{"NonRec":109}},{"Fun":{"NonRec":196}},{"Fun":{"NonRec":138}},{"Fun":{"NonRec":284}},{"TraitImpl":{"NonRec":112}},{"TraitDecl":{"NonRec":2}},{"Fun":{"NonRec":6}},{"Fun":{"NonRec":136}},{"Fun":{"NonRec":283}},{"TraitImpl":{"NonRec":111}},{"TraitDecl":{"NonRec":16}},{"Fun":{"NonRec":53}},{"Fun":{"NonRec":54}},{"Fun":{"NonRec":55}},{"Fun":{"NonRec":155}},{"Fun":{"NonRec":156}},{"Fun":{"NonRec":157}},{"Type":{"NonRec":1}},{"Type":{"NonRec":2}},{"Fun":{"NonRec":39}},{"TraitImpl":{"NonRec":18}},{"TraitImpl":{"NonRec":16}},{"Type":{"NonRec":3}},{"Fun":{"NonRec":40}},{"TraitImpl":{"NonRec":21}},{"TraitImpl":{"NonRec":19}},{"Type":{"NonRec":4}},{"Fun":{"NonRec":41}},{"TraitImpl":{"NonRec":24}},{"TraitImpl":{"NonRec":22}},{"Fun":{"NonRec":329}},{"Global":{"NonRec":58}},{"Fun":{"NonRec":33}},{"Fun":{"NonRec":35}},{"Fun":{"NonRec":5}},{"Fun":{"NonRec":2}},{"Fun":{"NonRec":43}},{"TraitImpl":{"NonRec":27}},{"Fun":{"NonRec":42}},{"TraitImpl":{"NonRec":25}},{"TraitImpl":{"NonRec":26}},{"Type":{"NonRec":5}},{"Fun":{"NonRec":44}},{"TraitImpl":{"NonRec":30}},{"TraitImpl":{"NonRec":28}},{"TraitDecl":{"NonRec":18}},{"Fun":{"NonRec":31}},{"Fun":{"NonRec":159}},{"Global":{"NonRec":10}},{"Fun":{"NonRec":158}},{"Global":{"NonRec":9}},{"Fun":{"NonRec":45}},{"TraitImpl":{"NonRec":31}},{"Fun":{"NonRec":46}},{"TraitImpl":{"NonRec":32}},{"Fun":{"NonRec":47}},{"TraitImpl":{"NonRec":33}},{"Fun":{"NonRec":48}},{"TraitImpl":{"NonRec":34}},{"Fun":{"NonRec":49}},{"TraitImpl":{"NonRec":35}},{"TraitDecl":{"NonRec":19}},{"Fun":{"NonRec":330}},{"Global":{"NonRec":59}},{"Fun":{"NonRec":162}},{"Fun":{"NonRec":36}},{"Fun":{"NonRec":37}},{"Fun":{"NonRec":328}},{"Global":{"NonRec":57}},{"Fun":{"NonRec":153}},{"Fun":{"NonRec":26}},{"Fun":{"NonRec":24}},{"Fun":{"NonRec":21}},{"Fun":{"NonRec":22}},{"Fun":{"NonRec":426}},{"Global":{"NonRec":85}},{"Fun":{"NonRec":50}},{"TraitImpl":{"NonRec":36}},{"Fun":{"NonRec":29}},{"Fun":{"NonRec":52}},{"Fun":{"NonRec":28}},{"Fun":{"NonRec":51}},{"Fun":{"NonRec":438}},{"TraitImpl":{"NonRec":37}},{"Fun":{"NonRec":57}},{"Fun":{"NonRec":56}},{"Fun":{"NonRec":439}},{"TraitImpl":{"NonRec":38}},{"Type":{"NonRec":7}},{"Fun":{"NonRec":58}},{"Fun":{"NonRec":59}},{"Fun":{"NonRec":60}},{"Fun":{"NonRec":38}},{"Fun":{"NonRec":61}},{"Fun":{"NonRec":62}},{"TraitImpl":{"NonRec":39}},{"Fun":{"NonRec":63}},{"TraitImpl":{"NonRec":40}},{"Fun":{"NonRec":64}},{"TraitImpl":{"NonRec":41}},{"Fun":{"NonRec":65}},{"TraitImpl":{"NonRec":42}},{"Fun":{"NonRec":32}},{"Fun":{"NonRec":27}},{"Fun":{"NonRec":66}},{"TraitImpl":{"NonRec":43}},{"Fun":{"NonRec":67}},{"TraitImpl":{"NonRec":44}},{"Fun":{"NonRec":20}},{"Fun":{"NonRec":401}},{"Global":{"NonRec":1}},{"TraitImpl":{"NonRec":7}},{"Fun":{"NonRec":68}},{"TraitImpl":{"NonRec":45}},{"Fun":{"NonRec":69}},{"TraitImpl":{"NonRec":46}},{"Fun":{"NonRec":70}},{"TraitImpl":{"NonRec":47}},{"Fun":{"NonRec":71}},{"TraitImpl":{"NonRec":48}},{"Type":{"NonRec":12}},{"Fun":{"NonRec":374}},{"Fun":{"NonRec":406}},{"Type":{"NonRec":79}},{"Fun":{"NonRec":435}},{"Fun":{"NonRec":431}},{"Fun":{"NonRec":432}},{"Fun":{"NonRec":408}},{"Fun":{"NonRec":94}},{"Fun":{"NonRec":99}},{"Fun":{"NonRec":427}},{"Global":{"NonRec":86}},{"Fun":{"NonRec":93}},{"Fun":{"NonRec":407}},{"Fun":{"NonRec":405}},{"Fun":{"NonRec":376}},{"Global":{"NonRec":67}},{"Fun":{"NonRec":377}},{"Fun":{"NonRec":409}},{"Fun":{"NonRec":422}},{"Global":{"NonRec":82}},{"Fun":{"NonRec":17}},{"TraitImpl":{"NonRec":6}},{"TraitImpl":{"NonRec":4}},{"TraitImpl":{"NonRec":8}},{"TraitImpl":{"NonRec":9}},{"Fun":{"NonRec":23}},{"TraitImpl":{"NonRec":10}},{"TraitImpl":{"NonRec":11}},{"Fun":{"NonRec":25}},{"TraitImpl":{"NonRec":12}},{"TraitImpl":{"NonRec":13}},{"TraitImpl":{"NonRec":14}},{"Fun":{"NonRec":30}},{"TraitImpl":{"NonRec":15}},{"Fun":{"NonRec":160}},{"Global":{"NonRec":11}},{"Fun":{"NonRec":161}},{"Fun":{"NonRec":34}},{"Fun":{"NonRec":375}},{"Fun":{"NonRec":378}},{"Fun":{"NonRec":410}},{"Type":{"NonRec":74}},{"Fun":{"NonRec":373}},{"Fun":{"NonRec":276}},{"Fun":{"NonRec":278}},{"Fun":{"NonRec":100}},{"Fun":{"NonRec":103}},{"Fun":{"NonRec":123}},{"Fun":{"NonRec":124}},{"Fun":{"NonRec":121}},{"Fun":{"NonRec":125}},{"Fun":{"NonRec":379}},{"Fun":{"NonRec":380}},{"Fun":{"NonRec":279}},{"Fun":{"NonRec":388}},{"Global":{"NonRec":68}},{"Type":{"NonRec":10}},{"Fun":{"NonRec":165}},{"TraitImpl":{"NonRec":98}},{"TraitImpl":{"NonRec":96}},{"Fun":{"NonRec":166}},{"TraitImpl":{"NonRec":99}},{"Fun":{"NonRec":167}},{"TraitImpl":{"NonRec":100}},{"Fun":{"NonRec":168}},{"Fun":{"NonRec":445}},{"Fun":{"NonRec":444}},{"TraitImpl":{"NonRec":101}},{"Fun":{"NonRec":170}},{"Fun":{"NonRec":169}},{"TraitImpl":{"NonRec":102}},{"TraitImpl":{"NonRec":103}},{"Fun":{"NonRec":171}},{"TraitImpl":{"NonRec":104}},{"Fun":{"NonRec":446}},{"TraitImpl":{"NonRec":105}},{"Fun":{"NonRec":172}},{"Fun":{"NonRec":9}},{"Type":{"NonRec":6}},{"Fun":{"NonRec":173}},{"Fun":{"NonRec":119}},{"Fun":{"NonRec":175}},{"Fun":{"NonRec":174}},{"TraitImpl":{"NonRec":106}},{"TraitImpl":{"NonRec":107}},{"Fun":{"NonRec":72}},{"TraitImpl":{"NonRec":51}},{"TraitImpl":{"NonRec":49}},{"Fun":{"NonRec":73}},{"TraitImpl":{"NonRec":52}},{"Fun":{"NonRec":79}},{"Fun":{"NonRec":76}},{"TraitImpl":{"NonRec":53}},{"Fun":{"NonRec":77}},{"TraitImpl":{"NonRec":55}},{"Fun":{"NonRec":440}},{"TraitImpl":{"NonRec":54}},{"Fun":{"NonRec":78}},{"TraitImpl":{"NonRec":56}},{"Fun":{"NonRec":80}},{"Fun":{"NonRec":194}},{"Fun":{"NonRec":193}},{"Fun":{"NonRec":81}},{"Fun":{"NonRec":86}},{"Fun":{"NonRec":82}},{"TraitImpl":{"NonRec":57}},{"Fun":{"NonRec":83}},{"TraitImpl":{"NonRec":60}},{"TraitImpl":{"NonRec":58}},{"Fun":{"NonRec":84}},{"TraitImpl":{"NonRec":61}},{"Fun":{"NonRec":85}},{"TraitImpl":{"NonRec":62}},{"Fun":{"NonRec":87}},{"TraitImpl":{"NonRec":63}},{"Fun":{"NonRec":88}},{"TraitImpl":{"NonRec":64}},{"Fun":{"NonRec":89}},{"TraitImpl":{"NonRec":65}},{"Fun":{"NonRec":90}},{"Fun":{"NonRec":442}},{"Fun":{"NonRec":441}},{"TraitImpl":{"NonRec":66}},{"Fun":{"NonRec":91}},{"TraitImpl":{"NonRec":67}},{"Fun":{"NonRec":92}},{"TraitImpl":{"NonRec":68}},{"Fun":{"NonRec":443}},{"TraitImpl":{"NonRec":69}},{"Fun":{"NonRec":11}},{"Fun":{"NonRec":13}},{"Fun":{"NonRec":95}},{"Fun":{"NonRec":96}},{"Type":{"NonRec":32}},{"Fun":{"NonRec":97}},{"Fun":{"NonRec":98}},{"TraitImpl":{"NonRec":70}},{"Fun":{"NonRec":104}},{"TraitImpl":{"NonRec":74}},{"Fun":{"NonRec":106}},{"TraitImpl":{"NonRec":76}},{"Fun":{"NonRec":110}},{"TraitImpl":{"NonRec":80}},{"Fun":{"NonRec":112}},{"TraitImpl":{"NonRec":82}},{"Fun":{"NonRec":113}},{"TraitImpl":{"NonRec":83}},{"Fun":{"NonRec":114}},{"TraitImpl":{"NonRec":84}},{"Fun":{"NonRec":115}},{"TraitImpl":{"NonRec":85}},{"TraitImpl":{"NonRec":93}},{"TraitImpl":{"NonRec":94}},{"Fun":{"NonRec":277}},{"Fun":{"NonRec":122}},{"Fun":{"NonRec":126}},{"Fun":{"NonRec":127}},{"Fun":{"NonRec":128}},{"Fun":{"NonRec":129}},{"Fun":{"NonRec":131}},{"Fun":{"NonRec":130}},{"Fun":{"NonRec":163}},{"Fun":{"NonRec":280}},{"Fun":{"NonRec":132}},{"Fun":{"NonRec":118}},{"Fun":{"NonRec":133}},{"Fun":{"NonRec":134}},{"TraitImpl":{"NonRec":95}},{"Type":{"NonRec":0}},{"TraitImpl":{"NonRec":1}},{"Fun":{"NonRec":437}},{"TraitImpl":{"NonRec":0}},{"TraitImpl":{"NonRec":2}},{"Fun":{"NonRec":8}},{"TraitImpl":{"NonRec":3}},{"Fun":{"NonRec":10}},{"Fun":{"NonRec":12}},{"Fun":{"NonRec":14}},{"Fun":{"NonRec":15}},{"Fun":{"NonRec":16}},{"Fun":{"NonRec":101}},{"TraitImpl":{"NonRec":71}},{"Fun":{"NonRec":102}},{"TraitImpl":{"NonRec":72}},{"TraitImpl":{"NonRec":73}},{"Fun":{"NonRec":105}},{"TraitImpl":{"NonRec":75}},{"Fun":{"NonRec":107}},{"TraitImpl":{"NonRec":77}},{"Fun":{"NonRec":108}},{"TraitImpl":{"NonRec":78}},{"Fun":{"NonRec":109}},{"TraitImpl":{"NonRec":79}},{"Fun":{"NonRec":111}},{"TraitImpl":{"NonRec":81}},{"Fun":{"NonRec":117}},{"TraitImpl":{"NonRec":87}},{"Fun":{"NonRec":120}},{"TraitImpl":{"NonRec":90}},{"TraitImpl":{"NonRec":88}},{"TraitImpl":{"NonRec":91}},{"TraitImpl":{"NonRec":89}},{"TraitImpl":{"NonRec":92}},{"Fun":{"NonRec":116}},{"TraitImpl":{"NonRec":86}},{"Fun":{"NonRec":164}}]},"has_errors":false} \ No newline at end of file diff --git a/verification/extract.sh b/verification/extract.sh index c4eeaba..f19df65 100755 --- a/verification/extract.sh +++ b/verification/extract.sh @@ -31,7 +31,12 @@ charon cargo --preset=aeneas \ --start-from crate::backend::serial::curve_models \ --start-from crate::edwards \ --opaque 'crate::field::_::internal_invert_batch' \ - --opaque 'crate::backend::serial::scalar_mul' \ + --opaque 'crate::backend::serial::scalar_mul::variable_base' \ + --opaque 'crate::backend::serial::scalar_mul::vartime_triple_base' \ + --opaque 'crate::scalar::_::non_adjacent_form_128' \ + --opaque 'crate::backend::serial::scalar_mul::straus' \ + --opaque 'crate::backend::serial::scalar_mul::precomputed_straus' \ + --opaque 'crate::backend::serial::scalar_mul::pippenger' \ --opaque 'crate::backend::vector' \ --opaque 'crate::backend::get_selected_backend' \ --opaque 'crate::backend::scalar_fits_in_128_bits' \ diff --git a/verification/gen/CurveField/Funs.lean b/verification/gen/CurveField/Funs.lean index 88b58a0..1ad38d6 100644 --- a/verification/gen/CurveField/Funs.lean +++ b/verification/gen/CurveField/Funs.lean @@ -1971,6 +1971,148 @@ def backend.serial.curve_models.ProjectiveNielsPoint.Insts.CoreFmtDebug : backend.serial.curve_models.ProjectiveNielsPoint.Insts.CoreFmtDebug.fmt } +/-- [curve25519::backend::serial::scalar_mul::vartime_double_base::dsm_top_index]: + Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs', lines 29:0-37:1 -/ +def backend.serial.scalar_mul.vartime_double_base.dsm_top_index + (a_naf : Array Std.I8 256#usize) (b_naf : Array Std.I8 256#usize) : + Result Std.Usize + := do + ok 255#usize + +/-- [curve25519::window::{curve25519::window::NafLookupTable5}::select]: + Source: 'curve25519/solana-ed25519/src/window.rs', lines 217:4-222:5 + Visibility: public -/ +def window.NafLookupTable5.select + {T : Type} (coremarkerCopyInst : core.marker.Copy T) + (self : window.NafLookupTable5 T) (x : Std.Usize) : + Result T + := do + let left_val ← lift (x &&& 1#usize) + massert (left_val = 1#usize) + massert (x < 16#usize) + let i ← x / 2#usize + Array.index_usize self i + +/-- [curve25519::backend::serial::scalar_mul::vartime_double_base::dsm_step_p]: + Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs', lines 86:0-98:1 -/ +def backend.serial.scalar_mul.vartime_double_base.dsm_step_p + (t : backend.serial.curve_models.CompletedPoint) + (table : window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) (d : Std.I8) : + Result backend.serial.curve_models.CompletedPoint + := do + if d > 0#i8 + then + let ep ← backend.serial.curve_models.CompletedPoint.as_extended t + let i ← lift (IScalar.hcast .Usize d) + let pnp ← + window.NafLookupTable5.select + backend.serial.curve_models.ProjectiveNielsPoint.Insts.CoreMarkerCopy + table i + Shared0EdwardsPoint.Insts.CoreOpsArithAddSharedAProjectiveNielsPointCompletedPoint.add + ep pnp + else + if d < 0#i8 + then + let ep ← backend.serial.curve_models.CompletedPoint.as_extended t + let i ← -. d + let i1 ← lift (IScalar.hcast .Usize i) + let pnp ← + window.NafLookupTable5.select + backend.serial.curve_models.ProjectiveNielsPoint.Insts.CoreMarkerCopy + table i1 + Shared0EdwardsPoint.Insts.CoreOpsArithSubSharedAProjectiveNielsPointCompletedPoint.sub + ep pnp + else ok t + +/-- [curve25519::backend::serial::scalar_mul::vartime_double_base::dsm_step_b]: + Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs', lines 118:0-124:1 -/ +def backend.serial.scalar_mul.vartime_double_base.dsm_step_b + (t : backend.serial.curve_models.CompletedPoint) + (table : window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) (d : Std.I8) : + Result backend.serial.curve_models.CompletedPoint + := do + backend.serial.scalar_mul.vartime_double_base.dsm_step_p t table d + +/-- [curve25519::backend::serial::scalar_mul::vartime_double_base::dsm_loop]: loop body 0: + Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs', lines 72:4-79:5 -/ +@[rust_loop_body] +def backend.serial.scalar_mul.vartime_double_base.dsm_loop_loop.body + (a_naf : Array Std.I8 256#usize) (b_naf : Array Std.I8 256#usize) + (table_a : window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) + (table_b : window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) + (r : backend.serial.curve_models.ProjectivePoint) (j : Std.Usize) : + Result (ControlFlow (backend.serial.curve_models.ProjectivePoint × + Std.Usize) backend.serial.curve_models.ProjectivePoint) + := do + if j > 0#usize + then + let idx ← j - 1#usize + let t0 ← backend.serial.curve_models.ProjectivePoint.double r + let i ← Array.index_usize a_naf idx + let t1 ← + backend.serial.scalar_mul.vartime_double_base.dsm_step_p t0 table_a i + let i1 ← Array.index_usize b_naf idx + let t2 ← + backend.serial.scalar_mul.vartime_double_base.dsm_step_b t1 table_b i1 + let r1 ← backend.serial.curve_models.CompletedPoint.as_projective t2 + ok (cont (r1, idx)) + else ok (done r) + +/-- [curve25519::backend::serial::scalar_mul::vartime_double_base::dsm_loop]: loop 0: + Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs', lines 72:4-79:5 -/ +@[rust_loop] +def backend.serial.scalar_mul.vartime_double_base.dsm_loop_loop + (a_naf : Array Std.I8 256#usize) (b_naf : Array Std.I8 256#usize) + (table_a : window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) + (table_b : window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) + (r : backend.serial.curve_models.ProjectivePoint) (j : Std.Usize) : + Result backend.serial.curve_models.ProjectivePoint + := do + loop + (fun (r1, j1) => + backend.serial.scalar_mul.vartime_double_base.dsm_loop_loop.body a_naf + b_naf table_a table_b r1 j1) + (r, j) + +/-- [curve25519::backend::serial::scalar_mul::vartime_double_base::dsm_loop]: + Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs', lines 63:0-81:1 -/ +def backend.serial.scalar_mul.vartime_double_base.dsm_loop + (i : Std.Usize) (a_naf : Array Std.I8 256#usize) + (b_naf : Array Std.I8 256#usize) + (table_a : window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) + (table_b : window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) : + Result backend.serial.curve_models.ProjectivePoint + := do + let r ← + backend.serial.curve_models.ProjectivePoint.Insts.Curve25519TraitsIdentity.identity + let j ← i + 1#usize + backend.serial.scalar_mul.vartime_double_base.dsm_loop_loop a_naf b_naf + table_a table_b r j + +/-- [curve25519::edwards::{curve25519::edwards::EdwardsPoint}::as_projective]: + Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 541:4-547:5 -/ +def edwards.EdwardsPoint.as_projective + (self : edwards.EdwardsPoint) : + Result backend.serial.curve_models.ProjectivePoint + := do + ok { X := self.X, Y := self.Y, Z := self.Z } + +/-- [curve25519::edwards::{curve25519::edwards::EdwardsPoint}::double]: + Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 774:4-776:5 -/ +def edwards.EdwardsPoint.double + (self : edwards.EdwardsPoint) : Result edwards.EdwardsPoint := do + let pp ← edwards.EdwardsPoint.as_projective self + let cp ← backend.serial.curve_models.ProjectivePoint.double pp + backend.serial.curve_models.CompletedPoint.as_extended cp + /-- [curve25519::backend::serial::u64::constants::EDWARDS_D2] Source: 'curve25519/solana-ed25519/src/backend/serial/u64/constants.rs', lines 54:0-60:3 -/ @[global_simps, irreducible] @@ -1982,16 +2124,230 @@ def backend.serial.u64.constants.EDWARDS_D2 1815898335770999#u64, 633789495995903#u64 ]) -/-- [curve25519::backend::serial::u64::constants::SQRT_M1] - Source: 'curve25519/solana-ed25519/src/backend/serial/u64/constants.rs', lines 99:0-105:3 -/ -@[global_simps, irreducible] -def backend.serial.u64.constants.SQRT_M1 - : Result backend.serial.u64.field.FieldElement51 := - backend.serial.u64.field.FieldElement51.from_limbs - (Array.make 5#usize [ - 1718705420411056#u64, 234908883556509#u64, 2233514472574048#u64, - 2117202627021982#u64, 765476049583133#u64 - ]) +/-- [curve25519::edwards::{curve25519::edwards::EdwardsPoint}::as_projective_niels]: + Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 528:4-535:5 -/ +def edwards.EdwardsPoint.as_projective_niels + (self : edwards.EdwardsPoint) : + Result backend.serial.curve_models.ProjectiveNielsPoint + := do + let fe ← + Shared0FieldElement51.Insts.CoreOpsArithAddSharedAFieldElement51FieldElement51.add + self.Y self.X + let fe1 ← + Shared0FieldElement51.Insts.CoreOpsArithSubSharedAFieldElement51FieldElement51.sub + self.Y self.X + let fe2 ← backend.serial.u64.constants.EDWARDS_D2 + let fe3 ← + Shared0FieldElement51.Insts.CoreOpsArithMulSharedAFieldElement51FieldElement51.mul + self.T fe2 + ok { Y_plus_X := fe, Y_minus_X := fe1, Z := self.Z, T2d := fe3 } + +/-- [curve25519::window::{impl core::convert::From<&'a curve25519::edwards::EdwardsPoint> for curve25519::window::NafLookupTable5}::from]: loop body 0: + Source: 'curve25519/solana-ed25519/src/window.rs', lines 235:8-237:9 + Visibility: public -/ +@[rust_loop_body] +def + window.NafLookupTable5ProjectiveNielsPoint.Insts.CoreConvertFromSharedAEdwardsPoint.from_loop.body + (A2 : edwards.EdwardsPoint) (iter : core.ops.range.Range Std.Usize) + (Ai : Array backend.serial.curve_models.ProjectiveNielsPoint 8#usize) : + Result (ControlFlow ((core.ops.range.Range Std.Usize) × (Array + backend.serial.curve_models.ProjectiveNielsPoint 8#usize)) (Array + backend.serial.curve_models.ProjectiveNielsPoint 8#usize)) + := do + let (o, iter1) ← + core.iter.range.IteratorRange.next core.iter.range.StepUsize iter + match o with + | none => ok (done Ai) + | some i => + let pnp ← Array.index_usize Ai i + let cp ← + Shared0EdwardsPoint.Insts.CoreOpsArithAddSharedAProjectiveNielsPointCompletedPoint.add + A2 pnp + let ep ← backend.serial.curve_models.CompletedPoint.as_extended cp + let pnp1 ← edwards.EdwardsPoint.as_projective_niels ep + let i1 ← i + 1#usize + let a ← Array.update Ai i1 pnp1 + ok (cont (iter1, a)) + +/-- [curve25519::window::{impl core::convert::From<&'a curve25519::edwards::EdwardsPoint> for curve25519::window::NafLookupTable5}::from]: loop 0: + Source: 'curve25519/solana-ed25519/src/window.rs', lines 235:8-237:9 + Visibility: public -/ +@[rust_loop] +def + window.NafLookupTable5ProjectiveNielsPoint.Insts.CoreConvertFromSharedAEdwardsPoint.from_loop + (iter : core.ops.range.Range Std.Usize) + (Ai : Array backend.serial.curve_models.ProjectiveNielsPoint 8#usize) + (A2 : edwards.EdwardsPoint) : + Result (Array backend.serial.curve_models.ProjectiveNielsPoint 8#usize) + := do + loop + (fun (iter1, Ai1) => + window.NafLookupTable5ProjectiveNielsPoint.Insts.CoreConvertFromSharedAEdwardsPoint.from_loop.body + A2 iter1 Ai1) + (iter, Ai) + +/-- [curve25519::window::{impl core::convert::From<&'a curve25519::edwards::EdwardsPoint> for curve25519::window::NafLookupTable5}::from]: + Source: 'curve25519/solana-ed25519/src/window.rs', lines 232:4-240:5 + Visibility: public -/ +def + window.NafLookupTable5ProjectiveNielsPoint.Insts.CoreConvertFromSharedAEdwardsPoint.from + (A : edwards.EdwardsPoint) : + Result (window.NafLookupTable5 + backend.serial.curve_models.ProjectiveNielsPoint) + := do + let pnp ← edwards.EdwardsPoint.as_projective_niels A + let Ai := Array.repeat 8#usize pnp + let A2 ← edwards.EdwardsPoint.double A + let Ai1 ← + window.NafLookupTable5ProjectiveNielsPoint.Insts.CoreConvertFromSharedAEdwardsPoint.from_loop + { start := 0#usize, «end» := 7#usize } Ai A2 + ok Ai1 + +/-- [curve25519::scalar::{curve25519::scalar::Scalar}::non_adjacent_form]: loop body 1: + Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1044:12-1047:13 -/ +@[rust_loop_body] +def scalar.Scalar.non_adjacent_form_loop0_loop0.body + (self : scalar.Scalar) (k : Std.Usize) (t : Std.U64) (bi : Std.Usize) : + Result (ControlFlow (Std.U64 × Std.Usize) (scalar.Scalar × Std.U64)) + := do + if bi < 8#usize + then + let i ← 8#usize * k + let i1 ← i + bi + let i2 ← Array.index_usize self.bytes i1 + let i3 ← lift (UScalar.cast .U64 i2) + let i4 ← 8#usize * bi + let i5 ← i3 <<< i4 + let t1 ← lift (t ||| i5) + let bi1 ← bi + 1#usize + ok (cont (t1, bi1)) + else ok (done (self, t)) + +/-- [curve25519::scalar::{curve25519::scalar::Scalar}::non_adjacent_form]: loop 1: + Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1044:12-1047:13 -/ +@[rust_loop] +def scalar.Scalar.non_adjacent_form_loop0_loop0 + (self : scalar.Scalar) (k : Std.Usize) (t : Std.U64) (bi : Std.Usize) : + Result (scalar.Scalar × Std.U64) + := do + loop + (fun (t1, bi1) => scalar.Scalar.non_adjacent_form_loop0_loop0.body self k + t1 bi1) + (t, bi) + +/-- [curve25519::scalar::{curve25519::scalar::Scalar}::non_adjacent_form]: loop body 0: + Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1041:8-1050:9 -/ +@[rust_loop_body] +def scalar.Scalar.non_adjacent_form_loop0.body + (self : scalar.Scalar) (x_u64 : Array Std.U64 5#usize) (k : Std.Usize) : + Result (ControlFlow (scalar.Scalar × (Array Std.U64 5#usize) × Std.Usize) + (Array Std.U64 5#usize)) + := do + if k < 4#usize + then + let (self1, t) ← + scalar.Scalar.non_adjacent_form_loop0_loop0 self k 0#u64 0#usize + let a ← Array.update x_u64 k t + let k1 ← k + 1#usize + ok (cont (self1, a, k1)) + else ok (done x_u64) + +/-- [curve25519::scalar::{curve25519::scalar::Scalar}::non_adjacent_form]: loop 0: + Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1041:8-1050:9 -/ +@[rust_loop] +def scalar.Scalar.non_adjacent_form_loop0 + (self : scalar.Scalar) (x_u64 : Array Std.U64 5#usize) (k : Std.Usize) : + Result (Array Std.U64 5#usize) + := do + loop + (fun (self1, x_u641, k1) => scalar.Scalar.non_adjacent_form_loop0.body + self1 x_u641 k1) + (self, x_u64, k) + +/-- [curve25519::scalar::{curve25519::scalar::Scalar}::non_adjacent_form]: loop body 2: + Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1057:8-1090:9 -/ +@[rust_loop_body] +def scalar.Scalar.non_adjacent_form_loop1.body + (w : Std.Usize) (x_u64 : Array Std.U64 5#usize) (width : Std.U64) + (window_mask : Std.U64) (naf : Array Std.I8 256#usize) (pos : Std.Usize) + (carry : Std.U64) : + Result (ControlFlow ((Array Std.I8 256#usize) × Std.Usize × Std.U64) (Array + Std.I8 256#usize)) + := do + if pos < 256#usize + then + let u64_idx ← pos / 64#usize + let bit_idx ← pos % 64#usize + let i ← 64#usize - w + let bit_buf ← + if bit_idx < i + then do + let i1 ← Array.index_usize x_u64 u64_idx + i1 >>> bit_idx + else + do + let i1 ← Array.index_usize x_u64 u64_idx + let i2 ← i1 >>> bit_idx + let i3 ← 1#usize + u64_idx + let i4 ← Array.index_usize x_u64 i3 + let i5 ← 64#usize - bit_idx + let i6 ← i4 <<< i5 + ok (i2 ||| i6) + let i1 ← lift (bit_buf &&& window_mask) + let window ← carry + i1 + let i2 ← lift (window &&& 1#u64) + if i2 = 0#u64 + then let pos1 ← pos + 1#usize + ok (cont (naf, pos1, carry)) + else + let i3 ← width / 2#u64 + let (naf1, carry1) ← + if window < i3 + then + do + let i4 ← lift (UScalar.hcast .I8 window) + let a ← Array.update naf pos i4 + ok (a, 0#u64) + else + do + let i4 ← lift (UScalar.hcast .I8 window) + let i5 ← lift (UScalar.hcast .I8 width) + let i6 ← lift (core.num.I8.wrapping_sub i4 i5) + let a ← Array.update naf pos i6 + ok (a, 1#u64) + let pos1 ← pos + w + ok (cont (naf1, pos1, carry1)) + else ok (done naf) + +/-- [curve25519::scalar::{curve25519::scalar::Scalar}::non_adjacent_form]: loop 2: + Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1057:8-1090:9 -/ +@[rust_loop] +def scalar.Scalar.non_adjacent_form_loop1 + (w : Std.Usize) (naf : Array Std.I8 256#usize) + (x_u64 : Array Std.U64 5#usize) (width : Std.U64) (window_mask : Std.U64) + (pos : Std.Usize) (carry : Std.U64) : + Result (Array Std.I8 256#usize) + := do + loop + (fun (naf1, pos1, carry1) => scalar.Scalar.non_adjacent_form_loop1.body w + x_u64 width window_mask naf1 pos1 carry1) + (naf, pos, carry) + +/-- [curve25519::scalar::{curve25519::scalar::Scalar}::non_adjacent_form]: + Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1028:4-1093:5 -/ +def scalar.Scalar.non_adjacent_form + (self : scalar.Scalar) (w : Std.Usize) : + Result (Array Std.I8 256#usize) + := do + massert (w >= 2#usize) + massert (w <= 8#usize) + let naf := Array.repeat 256#usize 0#i8 + let x_u64 := Array.repeat 5#usize 0#u64 + let x_u641 ← scalar.Scalar.non_adjacent_form_loop0 self x_u64 0#usize + let width ← 1#u64 <<< w + let window_mask ← width - 1#u64 + scalar.Scalar.non_adjacent_form_loop1 w naf x_u641 width window_mask 0#usize + 0#u64 /-- [curve25519::backend::serial::u64::constants::ED25519_BASEPOINT_POINT] Source: 'curve25519/solana-ed25519/src/backend/serial/u64/constants.rs', lines 163:0-186:2 @@ -2022,6 +2378,40 @@ def backend.serial.u64.constants.ED25519_BASEPOINT_POINT ]) ok { X := fe, Y := fe1, Z := fe2, T := fe3 } +/-- [curve25519::backend::serial::scalar_mul::vartime_double_base::mul]: + Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs', lines 126:0-147:1 + Visibility: public -/ +def backend.serial.scalar_mul.vartime_double_base.mul + (a : scalar.Scalar) (A : edwards.EdwardsPoint) (b : scalar.Scalar) : + Result edwards.EdwardsPoint + := do + let a_naf ← scalar.Scalar.non_adjacent_form a 5#usize + let b_naf ← scalar.Scalar.non_adjacent_form b 5#usize + let i ← + backend.serial.scalar_mul.vartime_double_base.dsm_top_index a_naf b_naf + let table_A ← + window.NafLookupTable5ProjectiveNielsPoint.Insts.CoreConvertFromSharedAEdwardsPoint.from + A + let ep ← backend.serial.u64.constants.ED25519_BASEPOINT_POINT + let table_B ← + window.NafLookupTable5ProjectiveNielsPoint.Insts.CoreConvertFromSharedAEdwardsPoint.from + ep + let r ← + backend.serial.scalar_mul.vartime_double_base.dsm_loop i a_naf b_naf + table_A table_B + backend.serial.curve_models.ProjectivePoint.as_extended r + +/-- [curve25519::backend::serial::u64::constants::SQRT_M1] + Source: 'curve25519/solana-ed25519/src/backend/serial/u64/constants.rs', lines 99:0-105:3 -/ +@[global_simps, irreducible] +def backend.serial.u64.constants.SQRT_M1 + : Result backend.serial.u64.field.FieldElement51 := + backend.serial.u64.field.FieldElement51.from_limbs + (Array.make 5#usize [ + 1718705420411056#u64, 234908883556509#u64, 2233514472574048#u64, + 2117202627021982#u64, 765476049583133#u64 + ]) + /-- [curve25519::backend::serial::u64::field::{impl core::clone::Clone for curve25519::backend::serial::u64::field::FieldElement51}::clone]: Source: 'curve25519/solana-ed25519/src/backend/serial/u64/field.rs', lines 42:15-42:20 Visibility: public -/ @@ -2327,24 +2717,6 @@ def backend.vartime_double_base_mul | backend.BackendKind.Serial => backend.serial.scalar_mul.vartime_double_base.mul a A b -/-- [curve25519::edwards::{curve25519::edwards::EdwardsPoint}::as_projective_niels]: - Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 528:4-535:5 -/ -def edwards.EdwardsPoint.as_projective_niels - (self : edwards.EdwardsPoint) : - Result backend.serial.curve_models.ProjectiveNielsPoint - := do - let fe ← - Shared0FieldElement51.Insts.CoreOpsArithAddSharedAFieldElement51FieldElement51.add - self.Y self.X - let fe1 ← - Shared0FieldElement51.Insts.CoreOpsArithSubSharedAFieldElement51FieldElement51.sub - self.Y self.X - let fe2 ← backend.serial.u64.constants.EDWARDS_D2 - let fe3 ← - Shared0FieldElement51.Insts.CoreOpsArithMulSharedAFieldElement51FieldElement51.mul - self.T fe2 - ok { Y_plus_X := fe, Y_minus_X := fe1, Z := self.Z, T2d := fe3 } - /-- [curve25519::edwards::{impl core::ops::arith::Add<&'a curve25519::edwards::EdwardsPoint, curve25519::edwards::EdwardsPoint> for &'_1 curve25519::edwards::EdwardsPoint}::add]: Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 785:4-787:5 Visibility: public -/ @@ -2986,14 +3358,6 @@ def edwards.EdwardsPoint.Insts.CoreDefaultDefault : core.default.Default default := edwards.EdwardsPoint.Insts.CoreDefaultDefault.default } -/-- [curve25519::edwards::{curve25519::edwards::EdwardsPoint}::as_projective]: - Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 541:4-547:5 -/ -def edwards.EdwardsPoint.as_projective - (self : edwards.EdwardsPoint) : - Result backend.serial.curve_models.ProjectivePoint - := do - ok { X := self.X, Y := self.Y, Z := self.Z } - /-- [curve25519::edwards::{impl curve25519::traits::ValidityCheck for curve25519::edwards::EdwardsPoint}::is_valid]: Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 474:4-479:5 -/ def edwards.EdwardsPoint.Insts.Curve25519TraitsValidityCheck.is_valid @@ -3250,14 +3614,6 @@ def edwards.EdwardsPoint.compress let ap ← edwards.EdwardsPoint.to_affine self edwards.affine.AffinePoint.compress ap -/-- [curve25519::edwards::{curve25519::edwards::EdwardsPoint}::double]: - Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 774:4-776:5 -/ -def edwards.EdwardsPoint.double - (self : edwards.EdwardsPoint) : Result edwards.EdwardsPoint := do - let pp ← edwards.EdwardsPoint.as_projective self - let cp ← backend.serial.curve_models.ProjectivePoint.double pp - backend.serial.curve_models.CompletedPoint.as_extended cp - /-- Trait implementation: [curve25519::edwards::{impl core::ops::arith::Add<&'a curve25519::edwards::EdwardsPoint, curve25519::edwards::EdwardsPoint> for &'_1 curve25519::edwards::EdwardsPoint}] Source: 'curve25519/solana-ed25519/src/edwards.rs', lines 783:0-788:1 -/ @[reducible] @@ -3417,7 +3773,7 @@ def Shared0Scalar.Insts.CoreOpsArithMulSharedAEdwardsPointEdwardsPoint : } /-- [curve25519::scalar::clamp_integer]: - Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1597:0-1602:1 + Source: 'curve25519/solana-ed25519/src/scalar.rs', lines 1610:0-1615:1 Visibility: public -/ def scalar.clamp_integer (bytes : Array Std.U8 32#usize) : Result (Array Std.U8 32#usize) := do diff --git a/verification/gen/CurveField/FunsExternal_Template.lean b/verification/gen/CurveField/FunsExternal_Template.lean index 468f246..9b127da 100644 --- a/verification/gen/CurveField/FunsExternal_Template.lean +++ b/verification/gen/CurveField/FunsExternal_Template.lean @@ -276,14 +276,6 @@ axiom axiom backend.serial.scalar_mul.variable_base.mul : edwards.EdwardsPoint → scalar.Scalar → Result edwards.EdwardsPoint -/-- [curve25519::backend::serial::scalar_mul::vartime_double_base::mul]: - Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_double_base.rs', lines 23:0-72:1 - Visibility: public -/ -axiom backend.serial.scalar_mul.vartime_double_base.mul - : - scalar.Scalar → edwards.EdwardsPoint → scalar.Scalar → Result - edwards.EdwardsPoint - /-- [curve25519::backend::serial::scalar_mul::vartime_triple_base::mul_128_128_256_prechecked]: Source: 'curve25519/solana-ed25519/src/backend/serial/scalar_mul/vartime_triple_base.rs', lines 68:0-168:1 -/ axiom backend.serial.scalar_mul.vartime_triple_base.mul_128_128_256_prechecked diff --git a/verification/gen/CurveField/Types.lean b/verification/gen/CurveField/Types.lean index b6f61b8..c483d12 100644 --- a/verification/gen/CurveField/Types.lean +++ b/verification/gen/CurveField/Types.lean @@ -175,6 +175,11 @@ structure edwards.EdwardsPoint where structure scalar.Scalar where bytes : Array Std.U8 32#usize +/-- [curve25519::window::NafLookupTable5] + Source: 'curve25519/solana-ed25519/src/window.rs', lines 213:0-213:56 -/ +@[reducible] +def window.NafLookupTable5 (T : Type) := Array T 8#usize + /-- [curve25519::backend::BackendKind] Source: 'curve25519/solana-ed25519/src/backend.rs', lines 46:0-50:1 -/ @[discriminant isize]